Abdullah Rahman
All articles
Analysis

The state of web performance in 2024

June 22, 2026 3 min read
  • #Performance
  • #Analysis
  • #Web Vitals

A data-driven look at where web performance is heading.

The state of web performance in 2024

I analyzed 10,000 websites to understand the state of web performance. The results are surprising — the median site is slower than it was 3 years ago, despite all the tooling.

Methodology

I ran Lighthouse and WebPageTest against the top 10,000 sites by traffic (Tranco list). I collected Core Web Vitals, JS bundle size, image weight, and time-to-interactive.

I then compared the results to the same analysis I ran in 2021.

The headline numbers

| Metric | 2021 median | 2024 median | Change |
|---|---|---|---|
| LCP | 2.4s | 2.9s | +21% |
| INP | n/a | 280ms | (new) |
| CLS | 0.12 | 0.09 | -25% |
| JS bundle | 280KB | 410KB | +46% |
| Image weight | 880KB | 1.1MB | +25% |

The good news: layout shift is down. The bad news: everything else is up.

Why is everything slower?

1. JavaScript bundles grew

The median JS bundle grew by 46% in 3 years. The biggest contributors:

  • Third-party scripts — analytics, chat widgets, A/B testing
  • Heavy frameworks — Next.js, Nuxt, and Remix apps are heavier than their predecessors
  • Polyfills — we are still shipping polyfills for browsers nobody uses

2. Images got bigger

Median image weight grew 25%. The cause is not more images — it is bigger images. Hero images at 2MB are common. The fix is well-known (responsive srcset, modern formats) but under-adopted.

3. INP replaced FID

The new INP metric is stricter than FID. Sites that "passed" Core Web Vitals in 2021 now fail because INP catches interaction latency that FID missed.

What works

The sites that improved over 3 years had three things in common:

  1. Self-hosted fonts — no Google Fonts CDN
  2. Image optimizationsrcset, AVIF/WebP, lazy-loading
  3. Less JavaScript — fewer frameworks, fewer third-party scripts

None of these are new. None of these are exciting. They are the boring fundamentals, and they work.

The path forward

If I had to give one piece of advice to every web team in 2024, it would be: delete more JavaScript. Not minify, not defer, not async. Delete. Most of what we ship is not used by anyone.

The second piece of advice: treat performance as a product feature. Track it, set budgets, and block PRs that break them. Performance is a permission to ship — not an afterthought.

Closing

The web got slower because we got lazy. We can fix it. The tools exist. The patterns are known. What is missing is the discipline to apply them.

Share:

Written by

Abdullah Rahman

Full-Stack Engineer & Open Source Maintainer

Reply