Decision guide
Astro vs Next.js
Both are excellent. They're built for different jobs. Here's the short version of how we choose, from a studio that ships both. Want the long version with code? Read the full essay.
The decision matrix
| Criterion | Astro | Next.js |
|---|---|---|
| Rendering model | Static-first, server islands, opt-in SSR | SSR / ISR / static, React Server Components |
| JavaScript by default | Zero — ships HTML; hydrate islands as needed | A React runtime on every page |
| Best fit | Marketing & content sites, docs, blogs, landing pages | App-heavy products, dashboards, lots of server logic |
| Core Web Vitals | Excellent by default (little JS to block) | Good, but you manage the JS budget yourself |
| Interactivity ceiling | High — drop in React/Svelte/Vue islands | Highest — it's a full app framework |
| Server routes / APIs | Yes (endpoints + adapters) when needed | First-class (route handlers, server actions) |
| React ecosystem | Use React where it earns its place | Native — the whole ecosystem, all the time |
| Our default for a marketing site | Yes | Only when it's really an app |
When to choose each
Choose Astro when
- It's a marketing site, content platform, blog, or docs.
- Core Web Vitals and SEO decide the outcome.
- The page is mostly content with islands of interactivity.
- You want the smallest possible JavaScript footprint.
Choose Next.js when
- It's genuinely an application — dashboards, portals, tools.
- There's significant server logic, auth, and dynamic state.
- You're all-in on the React ecosystem across the product.
- Server actions / route handlers are core to the design.
Our verdict
We default to Astro for marketing sites and content platforms — the performance is free and the maintenance surface is smaller. We reach for Next.js when the project is really a web application with heavy server logic and authenticated, dynamic state. The mistake we see most often is using a full app framework to ship a brochure site, then paying for that JavaScript forever.
Common questions
-
Is Astro slower to build with than Next.js?
For a content or marketing site, it's usually faster: less boilerplate, no client-state plumbing, and performance you get for free instead of fighting for. For a data-heavy application, Next.js's app conventions pay off.
-
Can Astro do interactivity?
Yes. Astro ships zero JavaScript by default and lets you hydrate interactive 'islands' (React, Svelte, Vue, or vanilla) exactly where you need them — so the rest of the page stays fast.
-
What do you default to?
We default to Astro for marketing sites, content platforms, and anything where Core Web Vitals decide the outcome, and we reach for Next.js (or another app framework) when the project is genuinely an application with significant server logic and dynamic, authenticated state.
More decisions we help teams make
Not sure which fits your project?
That's a 20-minute conversation, not a guess. Engagements start at $2,500 for a focused audit or sprint.
Start a conversation