INP Optimization: Measuring and Improving Interactivity
Interaction to Next Paint (INP) measures responsiveness to user interactions across the entire page visit. The threshold is ≤200ms. Less than 25 percent of websites keep task duration below the recommended 50ms threshold.
Key Takeaways
- ✓INP ≤200ms — replaced FID since March 2024
- ✓Fewer than 25% of websites keep task duration under 50ms
- ✓Only 53% of top 1,000 sites pass INP
- ✓Third-party scripts are the main culprit
- ✓Next.js 15 Server Components send zero client-side JS
- ✓Vercel reduced Total Blocking Time from 430ms to 80ms with Server Components
INP is the most demanding Core Web Vital for JavaScript-heavy websites — and Next.js 15 offers the best architectural solution.
The Problem
Input Delay at the 90th percentile dominates INP failures. Long main-thread tasks block event processing before handlers execute. Fewer than 25 percent of websites keep task duration under 50ms. Third-party scripts (analytics, chat widgets, A/B testing, tag managers) are the primary culprits.
Server Components as a Solution
Next.js 15 App Router with React Server Components offers a structural advantage: server-side rendered components send zero client-side JavaScript. Vercel demonstrated this impressively: nextjs.org reduced Total Blocking Time from 430ms to 80ms with selective hydration.
Practical Optimization
Break Up Long Tasks: Use `setTimeout`, `requestIdleCallback`, or `scheduler.yield()` to free up the main thread.Third-Party Scripts: Load only what is necessary, use defer/async, leverage Web Workers for heavy computations.Event Handlers: Avoid expensive DOM operations, use virtual scrolling for long lists.
Data & Statistics
Weniger als 25% der Websites halten Task-Dauer unter 50ms
Web Performance Analyse (2025)Unter den Top-1.000 Sites bestehen nur 53% INP
Web Almanac (2025)Vercel reduzierte Total Blocking Time von 430ms auf 80ms
Vercel (nextjs.org) (2025)“INP replaced FID because it measures the full latency of all interactions throughout the page lifecycle, not just the first one.”
— Rick Viscomi, Google Web Performance Engineer