The State of Web Vitals

INP Deep Dive

Q1 2026 | 55,913 sites
109ms
INP (p75)
94.7%
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 4,110 8,219 12,329 16,438
p50 = 87ms
p75 = 109ms
p90 = 152ms
p99 = 330ms
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: 43,351 sites

INP 87ms. p75 109ms. p99 330ms. 94.7% pass.

INP Pass Rates

INP
94.7%
0.4%
Good Needs Improvement Poor

INP passes on 94.7% of sites. 4.9% need improvement, 0.4% fail.

What Drives INP?

Iframes
83ms
0
83ms
0
88ms
2
101ms
5
116ms
>p98
116ms
>p98
3P domains
80ms
1
80ms
1
84ms
4
86ms
9–11
127ms
>p98
127ms
>p98
DOM size
83ms
3–6
83ms
3–6
89ms
32–73
79ms
173–405
130ms
>p98
130ms
>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-party91ms32% of sites
jQuery89ms18% of sites
WordPress90ms15% of sites
Inline scripts98ms5% of sites
assets.squarespace.com79ms1% of sites
Google Tag Manager90ms17% of sites
reCAPTCHA88ms5% of sites
Microsoft Clarity119ms1% of sites
Shop Pay112ms1% of sites
Next.js152ms1% of sites
First-party
32%
91ms
jQuery
18%
89ms
WordPress
15%
90ms
Inline scripts
5%
98ms
assets.squarespace.com
1%
79ms
Google Tag Manager
17%
90ms
reCAPTCHA
5%
88ms
Microsoft Clarity
1%
119ms
Shop Pay
1%
112ms
Next.js
1%
152ms

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

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
scheduler.yield()82ms5% of sites
none84ms68% of sites
requestIdleCallback()93ms27% of sites
isInputPending()97ms0% of sites
scheduler.yield()
5%
82ms
none
68%
84ms
requestIdleCallback()
27%
93ms
isInputPending()
0%
97ms

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: scheduler.yield() 82ms, none 84ms, requestIdleCallback() 93ms, isInputPending() 97ms.