INP: definition, thresholds and replacement of FID

Updated on February 22, 2026
Quick definition
INP (Interaction to Next Paint) is the Core Web Vitals metric that measures a web page's overall responsiveness to user interactions throughout the entire session. INP is considered good if under 200 ms, needs improvement between 200 ms and 500 ms, and poor beyond 500 ms. It officially replaced FID in March 2024 as Google's responsiveness signal.
How it works
INP (Interaction to Next Paint) measures the latency of every user interaction with a page — clicks, taps, key presses — and keeps the worst latency observed during the entire session, with a tolerance to ignore a few outliers.
Unlike FID, which only captured the first interaction, INP gives a complete view of responsiveness throughout navigation. The official Google thresholds are:
- Good (green): under 200 ms
- Needs improvement (orange): between 200 ms and 500 ms
- Poor (red): beyond 500 ms
INP measures three distinct phases: input delay (time before the browser starts processing the event), processing time (duration of event handlers) and presentation delay (time before the next frame paints).
The main cause of poor INP is the execution of long JavaScript tasks on the main thread that block interaction processing.
Why it matters
INP is now the official responsiveness signal in Core Web Vitals since March 2024. A poor INP makes the interface feel slow or frozen, even if the page loaded quickly.
On JavaScript-heavy web applications (SPAs, dynamic e-commerce, SaaS tools), INP is often the hardest Core Web Vital to push into the green. A good INP correlates directly with better user retention and engagement rates.
How to improve or use it
- 1Break up long JavaScript tasks using `scheduler.yield()` or `setTimeout()` to free the main thread.
- 2Reduce initial JavaScript with code-splitting and lazy loading.
- 3Optimise event handlers to be lightweight and delegate heavy processing to web workers.
- 4Memoise components in React or Vue to avoid unnecessary re-renders (`React.memo`, `useMemo`).
- 5Profile your interactions with Chrome DevTools (Performance tab) to identify the slowest ones.
With Sublim
Sublim measures the loading and responsiveness performance of your pages under real-world conditions, directly alongside your user-engagement data. You easily identify pages with degraded INP and how this affects your conversions — all cookieless, with 100% European hosting, in full GDPR compliance.
Frequently asked questions
When did INP replace FID in the Core Web Vitals?
INP officially replaced FID (First Input Delay) as a Core Web Vitals metric in March 2024. Google had announced this transition in May 2023 to give teams time to prepare. Since then, INP appears in Google Search Console and is taken into account in ranking.
Why is INP better than FID?
FID only measured the delay before the first interaction and ignored actual processing time. INP measures the full latency (delay + processing + render) of every interaction in the session. This gives a much more faithful picture of a page's real responsiveness throughout its use, particularly for interactive web applications.
My React site has a poor INP, where do I start?
Start by identifying the slowest interactions with the Web Vitals Chrome extension or React DevTools profiler. Common causes in React are cascading re-renders, useEffect hooks too heavy for interactions, and lack of memoisation (React.memo, useMemo). Code splitting with React.lazy and Suspense can also reduce initial JavaScript load.
Related terms
Core Web Vitals are a set of three metrics defined by Google to object…
LCP (Largest Contentful Paint) is a [Core Web Vitals](core-web-vitals)…
CLS (Cumulative Layout Shift) is a [Core Web Vitals](core-web-vitals) …
FID (First Input Delay) was a [Core Web Vitals](core-web-vitals) metri…