Checks
Interaction to Next Paint
Grades Interaction to Next Paint against Google's Core Web Vitals thresholds, passing at 200 milliseconds or faster and failing beyond 500 milliseconds, using field data only.
What this check looks for
For pages with measured field performance data, this check grades INP — the delay between a visitor's interaction (a click, tap, or keypress) and the next visual update reflecting it — against Google's thresholds: at or under 200ms passes, between 200 and 500ms warns, and beyond 500ms fails. This metric is field data only, meaning it requires real visitor interactions to measure; pages without that data report "na".
Why it matters
INP replaced First Input Delay as a Core Web Vital because it measures responsiveness across the entire page visit, not just the very first click — a page that feels snappy on first load but sluggish on every subsequent interaction (a filter dropdown, a form field, an "add to cart" button) still fails the experience visitors actually notice most. Slow interaction response is usually caused by long-running JavaScript tasks blocking the main thread exactly when a visitor tries to act, which is a frustrating, tangible kind of slowness rather than an abstract loading-time number. As a confirmed Core Web Vital, INP directly factors into how Google evaluates page experience for ranking.
How to fix it
Break up long JavaScript tasks and defer non-critical work so the main thread stays free to respond to input:
// Long synchronous task blocks input handling
function renderResults(items) {
items.forEach(renderRow); // thousands of rows, all at once
}// Fixed: yield to the main thread between chunks
async function renderResults(items) {
for (const chunk of chunkArray(items, 50)) {
chunk.forEach(renderRow);
await new Promise((r) => setTimeout(r, 0));
}
}Also defer non-critical third-party scripts (analytics, chat widgets) so they don't compete with user-triggered work for main-thread time.
See how your site scores on this check