Interaction to Next Paint (INP) measures the longest single-interaction latency a user experiences on a page, from input to the next visual update. It replaced FID as a Core Web Vital in March 2024.
INP captures the worst case rather than the average — Google reports the highest interaction delay (with a small allowance for outliers on long sessions) because users remember the worst delay, not the average. Good is under 200 ms, poor is over 500 ms.
High INP is almost always caused by long tasks on the main thread — heavy JavaScript that blocks event handlers from running. Fixes include code-splitting, deferring non-critical scripts, using `requestIdleCallback`, and breaking up long tasks with `await scheduler.yield()`.
INP is the new responsiveness benchmark. Sites built with large React/Vue bundles and many third-party scripts often fail INP even when LCP and CLS are green. It is the hardest Core Web Vital to fix because it requires touching application code, not just static assets.
See it in the product: Performance monitoring.