Skip to content
Greeto

Performance · Glossary

Interaction to Next Paint (INP)

Last updated July 4, 2026 · by Tal Gerafi

Interaction to Next Paint (INP) measures how quickly a page visually responds after a click, tap, or keypress — across the whole visit. Good is 200 milliseconds or less. It replaced FID in March 2024.

Interaction to Next Paint (INP) is the Core Web Vitals metric for responsiveness: when a visitor clicks, taps, or presses a key, how long until the screen visibly reacts? It observes every interaction across the visit and reports close to the worst one. Good is 200 milliseconds or less; over 500ms is poor. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024 — and it's much harder to pass.

How is INP measured?

Each interaction is timed from the user's input to the next frame the browser paints in response — covering three phases: the input delay (the main thread was busy), the processing time (your event handlers running), and the presentation delay (rendering the update). The page's INP is roughly the worst interaction of the visit (for very interactive pages, a high percentile).

That "worst one counts" design is what makes INP strict. A page can respond instantly 49 times, then freeze for 600ms when someone opens the mobile menu while an analytics script parses — and that freeze is the score.

Why did INP replace FID, and why do sites fail it?

FID only measured the input delay of the first interaction — most sites passed it trivially, so it distinguished nothing. INP measures the full click-to-paint time for every interaction, which surfaces the jank users actually feel mid-visit.

The usual causes of failure:

  • Long JavaScript tasks hogging the main thread — heavy hydration, third-party tags, analytics bundles. The click queues behind them.
  • Doing expensive work inside the interaction — a click handler that filters a big list, mutates lots of DOM, or fires synchronous tracking before responding.
  • Animating the wrong properties on the response frame. Motion that triggers layout (animating width, top, margin) makes the browser do heavy work exactly when it should be painting feedback. This is the classic failure of animation-heavy marketing sites — the full breakdown is in motion performance metrics that actually matter and the fixes in motion without jank.

The pattern behind the fixes: respond first, work after. Paint feedback immediately, then defer the heavy lifting; keep animations on transform and opacity so they skip layout entirely.

FAQ

What is a good INP score?

200 milliseconds or less at the 75th percentile of visits is "good," 200–500ms "needs improvement," and over 500ms "poor." 200ms is roughly the limit where a response still feels instant — beyond it, users perceive lag and start double-clicking.

What's the difference between INP and FID?

FID measured only the waiting-in-line time (input delay) of the first interaction; INP measures the complete input-to-paint duration of effectively the worst interaction in the visit. A site could pass FID with a broken mobile menu; it can't pass INP with one. FID was retired as a Core Web Vital in March 2024.

Do animations hurt INP?

Only badly built ones. Animations that run on layout-triggering properties, or that share the main thread with the interaction response, directly inflate INP. Motion done right — compositor-friendly properties, work deferred off the interaction frame — has little to no INP cost, which is precisely the discipline behind our motion performance service.

Work with Greeto

Want this handled on your site?

Greeto Studio builds and improves B2B & SaaS marketing sites with a supervised AI system — every change reviewed by a human engineer. Tell us what you need and you'll get a straight answer from Tal, not a sales sequence.