INP distribution
How INP is distributed across real-user data, plus pass-rate breakdown.
At a glance the headline numbers for INP distribution
How INP is distributed across real-user data, plus pass-rate breakdown.
0.0% of sites pass INP. The typical site's INP is —. The worst 10% are above —.
INP Distribution the value at each percentile across all sites
Why this matters for the Core Web Vitals, and where to start fixing it
Interaction to Next Paint measures how quickly the page responds when someone taps, clicks or types. It is the interactivity metric, and it is the one most sites struggle with, because it is decided by JavaScript. When the main thread is busy parsing and running scripts, it cannot respond to the interaction, and the visitor waits. Third-party tags and heavy frameworks are the usual cause.
Start by finding what runs on the main thread and cutting it down. Remove the scripts you do not need, defer the ones you do, and break up the long tasks that block input. Yielding to the main thread between chunks of work lets the browser handle interactions in between, instead of making the user wait for a long task to finish.
Chrome field data from 189,915 sites, representing millions of real page loads. How we measured.
Live queries (1) — admin only
SELECT COUNT(*) AS count,
COUNT(*) FILTER (WHERE crux."all".inp <= 200) * 1.0 / COUNT(*) AS good,
COUNT(*) FILTER (WHERE crux."all".inp > 200 AND crux."all".inp <= 500) * 1.0 / COUNT(*) AS needs_improvement,
COUNT(*) FILTER (WHERE crux."all".inp > 500) * 1.0 / COUNT(*) AS poor,
quantile_disc(crux."all".inp, 0.10) AS p10,
quantile_disc(crux."all".inp, 0.25) AS p25,
quantile_disc(crux."all".inp, 0.50) AS p50,
quantile_disc(crux."all".inp, 0.75) AS p75,
quantile_disc(crux."all".inp, 0.90) AS p90,
quantile_disc(crux."all".inp, 0.99) AS p99
FROM sites WHERE 1=1 AND crux."all".inp IS NOT NULL;