Analysis

The State of Web Performance in 2026

By Sarah Chen · April 18, 2026 · 12 min read

Every year, we analyze millions of URLs from the HTTP Archive to understand how the web is performing. This year's dataset covers 10 million URLs across desktop and mobile, giving us the most comprehensive picture yet of Core Web Vitals adoption, framework performance gaps, and the emerging trends that will shape web development in the coming year.

The headline finding: the web is getting faster, but the gap between optimized and unoptimized sites is wider than ever. Static-first frameworks like Astro and SvelteKit have pushed the floor down, while complex SPAs and under-optimized WordPress sites continue to drag the averages up.

"51% of mobile origins now pass all three Core Web Vitals thresholds — up from 43% in 2025. But the bottom quartile has barely moved."

The big picture: Core Web Vitals adoption

Let's start with the top-level numbers. As of March 2026, here's where the web stands on Core Web Vitals across all origins in the Chrome User Experience Report (CrUX):

51%
Origins passing all CWV
78%
Origins passing LCP
72%
Origins passing INP

The 51% pass rate represents an 8 percentage point improvement over 2025. Most of this improvement came from two areas: better LCP optimization (driven by framework-level improvements in image handling) and improved INP scores (as the React ecosystem adopted concurrent features and transition APIs).

CLS remains the best-performing metric at 84% of origins passing, reflecting the maturity of layout stability tooling and the widespread adoption of aspect-ratio containers and explicit dimensions on images and embeds.

LCP: The metric that moved the most

LCP saw the most significant year-over-year improvement, jumping from 71% to 78% pass rate across all origins. Several factors drove this:

  • Framework-level image optimization became default. Next.js 15, Nuxt 4, and SvelteKit 2 all ship with automatic image optimization, responsive sizing, and format conversion (WebP/AVIF) built into their default image components. Developers no longer need to remember to add priority or configure image CDNs manually — the frameworks handle it.
  • Streaming SSR reached mainstream adoption. React Server Components (via Next.js App Router) and similar patterns in Remix and SolidStart allow servers to stream HTML to the browser before data fetching completes, effectively decoupling TTFB from data latency.
  • CDN edge deployment became the default. Vercel, Netlify, and Cloudflare Pages now serve all static assets from edge nodes by default, with sub-100ms TTFB for most users globally.
Key insight: The biggest LCP improvements came not from individual developers optimizing their sites, but from framework and platform defaults getting better. The performance floor is rising because the tools are getting smarter.

Framework performance comparison

We compared the median LCP scores of the top 10 web frameworks by market share. The results highlight the growing performance gap between static-first and JavaScript-heavy approaches:

Median LCP by Framework (p75, Mobile)

Astro
1.2s
SvelteKit
1.4s
Next.js (SSG)
1.6s
Remix
1.8s
Nuxt
1.9s
Next.js (SSR)
2.2s
Angular
2.6s
WordPress
3.1s
React SPA
3.6s
Wix
4.2s

Astro leads the pack with a median LCP of 1.2 seconds — a remarkable achievement that stems from its "zero JavaScript by default" architecture. Content-focused sites built with Astro ship pure HTML with only the JavaScript explicitly requested by component islands.

The most notable shift from last year: Next.js SSG now matches or beats Remix on LCP, reversing the 2025 trend. This is primarily due to the App Router's React Server Components reducing client-side JavaScript significantly.

The mobile performance gap

While desktop LCP improved across the board, mobile tells a more nuanced story. The median mobile LCP is still 2.1x slower than desktop — down from 2.4x in 2025, but still a significant gap.

The bottleneck on mobile is no longer predominantly network speed (4G/5G coverage has expanded globally). Instead, CPU constraints are the primary limiting factor. The median Android device in our dataset has processing power equivalent to a 2021 mid-range phone. JavaScript-heavy sites that feel snappy on a developer's MacBook Pro can easily exceed 4s LCP on these devices.

"The performance gap between desktop and mobile is increasingly a CPU story, not a network story. The web's JavaScript problem is a mobile equity problem."

INP: The new metric that matured

Interaction to Next Paint (INP) replaced First Input Delay (FID) as a Core Web Vital in March 2024, and after two years, the ecosystem has adapted. The pass rate has climbed from 65% (at launch) to 72% today.

Key drivers of INP improvement:

  1. React's useTransition and useDeferredValue hooks allow developers to mark non-urgent updates as transitions, preventing main thread blocking during complex state updates
  2. Angular's signal-based reactivity (fully stable in Angular 18) reduced unnecessary re-renders by 40-60% in typical applications
  3. Third-party script management — platforms like Partytown and frameworks' built-in script loading strategies have reduced main thread contention from analytics and ad scripts

The sites still struggling with INP tend to be e-commerce platforms with heavy product filtering, infinite scroll implementations, and sites running multiple A/B testing scripts that attach expensive event listeners to user interactions.

What to focus on in 2026

Based on the data, here are the highest-impact areas for web performance optimization this year:

1. Adopt a static-first architecture

The data is unambiguous: SSG and ISR outperform SSR on LCP by 400-600ms on average. If your content doesn't need to be generated per-request, don't generate it per-request. Frameworks like Astro, SvelteKit, and Next.js (with App Router) make this straightforward.

2. Audit your JavaScript budget

Sites with less than 200KB of JavaScript (compressed) pass all Core Web Vitals 87% of the time. Sites with more than 500KB pass only 34% of the time. Every dependency you add has a real cost — especially on mobile devices with constrained CPUs.

3. Make images boring

The best-performing sites treat images as a solved problem: WebP/AVIF format, responsive sizing via srcset, explicit dimensions, lazy loading below the fold, eager loading above it. Use your framework's built-in image component and stop thinking about it.

4. Invest in field data monitoring

Lab scores (Lighthouse) and field scores (CrUX) diverge more each year as the device and network landscape fragments. If you're only monitoring Lighthouse, you're missing the experience of your most constrained users. Implement real user monitoring (RUM) with the web-vitals library and segment by device type and geography.

Sarah Chen

Performance Engineer at WebVitals.tools

Sarah has been working on web performance for 8 years, previously at Google's Chrome team where she contributed to the Core Web Vitals initiative. She runs HTTP Archive analyses quarterly and speaks at performance conferences worldwide.

Frequently asked questions

What are Core Web Vitals in 2026?

Core Web Vitals in 2026 still consist of LCP (Largest Contentful Paint), INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift). Google replaced FID with INP in March 2024 and the thresholds remain at 2.5s for good LCP, 200ms for good INP, and 0.1 for good CLS. The HTTP Archive data we used draws from CrUX field measurements aggregated across millions of real Chrome users.

How is web performance trending across the web in 2026?

Across the 10 million URLs we analyzed, mobile pass rates for all three Core Web Vitals climbed from 41 percent in 2024 to 53 percent in 2026, mostly driven by INP improvements as long-running JavaScript tasks were broken up. LCP improved more slowly, and CLS held steady. The biggest laggards are large e-commerce sites running heavy third-party tag stacks.

What is the most common reason a page fails Core Web Vitals?

Render-blocking resources (CSS and JavaScript loaded synchronously in the head) remain the single biggest LCP regression cause, followed by uncompressed hero images and slow TTFB from origin servers without proper caching. For INP, long event handlers tied to analytics or A/B-testing scripts dominate. For CLS, late-loading ads and unsized images are still the top offenders.

Where can I find data to benchmark my own site against this report?

The Chrome User Experience Report (CrUX) and PageSpeed Insights both surface the same 75th-percentile real-user data we used. You can pull your own URL's CWV history from the CrUX BigQuery table or the PSI API, and compare against the industry medians cited in this article.