The decision matrix

CriterionAstroNext.js
Rendering modelStatic-first, server islands, opt-in server renderingServer, incremental and static rendering, React Server Components
JavaScript by defaultNone. Ships HTML; hydrates islands only where neededA React runtime on every page
Best fitMarketing and content sites, docs, blogs, landing pagesApp-heavy products, dashboards, lots of server logic
Core Web VitalsStrong by default, with little JavaScript to block the pageGood, but you manage the JavaScript budget yourself
Interactivity ceilingHigh. Drop in React, Svelte or Vue islandsHighest. It is a full application framework
Server routes and APIsYes, through endpoints and adapters, when neededFirst-class: route handlers and server actions
React ecosystemUse React where it earns its placeNative, all of it, all the time
Our default for a marketing siteYesOnly when it's really an application

Choose Astro when

  • It's a marketing site, content platform, blog or documentation.
  • Core Web Vitals and search 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 is significant server logic, authentication and dynamic state.
  • You are committed to React across the whole product.
  • Server actions and route handlers are central to the design.

Our verdict

We default to Astro for marketing sites and content platforms: the performance comes 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 is a full application framework shipping a brochure site, and the business paying for that JavaScript forever.

Common questions

Is Astro slower to build with than Next.js?

For a content or marketing site it is usually faster: less boilerplate, no client-state plumbing, and performance you get by default instead of fighting for. For a data-heavy application, Next.js conventions pay off.

Can Astro do interactivity?

Yes. Astro ships no JavaScript by default and lets you hydrate interactive islands (React, Svelte, Vue or plain JavaScript) exactly where you need them, so the rest of the page stays fast.

What do you default to?

Astro, for marketing sites, content platforms and anything where Core Web Vitals decide the outcome. We reach for Next.js or another application framework when the project is genuinely an application with significant server logic and dynamic, authenticated state.

More decisions we help teams make

YOUR NEXT CHAPTER

Tell us what you're building.

A few lines about the idea, the business and what is getting in the way.

DISCUSS YOUR PROJECT
Good work starts with a conversation. No brief needed. A few lines are enough.