Performance · November 5, 2025
Web Performance in 2026
INP is the metric most teams are failing. Here's how to fix it and what else matters now.
Core Web Vitals changed again. INP (Interaction to Next Paint) is the new CLS — most sites fail it, few teams know why.
Why INP Is Hard
INP measures the worst interaction in a session, not the average. You can have excellent average responsiveness and still fail INP because of one janky dropdown.
The Fix: Main Thread Budget
Every frame has a 16ms budget (60fps). Long tasks > 50ms are INP killers. Break them up with scheduler.yield() or requestIdleCallback.
async function processLargeList(items: Item[]) {
for (const item of items) {
processItem(item);
if (items.indexOf(item) % 50 === 0) {
await scheduler.yield(); // yield to browser
}
}
}
AVIF Is the Standard Now
96%+ browser support. 40-50% smaller than WebP at same quality. There’s no reason to ship WebP-only anymore.