Quick answer
Interaction to Next Paint (INP) is a Core Web Vital that measures responsiveness: the time from a click, tap or key press until the browser paints the next frame, taken from close to the slowest interaction of the visit. Good is 200 milliseconds or less.
Formula: interaction latency = input delay + processing duration + presentation delay · INP ≈ the slowest interaction of the visit (one outlier ignored per 50 interactions)
What is Interaction to Next Paint?
Interaction to Next Paint (INP) measures how fast a page responds. For every click, tap and key press during a visit, it times how long it takes until the screen visibly changes. The page's INP is close to the slowest of those interactions (for busy pages, one outlier is ignored for every 50 interactions). It is one of the three Core Web Vitals and replaced First Input Delay in March 2024.
| Rating | INP |
|---|---|
| Good | 200 ms or less |
| Needs improvement | 200–500 ms |
| Poor | over 500 ms |
The three phases of an interaction
| Phase | What happens | Fix |
|---|---|---|
| Input delay | The main thread is busy with something else when the user clicks | Break up long tasks; defer third-party scripts |
| Processing duration | Your event handlers run | Do less in the handler; move non-urgent work after the next paint |
| Presentation delay | The browser recalculates layout and paints | Smaller DOM, fewer elements changing at once, avoid forced layouts |
A sample filter button
Sample data: on a product listing, tapping a filter takes 510 ms at P75: 40 ms input delay, 380 ms processing (the handler filters 2,000 items and rebuilds the whole list) and 90 ms presentation.
The fix targets processing: update the button state and show a loading indicator first, yield so the browser can paint, then filter and render only the first 40 results. New timing: 30 + 110 + 50 = 190 ms, now good. The user sees a response straight away even though the full work still happens.
Common mistakes
- Testing only on a fast laptop. INP problems show up on mid-range phones.
- Ignoring third-party scripts. Tag managers, chat widgets and ads often cause the input delay.
- Looking at averages. INP is about the worst interactions; read P75 by page.
INP in TapCub
TapCub collects Web Vitals from real visits with the site script (sent once, when the first page is hidden; turn off with data-vitals="false"). In Web analytics › Monitoring › Performance, cards switch between P75, median, P95 and average, the breakdown splits by page, device, browser, country and operating system, and Slowest pages is sorted by P75 largest contentful paint. Details are in the performance docs.
Related: LCP, CLS and website performance metrics.
See also
Was this explanation clear?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.

Technical Engineer
Focuses on tracking code, SDKs, and API integrations, with practical guidance on implementation checks and troubleshooting.