For the complete documentation index, see llms.txt. Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.
Technical Glossary

Interaction to Next Paint (INP)

The Core Web Vital that measures how quickly a page responds to clicks, taps and key presses, its thresholds, and the three delays it is made of.

Karl-Gustav KallasmaaKarl-Gustav Kallasmaa, Founder & CEOLast updated

Interaction to Next Paint is the Core Web Vital for responsiveness. It asks a narrow question — when someone clicks, taps or types, how long until the browser paints a frame showing something happened — and answers it with a single number for the whole visit.

The web.dev reference describes it as a stable Core Web Vital that assesses responsiveness using data from the Event Timing API, observing the latency of all interactions a user made with the page and reporting a value which all, or nearly all, of them were beneath.

The reason it exists rather than a load metric alone is stated in the same article: Chrome usage data shows 90% of a user's time on a page is spent after it loads. A site can render fast and then be miserable to use, and until INP nothing in the vitals set noticed.

The thresholds

Measured at the 75th percentile of field page loads, segmented across mobile and desktop:

Both halves of that sentence carry weight. It is the 75th percentile, so the typical visit passing is not enough — a quarter of visits worse than the threshold fails the page. And it is field data, meaning real visits on real devices, which is why a fast laptop in a developer's office is not a measurement.

What counts as an interaction

Only three input types are observed: a mouse click, a tap on a touchscreen, and a key press on a physical or onscreen keyboard. Hovering, zooming and scrolling are explicitly not observed, though a gesture containing a click or tap can still be measured.

An interaction is a group of event handlers firing during one logical gesture. A tap includes pointerdown, pointerup and click; a keystroke includes keydown, keypress and keyup. The event with the longest duration inside the group is what contributes to that interaction's latency. Interactions inside iframes count too, since a user has no idea what is in an iframe.

The final value is not simply the worst interaction. For most sites it is, but on pages with many interactions a random hiccup would otherwise define the score, so one highest interaction is ignored for every 50. The article notes that the vast majority of page experiences do not have over 50 interactions, so in practice the worst one is usually reported.

The three parts of a slow interaction

An interaction's latency decomposes into three spans, and knowing which one is large is the whole of diagnosis:

  • Input delay — the time from the user's input until any event handler for it starts running. This is where main-thread work already in progress shows up.
  • Processing duration — the time for all the event handler callbacks in that frame to execute.
  • Presentation delay — the time after the callbacks finish until the frame is actually painted on screen.

An input delay problem is usually long tasks blocking the main thread. A processing problem is the handler itself doing too much. A presentation problem is usually rendering work: expensive layout, heavy style recalculation, or a very large DOM.

Note what INP deliberately excludes. The article is explicit that the intent is not to measure all the eventual effects of an interaction, such as network fetches and asynchronous UI updates, but the time the next paint is blocked. Showing immediate feedback and finishing the work afterwards is a legitimate fix, not a trick.

Two reasons, both indirect.

The first is that responsiveness is part of page experience and sits alongside the rest of Core Web Vitals in how a page is assessed for humans arriving from any surface. Traffic that arrives from an AI answer converts on the same page as traffic from anywhere else.

The second is a caution against a common mix-up. INP is a human-interaction metric. An automated agent fetching your page does not click anything, so INP tells you nothing about whether a crawler can read you — that question is about server response time, rendering strategy and access, not about frame timing. Conflating the two leads to work on the wrong bottleneck, which is why it is worth keeping the definitions separate.

Frequently Asked Questions about Interaction to Next Paint (INP)

Responsiveness. web.dev describes INP as a stable Core Web Vital that observes the latency of all interactions a user has made with the page using data from the Event Timing API, and reports a single value which all, or nearly all, interactions were beneath.

Measured at the 75th percentile of field page loads and segmented by mobile and desktop: at or below 200 milliseconds is good, above 200 and at or below 500 milliseconds needs improvement, and above 500 milliseconds is poor.

Only three types: clicking with a mouse, tapping on a touchscreen, and pressing a key on a physical or onscreen keyboard. web.dev states that hovering, zooming and scrolling are not observed for the purposes of INP.

Usually, but not always. web.dev explains that for most sites the worst-latency interaction is reported, while for pages with many interactions one highest interaction is ignored for every 50, so a random hiccup does not define an otherwise responsive page.

Because most of the visit happens afterwards. web.dev cites Chrome usage data showing that 90% of a user's time on a page is spent after it loads.
Share this term

Track how your brand shows up in ChatGPT, Claude, and Google AI

Attensira monitors your visibility across AI search platforms so you know exactly when and how you're being recommended.