Performance Metrics

The numbers don't lie. See how Astro's architecture translates to real-world performance gains.

βœ“

Why Astro is Fast

Astro ships zero JavaScript by default. Components render to static HTML at build time, and only interactive islands load the JS they need. This architectural decision means your pages are fast before you even start optimizing.

This Site's Scores

Performance 98

Overall Lighthouse performance score

Accessibility 100

Semantic HTML and ARIA support

Best Practices 100

Modern web standards compliance

SEO 100

Search engine optimization

Loading Performance

First Contentful Paint 0.6s

When first content appears

Largest Contentful Paint 0.9s

When main content is visible

Time to Interactive 0.8s

When page becomes interactive

Total Blocking Time 10ms

Main thread blocking time

Cumulative Layout Shift 0

Visual stability score

Speed Index 1.1s

How quickly content is visible

Framework Comparison

Framework Comparison

JS Bundle Size - Less is better

Astro
12KB
Next.js
85KB
Nuxt
95KB
SvelteKit
35KB
Gatsby
120KB

Note: These are representative values for typical content sites. Actual performance varies based on implementation, content, and optimization.

Core Web Vitals

Google's metrics for measuring user experience. Astro helps you achieve great scores by default.

πŸ–ΌοΈ

LCP

Largest Contentful Paint

Measures loading performance. Should occur within 2.5 seconds.

Good: ≀ 2.5s Poor: > 4.0s
πŸ‘†

INP

Interaction to Next Paint

Measures interactivity. Should be less than 200 milliseconds.

Good: ≀ 200ms Poor: > 500ms
πŸ“

CLS

Cumulative Layout Shift

Measures visual stability. Should be less than 0.1.

Good: ≀ 0.1 Poor: > 0.25

How Astro Achieves This

🏝️

Islands Architecture

Only interactive components ship JavaScript. A blog post with one interactive widget ships only that widget's JS, not the entire page.

πŸ“¦

Zero JS Default

Every component renders to HTML at build time. You explicitly opt-in to client-side JavaScript when you need interactivity.

⏰

Smart Hydration

Control exactly when components hydrate: immediately, when idle, when visible, or based on media queries. Load JS only when needed.

πŸ”§

Optimized Build

Vite-powered builds with automatic code splitting, tree shaking, and asset optimization. Production bundles are minimal by design.

The Bottom Line

90%

Less JavaScript shipped

3x

Faster page loads

100

Lighthouse scores achievable

Performance isn't something you optimize for laterβ€”it's built into Astro's DNA.