INP, short for Interaction to Next Paint, is a Core Web Vital that measures page responsiveness: the time from a user interaction, such as a click, tap or key press, until the browser paints the next frame that reflects it. In web performance, INP summarizes the responsiveness of all interactions during a page visit into a single value, usually close to the slowest one.
INP replaced First Input Delay as the responsiveness metric among the Core Web Vitals in March 2024. Unlike its predecessor, it measures the full latency of every interaction, not only the delay before the first event handler starts.
How INP is measured
Each qualifying interaction is measured from the moment of input until the next frame is presented. That latency consists of three phases, and slowness in any of them increases the result.
| Phase | What happens | Typical cause of delay |
|---|---|---|
| Input delay | Time before event handlers can start | Main thread busy with other tasks |
| Processing duration | Event handlers run | Heavy JavaScript in handlers |
| Presentation delay | Browser calculates style, layout and paints | Large DOM, complex rendering work |
Only clicks, taps and keyboard input count as interactions. Scrolling and hovering are excluded. At the end of the visit, INP reports the longest interaction latency, except on pages with many interactions, where roughly one highest value per 50 interactions is ignored to reduce the effect of rare outliers.
INP thresholds and assessment
INP is assessed at the 75th percentile of page visits, separately for mobile and desktop. A page passes when at least three quarters of visits stay within the good threshold.
| Rating | INP value | Perceived experience |
|---|---|---|
| Good | 200 ms or less | Interface feels immediate |
| Needs improvement | Over 200 ms up to 500 ms | Noticeable lag on some actions |
| Poor | Over 500 ms | Page feels sluggish or frozen |
INP is primarily a field metric. It depends on real user devices, real interactions and real page state, so lab tools can only approximate it. In lab testing, Total Blocking Time serves as a useful proxy because long main-thread tasks are the most common cause of input delay.
INP compared with other performance metrics
INP is the only Core Web Vital focused on what happens after the page has loaded. Loading metrics describe the first impression, while INP describes how the page behaves during use.
| Metric | What it measures | Good threshold | Relation to INP |
|---|---|---|---|
| INP | Responsiveness of all interactions | 200 ms | Core Web Vital for interactivity |
| FID | Delay before the first input is handled | 100 ms | Retired predecessor, narrower scope |
| LCP | Render time of the largest content element | 2.5 s | Loading metric |
| CLS | Unexpected layout movement | 0.1 | Visual stability metric |
| TBT | Long-task time between FCP and interactivity | 200 ms in lab tests | Lab proxy for input delay |
Pages that passed FID often fail INP, because FID ignored processing time and rendering time and considered only the first interaction. INP exposes slow handlers that occur later in the session, such as filters, menus or add-to-cart buttons.
How to improve INP
Improving INP means keeping the main thread free and doing the minimum work needed before the next paint. Each phase of latency has its own set of remedies.
| Phase | Technique | Effect |
|---|---|---|
| Input delay | Break long tasks into smaller chunks | Handlers can start sooner |
| Input delay | Reduce and defer third-party scripts | Less competing main-thread work |
| Processing duration | Update the visible state first, defer the rest | User sees feedback before heavy work |
| Processing duration | Move computation to a web worker | Main thread stays responsive |
| Presentation delay | Reduce DOM size and layout complexity | Faster style and layout calculation |
| Presentation delay | Avoid forced synchronous layout | Prevents repeated layout work |
A key technique is yielding to the main thread. Code that splits work into smaller tasks, for example with the scheduler yield API where supported or with a resolved timeout as a fallback, lets the browser paint visual feedback between chunks. A widely used guideline is to keep tasks under 50 ms.
Common INP problems and misconceptions
INP problems are often hidden during development, because developers test on fast computers with little data. Real users on mid-range phones experience much longer tasks.
- Testing only on desktop: mobile processors can be several times slower, so INP must be checked on representative devices.
- Focusing only on page load: a fast LCP says nothing about the responsiveness of later interactions.
- Large framework re-renders: one state change that re-renders a whole page can exceed 200 ms by itself.
- Third-party tags in handlers: analytics or consent scripts that run synchronously on every click add delay.
- Assuming INP measures network time: a slow API response does not count if the page shows immediate visual feedback.
The last point is important for design. INP rewards immediate visual feedback, such as a pressed state or a loading indicator, followed by asynchronous work, rather than freezing the interface until all processing is complete.
Understanding it simply
INP measures how long a web page takes to react when you click, tap or type. If you press a button and nothing seems to happen for a moment, that pause is what INP captures.
A good page answers within a fifth of a second. Anything slower starts to feel laggy, much like a light switch that turns on the light only after a noticeable pause.
Applied in practice
An online fashion retailer sees in its field data that mobile INP for category pages is about 650 ms, a poor rating. Tracing shows that tapping a filter runs one long task that recalculates the whole product grid, updates analytics and re-renders every product card.
The team changes the handler to show the selected filter state immediately, then yields to the main thread before updating the grid. Analytics calls move out of the handler, and product cards below the visible area are rendered later.
After the release, the 75th-percentile mobile INP for category pages falls below 200 ms, and filter taps now give instant visual feedback even on mid-range phones.