Technical

Interaction to Next Paint (INP)

Also known as: INP, interaction to next paint

INP is a Core Web Vitals metric that measures the responsiveness of a page across its entire session. INP captures the longest delay between a user interaction (click, tap, key press) and the next paint that visually responds to it. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024. The threshold for 'Good' is ≤ 200ms; 'Needs Improvement' is 200–500ms; 'Poor' is > 500ms.

Why INP replaced FID

FID (First Input Delay) only measured the delay on the FIRST interaction on a page. INP measures the WORST interaction across the entire session — much more representative of actual user experience.

The replacement happened in March 2024. Sites that comfortably passed FID often fail INP because the metric captures interactions throughout the session, not just the first one.

What INP measures (precisely)

For each interaction, INP measures:

  1. Input delay — time from input event to JavaScript handler starting
  2. Processing time — time the handler takes to execute
  3. Presentation delay — time from handler completion to next paint

The reported INP is the longest of all interactions on the page (with statistical adjustment for outliers on long-running pages).

Why INP is hard

JavaScript-heavy sites (React SPAs, hybrid SSR/CSR) accumulate long-task work that triggers when users interact. Common patterns that hurt INP:

  • Heavy React rerenders triggered by click handlers
  • Third-party analytics / chat / A/B testing scripts firing on click
  • Synchronous expensive work in event handlers
  • Long animations that block paint

Optimization tactics

In rough order of impact:

  • Break up long tasks — anything over 50ms on the main thread is a flag. Use requestIdleCallback, setTimeout, or yielding patterns
  • Audit third-party scripts — analytics, A/B testing, chat widgets are common culprits
  • Move work off the main thread — Web Workers for heavy computation
  • Defer non-critical interactions — don’t process all click logic synchronously
  • Lazy-hydrate — hydrate React components incrementally rather than all at once
  • Avoid useLayoutEffect in click handlers — forces synchronous paint

INP in mobile vs desktop

INP threshold is the same (200ms) but mobile devices typically run 4-6× slower than desktop. Most INP failures occur on mid-range Android devices, not on developer MacBooks. Always test with throttled CPU simulation.

Measurement

  • CrUX data — 28-day rolling real-user INP; what Google ranking actually uses
  • Web Vitals JavaScript library — measures INP in real-user-monitoring (RUM) for your site
  • Chrome DevTools Performance panel — surfaces individual long interactions for debugging

Resocial perspective

INP is the Core Web Vital we see fail most often in 2026 audits. Sites that passed CWV under the FID regime frequently regress when re-evaluated against INP. Our Technical SEO service runs INP monitoring nightly and treats regressions as P1 tickets — a 200ms INP failure can cost the page its Core Web Vitals pass status.

Looking for hands-on help with this?

Free SEO audit

60+ dimensions, 48-hour turnaround.

Get a Free SEO Audit

Enterprise RFP

Tailored proposal in 5 business days.

Submit an Enterprise RFP