INP (Interaction to Next Paint) records the delay between a user's click, tap or key press and the next frame the browser paints in response. Page-wide, it reports roughly the slowest interaction seen during the visit (with outliers ignored on very busy pages).
Why it matters
INP replaced FID as a Core Web Vital in March 2024. Unlike FID, which looked only at the first input's delay, INP covers every interaction and includes processing time and rendering time. Google's "good" threshold is 200 ms or less at the 75th percentile.
An interaction has three parts: input delay (the main thread is busy), processing time (your event handlers) and presentation delay (layout and paint).
Example
A filter button runs a 400 ms synchronous loop over 5,000 items before updating the list. INP for that tap is about 400 ms plus rendering. Yielding to the browser lets it paint sooner:
button.onclick = async () => {
showSpinner();
await new Promise(r => setTimeout(r, 0)); // yield, let it paint
applyFilter();
};
Common mistakes
- Testing only page load; INP needs real interactions.
- Heavy third-party scripts occupying the main thread.
- Blaming network speed. INP is mostly a CPU problem.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
यह पेज सामान्य जानकारी है, जिसे हमारी संपादकीय टीम ने लिखा है और दस्तावेज़ीकरण बदलने पर अपडेट किया जाता है। सर्वर और प्रदाता अलग-अलग होते हैं, इसलिए बदलाव पहले सुरक्षित तरीके से जाँचें। देखें: संपादकीय नीति और अस्वीकरण.