The State of Web Vitals

INP Deep Dive

Q1 2026 | Phone | 55,913 sites
128ms
INP (p75)
91.8%
Passing INP
LoAF blocking (p75)

Interaction to Next Paint: main-thread blocking time, long animation frames, yielding strategies, and third-party impact on interactivity.

INP Distribution

0 2,736 5,472 8,208 10,944
p50 = 99ms
p75 = 128ms
p90 = 183ms
p99 = 385ms
0–25 25–50 50–75 75–100 100–125 125–150 150–175 175–200 200–225 225–250 250–275 275–300 300–325 325–350 350–375 375–400 400+
Good (≤200ms) Needs improvement Poor (>500ms) Percentile markers Total: 28,392 sites

INP 99ms. p75 128ms. p99 385ms. 91.8% pass.

INP Pass Rates

INP
91.8%
7.6%
0.6%
Good Needs Improvement Poor

INP passes on 91.8% of sites. 7.6% need improvement, 0.6% fail.

What Drives INP?

Iframes
95ms
0
95ms
0
102ms
2
120ms
5
131ms
>p98
131ms
>p98
3P domains
90ms
1
90ms
1
93ms
4
97ms
9–11
145ms
>p98
145ms
>p98
DOM size
102ms
3–6
102ms
3–6
119ms
32–73
87ms
173–405
152ms
>p98
152ms
>p98
50ms 100ms 150ms 200ms 250ms

Each row shows how the median INP shifts as a page metric increases. Dots represent bucket medians — wider spread means stronger influence on INP.

Blocking Time Distribution

0ms 63ms 125ms 188ms 250ms
200ms
0 15878 31756
0 1 2 3 4 5 6 7–8 >p98
Good (≤200ms) Needs improvement Poor (>500ms) Site count
0ms 63ms 125ms 188ms 250ms
200ms
0 5948 11896
0 1 2 3 4 5 6–8 9–11 12–15 16–21 22–29 >p98
Good (≤200ms) Needs improvement Poor (>500ms) Site count
0ms 63ms 125ms 188ms 250ms
200ms
0 10988 21975
1–2 3–6 7–13 14–31 32–73 74–172 173–405 406–954 955–2248 2249–5299 >p98
Good (≤200ms) Needs improvement Poor (>500ms) Site count

How median INP shifts as each page metric increases. Use the dropdown to explore different factors.

Top blocking scripts

Median INP
0
50ms
100ms
150ms
200ms
250ms
300ms
First-party104ms32% of sites
jQuery101ms18% of sites
WordPress102ms15% of sites
Inline scripts115ms5% of sites
assets.squarespace.com86ms1% of sites
Google Tag Manager106ms17% of sites
reCAPTCHA104ms5% of sites
Microsoft Clarity139ms1% of sites
Shop Pay124ms1% of sites
Next.js166ms1% of sites
First-party
32%
104ms
jQuery
18%
101ms
WordPress
15%
102ms
Inline scripts
5%
115ms
assets.squarespace.com
1%
86ms
Google Tag Manager
17%
106ms
reCAPTCHA
5%
104ms
Microsoft Clarity
1%
139ms
Shop Pay
1%
124ms
Next.js
1%
166ms

First-party appears in long animation frames on 32% of sites, median INP 104ms.

Blocking by script category

Blocking time by category
33%
22%
17.9%
13.9%
6.6%
First-party (33%) Framework (22%) CMS (17.9%) Other third-party (13.9%) Tag managers (3.1%) Bot detection (1.8%) Session recording (1.7%) Other (6.6%)

LoAF blocking time attributed by script category.

Yielding API adoption

Median INP
0
100ms
200ms
300ms
400ms
500ms
none95ms68% of sites
scheduler.yield()96ms5% of sites
requestIdleCallback()110ms27% of sites
isInputPending()117ms0% of sites
none
68%
95ms
scheduler.yield()
5%
96ms
requestIdleCallback()
27%
110ms
isInputPending()
0%
117ms

Yielding API adoption is none on 67.9% of sites (37,937 of 55,877), requestIdleCallback() on 27.3%, scheduler.yield() on 4.8%.

Ranked fastest first: none 95ms, scheduler.yield() 96ms, requestIdleCallback() 110ms, isInputPending() 117ms.