Web Performance in 2026
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.