Interaction to Next Paint (INP), explained properly.
What INP actually measures
INP measures responsiveness: when someone taps a button, opens a menu or types into a field, how long until the page visibly reacts. Rather than timing only the first interaction, as the older First Input Delay did, INP looks across every interaction in a visit and reports a figure near the worst, so a page that feels snappy at first but janky later is not flattered. It is measured on real Chrome users, so it reflects genuine devices, including the mid-range phones where responsiveness problems bite hardest.
Why INP matters
A page can appear quickly and still feel broken if it does not respond when touched, and INP is the metric that captures that frustration. It became a Core Web Vital in March 2024, replacing First Input Delay, and is a ranking signal. Poor INP is almost always caused by heavy or badly-timed JavaScript blocking the main thread, so the browser cannot respond to the user until the script finishes. That is a real engineering problem with a real cause, not a score to chase cosmetically.
How INP is improved
Improving INP means freeing the main thread so the browser can respond. The usual work is breaking up long JavaScript tasks, deferring or removing scripts that are not needed for the interaction, reducing the amount of code that runs on each interaction, and being disciplined about third-party tags that quietly block the thread. As with the other vitals, the fix is diagnosed per page from field data rather than assumed, so effort addresses the actual cause rather than a symptom.
Interaction to Next Paint (INP): common questions.
What is a good INP score?
200 milliseconds or less is good, 200 to 500 needs improvement, and over 500 is poor, measured on real-user field data across all interactions in a visit.
How is INP different from First Input Delay?
First Input Delay only measured the first interaction and only the input delay. INP measures every interaction across the visit and the full delay to the next paint, so it is a truer picture of responsiveness. INP replaced FID in March 2024.
What causes poor INP?
Almost always heavy or poorly-timed JavaScript blocking the main thread, so the browser cannot respond to a tap or click until the script finishes. We address the scripts rather than the symptom.