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 measures responsiveness across all interactions of a visit; good is <= 200 ms at the 75th percentile. It replaced FID in March 2024.
- ✓Field data (CrUX, PageSpeed, web-vitals, RUM) is authoritative. Lab data serves only for debugging, with Total Blocking Time as a proxy.
- ✓The overloaded main thread is the primary cause. Mobile sites have 2,366 ms in Long Tasks and 1,208 ms TBT, roughly 18 times higher than on desktop.
- ✓On mobile, only 74% of websites maintain good INP versus 97% on desktop. Mobile requires its own, stricter JavaScript budget.
- ✓Break up long tasks (scheduler.yield, postTask, setTimeout, isInputPending), remove unused JS (44% of delivered bytes on mobile), and throttle event handlers.
- ✓Next.js Server Components, streaming, and selective hydration reduce hydration costs. Economic Times improved from ~1,000 ms to 257 ms INP this way.
- ✓Consent and tracking scripts often block the first interaction. Delayed, consent-based, or offloaded loading protects INP in a GDPR-compliant manner.
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
INP ist seit 12. Maerz 2024 ein stabiler Core Web Vital und ersetzt First Input Delay; Schwellenwert 200 ms am 75. Perzentil
web.dev (Google Chrome Team) - 'Interaction to Next Paint is officially a Core Web Vital' (2024)INP < 200 ms, LCP < 2,5 s, CLS < 0,1 als gute Schwellenwerte; Core Web Vitals sind mit Googles Core-Ranking-Systemen abgestimmt
Google Search Central - 'Understanding Core Web Vitals and Google search results' (2025)74 % der mobilen vs. 97 % der Desktop-Websites mit gutem INP (<= 200 ms) im Jahr 2024
HTTP Archive - Web Almanac 2024, Performance-Kapitel (2024)Mediane Total Blocking Time: mobil 1.208 ms vs. Desktop 67 ms (ca. 18x hoeher)
HTTP Archive - Web Almanac 2024, JavaScript-Kapitel (2024)Mediane Zeit in Long Tasks: 2.366 ms mobil vs. 329 ms Desktop; 14 vs. 3 Long Tasks im Median
HTTP Archive - Web Almanac 2024, JavaScript-Kapitel (2024)558 KB mediane JS-Auslieferung mobil; ca. 206 KB davon ungenutzt (44 % der ausgelieferten Bytes)
HTTP Archive - Web Almanac 2024, JavaScript-Kapitel (2024)INP der Suchseite um 72 % verbessert, +7 % Umsatz durch Debouncing und lokales State-Management
web.dev (Google) - Case study 'How redBus improved their website's INP' (2024)TBT 3.260 ms -> 120 ms; INP ~1.000 ms -> 257 ms; -50 % Absprungrate; +43 % Seitenaufrufe; Migration zu Next.js
web.dev (Google) - Case study 'Economic Times quest for fixing INP' (2023)Durchgaengig negative Korrelation zwischen INP und Conversion-Rate ueber vier E-Commerce-Sites; Effekt teils schon bei INP = 100 ms
SpeedCurve - 'Does Interaction to Next Paint actually correlate to user behavior?' (Cliff Crocker) (2023)Oesterreich: 57,6 % Desktop vs. 42,4 % Mobil (Mai 2026)
StatCounter Global Stats - Desktop vs Mobile Market Share Austria (2026)Oesterreich: 8,69 Mio. Internetnutzer (95,3 % Penetration, Oktober 2025); 99,5 % der Mobilfunkverbindungen Breitband (3G/4G/5G)
DataReportal - Digital 2026: Austria (2026)Mobil: INP 64,9 % gut, CLS 76,9 % gut, LCP 54,9 % gut (gute Erfahrung in mind. 75 % der Faelle)
DebugBear - 'Core Web Vitals: Which Metric Is The Hardest To Pass?' (2025)FAQ
What is a good INP value?
How does INP differ from First Input Delay (FID)?
How do I measure INP correctly?
Why is my INP worse on mobile devices than on desktop?
How does Next.js improve INP?
What role do consent banners and tracking scripts play for INP?
Does INP affect Google ranking?
Related Articles
How does your website perform?
Get a free, AI-powered SEO report of your website by email: technical SEO, on-page, keywords & competitors. No obligation.
Get a free SEO audit →