Technical SEO
Intermediate
9 min read

Interaction to Next Paint (INP): The 2026 Core Web Vital

Interaction to Next Paint became a Core Web Vital on 12 March 2024, replacing First Input Delay (FID). For most sites this changed nothing about LCP and CLS performance — but for many, it surfaced an INP problem that FID had hidden for years. FID measured only the delay before the browser could begin processing the first interaction. INP measures the full latency, across every interaction in a session, between the input and the next visual update on screen. This guide covers what INP is, why it matters now, the 200ms threshold, and the most common technical causes (and fixes) we see in production audits.

Last reviewed April 19, 2026|By Toronto SEO Editorial
TL;DR

Interaction to Next Paint (INP) replaced First Input Delay as a Core Web Vital in March 2024 and is now one of three CWV ranking signals alongside LCP and CLS. INP measures the latency between every user interaction (click, tap, key press) and the next visual update — not just the first one. The Google threshold is 200ms or under for 'good'. Sites that pass FID often fail INP, because INP catches sluggish interactions throughout a session, not just the first.

Interaction to Next Paint became a Core Web Vital on 12 March 2024, replacing First Input Delay (FID). For most sites this changed nothing about LCP and CLS performance — but for many, it surfaced an INP problem that FID had hidden for years. FID measured only the delay before the browser could begin processing the first interaction. INP measures the full latency, across every interaction in a session, between the input and the next visual update on screen. This guide covers what INP is, why it matters now, the 200ms threshold, and the most common technical causes (and fixes) we see in production audits.

What INP measures

INP measures the longest interaction latency observed during a user's visit (technically: the 98th percentile of all interactions, with a few exclusions). An interaction includes mouse clicks, taps on touchscreens, and keyboard key presses. Hover, scroll, and continuous gestures are excluded.

The metric captures three sub-phases: input delay (time from input to event handler start), processing time (time spent running event handlers), and presentation delay (time from handler completion to the next frame painted). All three contribute, and any one of them can blow the budget.

The 200ms threshold and what passes

Google's published thresholds are: under 200ms = good, 200–500ms = needs improvement, over 500ms = poor. To pass Core Web Vitals on INP, the 75th percentile of page loads (across the trailing 28 days, in CrUX field data) must be at or under 200ms.

In real-world CrUX data from 2025, roughly 65% of mobile origins pass INP — substantially worse than LCP (around 75% pass) and CLS (around 80% pass). INP is now the most common CWV failure for content sites and the dominant CWV failure for JavaScript-heavy SaaS, ecommerce, and SPA applications.

Why FID hid INP problems

FID measured only the first interaction. A site that loaded fast and accepted the first click quickly could pass FID even if every subsequent interaction was sluggish. INP closes that loophole: a user clicking through five filters on an ecommerce category page, where each click takes 400ms to respond, will report a poor INP even though the first interaction was fast.

This is why many sites that previously passed FID with comfortable margins now fail INP. The underlying performance was always poor; FID just wasn't measuring it.

The five most common INP problems we see in audits

In INP audits across roughly 80 production sites, the same five root causes account for the vast majority of poor scores. None of them are exotic — and none of them require a full rewrite to fix.

  • Long-running JavaScript on the main thread: heavy event handlers, synchronous analytics calls, expensive React re-renders. Fix by breaking work into smaller tasks with scheduler.yield(), web workers, or requestIdleCallback().
  • Third-party tag bloat: chat widgets, analytics, A/B test scripts, consent managers. Each adds main-thread work. Audit, defer non-critical tags, and use a tag manager to control execution order.
  • Unoptimised React/Vue/Svelte component trees: re-rendering large component trees on every state change. Use memoisation, virtualised lists, and concurrent rendering (React 18+).
  • DOM mutation storms: animations or state changes that force layout recalculation across hundreds of nodes. Batch DOM updates, use CSS transforms instead of layout-affecting properties, and avoid reading layout values during writes.
  • Hydration cost on SSR/SSG sites: large JavaScript bundles re-attaching event listeners on hydration block the main thread for hundreds of milliseconds. Use selective hydration, islands architecture (Astro, Qwik), or partial hydration patterns.

How to measure INP correctly

Lab tools (Lighthouse, PageSpeed Insights' lab section) cannot measure INP because INP requires real user interactions. Lighthouse reports a Total Blocking Time (TBT) approximation, which is loosely correlated with INP but not the same metric.

The only reliable INP measurement comes from field data: Chrome User Experience Report (CrUX) for population-level data, or a Real User Monitoring (RUM) tool (web-vitals.js, SpeedCurve, Calibre, Vercel Speed Insights) for your own visitors. PageSpeed Insights surfaces CrUX field data — that's the score that affects rankings, not the lab score.

INP and rankings: how much does it actually matter?

Core Web Vitals are a confirmed Google ranking signal but a small one — Google has described it as a 'tiebreaker' between pages of similar relevance. In our before/after measurements on sites that fixed serious INP problems, organic traffic lift averaged 4–12% over 60–90 days, concentrated on competitive head terms where ranking competition is tight.

The bigger impact is usually on conversion, not rankings. Sluggish interactions correlate strongly with bounce rate and form-abandonment in the data we've reviewed. Fixing INP often produces conversion lift that exceeds the SEO lift by a wide margin — which is the more compelling business case.

Key takeaways

INP replaced FID as a Core Web Vital in March 2024 and is now the most-failed CWV for JavaScript-heavy sites.
The threshold is 200ms (75th percentile of interactions, measured by CrUX over 28 days).
INP captures every interaction in a session, not just the first — which is why many sites that passed FID now fail INP.
The five most common causes are long JavaScript tasks, third-party tag bloat, expensive component re-renders, DOM mutation storms, and hydration cost.
Measure INP from field data (CrUX or RUM), not lab data. Lighthouse cannot measure INP directly.

Frequently asked

Ready to apply this to your site?

Toronto SEO works with ambitious businesses across the GTA on the exact playbooks taught in this hub. Get a free, senior-led audit of where your SEO program stands today.