8 min read

Astro vs Next.js vs Eleventy for Content Sites in 2026

Astro, Next.js, or Eleventy for your blog or marketing site? An honest 2026 comparison of all three for indie hackers, with real tradeoffs and clear picks.

Astro vs Next.js vs Eleventy for Content Sites in 2026

Picking a framework for a content site in 2026 is easier than it looks, because the three real contenders barely overlap. Astro, Next.js, and Eleventy each win a different job, and most of the agonizing online is people comparing tools that were never meant for the same use case.

Here's the short version. If you're building a blog, docs, or a marketing site, use Astro. It's the default for content now, and for good reason. If you want the absolute simplest static setup with no framework at all, use Eleventy. And reach for Next.js only when your "content site" is really a React app wearing a blog as a hat.

That's the verdict. Below is why, with the real tradeoffs in performance, complexity, and cost, written from the perspective of someone who ships content sites rather than benchmarks them for sport.

Quick verdict

Tool Best for Client JS Cost Rating
Astro Content sites that need a little interactivity Zero by default Free, host free on Cloudflare/Netlify/Vercel 4.5/5
Eleventy The simplest possible static site Zero, always Free, host free anywhere static 4/5
Next.js Content sites that grow into apps Ships a React runtime Free, hosting varies with server use 4/5

Astro: the default for content sites

Astro won the content tier, and it wasn't close. The current release is Astro 6, the project sits north of 59,000 GitHub stars, and in January 2026 Cloudflare acquired the Astro team. It stays MIT-licensed and open source, but it now has a serious infrastructure company behind it, which matters if you're betting a site on it for the next five years.

The core idea is islands. Astro ships zero JavaScript by default and renders everything to plain HTML. When you need an interactive piece, a search box, a carousel, a comment widget, you mark that one component as an island and only it hydrates. Everything else stays static. The result is Lighthouse scores in the high 90s without you doing anything clever, which is exactly what you want when SEO is your traffic channel.

It's also genuinely pleasant to build with. You author components in plain Astro syntax or bring React, Vue, Svelte, or Solid, and mix them on the same page. Content Collections give you type-safe Markdown and MDX with schema validation, so your blog posts stop silently breaking when you typo a frontmatter field. Astro 6 added Live Content Collections for data that updates without a rebuild, plus built-in CSP support.

The build speed is a real selling point too. Astro 6's Markdown pipeline rebuilds a 100-post site in roughly 200 milliseconds, a 5x jump over Astro 5. That tight feedback loop matters when you're writing and previewing all day. Migrations are quick as well: most blog and marketing moves off WordPress, Gatsby, or 11ty land in one to three days, since the MDX pipeline is largely compatible and Content Collections replace your old data layer.

The honest cons: Astro 6 requires Node 22, and the upgrade from v5 had real breaking changes (Zod 4, dropped legacy APIs). Sharing state across islands needs an external store like Nano Stores, which adds friction. And it's the wrong tool for a genuinely app-heavy product, dashboards and authenticated flows fight the model.

Who should not use Astro: anyone building a real web app rather than a content site. If most of your pages are interactive and stateful, you're swimming upstream.

Eleventy: the simplest static site you can build

Eleventy, often written 11ty, is the minimalist's pick, and it's aged beautifully. It's been downloaded over 19 million times, runs on 82,000-plus repos, and the current v3 line is ESM-based and fast. The project rebranded to "Build Awesome" in early 2026, though the npm package is still @11ty/eleventy and everyone still calls it Eleventy.

What makes it special is what it doesn't do. Eleventy takes a directory of templates and data and turns it into static HTML. That's it. No UI framework, no client runtime, zero JavaScript shipped to the browser unless you add it yourself by hand. It produces the smallest output of any major static generator, often a fraction of the equivalent Astro or Next.js build. For a pure blog or docs site, that's a real edge.

It's also stable in a way modern JavaScript tooling rarely is. The maintainers point out that across 224 releases since 2017, only three required developer changes. People report sites running untouched for years. If you hate dependency churn, Eleventy is a balm. It still holds roughly a quarter of the new static-generator share for content sites under 2,000 pages, trailing only Astro in the JavaScript category, so it's far from a niche relic.

The honest cons: there's no component model and no islands. The moment you need interactivity, you're wiring up vanilla JavaScript or bolting on a separate tool, and the elegance fades. It also leans on templating languages like Nunjucks and Liquid rather than components, which feels dated if you're coming from React. Documentation is good but the ecosystem is thinner than Astro's.

Who should not use Eleventy: anyone who needs more than occasional interactivity, or who wants a component-based authoring experience. It's a static HTML machine, and that focus is both its strength and its ceiling.

Next.js: the heavyweight that can do content too

Next.js is the giant in the room, around 140,000 GitHub stars, and the current 16.2 line ships React 19.2 with Turbopack as the default bundler and the App Router as the default. It's a full-stack React framework, and it's superb at what it's built for: application-style sites with dashboards, auth, server actions, and dynamic data.

Can it build a content site? Absolutely. It supports static export and Incremental Static Regeneration, so a Next.js blog or marketing site works fine and deploys statically. If your team already lives in React, there's a real argument for keeping everything in one framework rather than learning Astro just for the marketing pages. I broke down the broader framework field in Next.js vs Nuxt vs SvelteKit if you're weighing the app-framework options.

The honest cons for content specifically: weight. Because Next.js is built on React, it ships a client runtime even for largely static pages. A Next.js static export typically sends several times more JavaScript than the same site in Astro, and many times more than Eleventy. For a content site where Core Web Vitals drive your SEO, that's a tax you're paying for flexibility you may not need. The caching model is also famously fiddly, and the framework moves fast enough that six-month-old tutorials often break on a fresh install.

Who should not use Next.js for content: anyone whose site is purely content and isn't already in the React ecosystem. You'd be carrying a full application framework to publish blog posts.

How do the three actually compare?

The real decision comes down to three dimensions.

JavaScript shipped, which drives performance and SEO. Eleventy ships zero, full stop. Astro ships zero by default and only adds JavaScript for the islands you opt into. Next.js ships a React runtime regardless. The gap is bigger than it sounds: on paired builds, a typical Astro site runs around 1.5x heavier than the same site in Eleventy, while a Next.js static export runs roughly 8 to 12x heavier than Eleventy. For a content site where speed is the SEO lever, that ordering matters, and it's why Astro and Eleventy dominate the content tier.

Interactivity, when you need more than static pages. This flips the order. Next.js handles rich interactivity natively because it's an app framework. Astro handles selective interactivity cleanly through islands. Eleventy handles none of it for you, you build it yourself. Match the tool to how dynamic your site actually is, not how dynamic you imagine it might become.

Where it's heading. If there's a real chance your content site becomes a product, with logins, billing, a dashboard, starting in Next.js saves a future migration. If it's going to stay content, that future-proofing is just weight you carry today for a tomorrow that may never arrive.

All three are free and open source, so cost is really a hosting question. Every one of them deploys to a free tier on Cloudflare Pages, Netlify, or Vercel, with static output that's cheap or free to serve. Next.js only starts costing real money when you lean on server-side features at scale. If you're weighing where to put any of them, I compared the options in the best Vercel alternatives and the best Netlify alternatives.

Final recommendation

For most indie hackers building a content site in 2026, use Astro. It's the right default: fast, modern, content-first, and flexible enough to add the occasional interactive piece without dragging a whole app framework along. The Cloudflare backing makes it a safe long-term bet too.

Choose Eleventy if your site is pure content and you value simplicity and stability over features. A personal blog, a docs site, a landing page, Eleventy will build it smaller and faster than anything else and then leave you alone for years.

Choose Next.js only if your content site is really an application, or if your whole stack is already React and consistency beats raw performance. For a pure blog, it's the wrong tool, and you'll feel the extra JavaScript in your Core Web Vitals.

Most teams I know end up using two of these, Astro or Eleventy for the marketing site and blog, Next.js for the app. That's not indecision. It's using each tool for the job it's actually good at.

Building a content site and landed on a different pick? Tell me what you chose on Twitter @devtoolpicks.

Frequently Asked Questions

What is the best framework for a content site in 2026?

Astro is the consensus pick for content sites in 2026. It ships zero JavaScript by default, so blogs, docs, and marketing pages load fast and score high on Core Web Vitals without manual tuning. It also lets you drop in React, Vue, or Svelte components only where you need interactivity. If your site is pure static text with no interactive parts, Eleventy is an even simpler option.

Is Astro better than Next.js for a blog?

For a pure blog or marketing site, yes. Astro ships far less JavaScript than Next.js, which makes pages faster and SEO stronger out of the box. Next.js is the better choice when your content site is really an application in disguise, with dashboards, auth, or heavy interactivity. The rule of thumb in 2026: Astro for content, Next.js for apps. Plenty of teams run both.

Is Eleventy still worth using in 2026?

Yes, if you want the simplest possible static site. Eleventy ships zero client-side JavaScript, has the smallest output of any major static site generator, and the lowest learning curve. It's ideal for blogs, docs, and personal sites where you don't need a UI framework. The tradeoff is that interactivity is fully do-it-yourself, since Eleventy has no islands or component hydration model like Astro.

Can you build a content site with Next.js?

You can, and many teams do. Next.js supports static export and incremental static regeneration, so it handles blogs and marketing sites fine. The catch is weight: a Next.js static export typically ships several times more JavaScript than the same site in Astro or Eleventy. It only makes sense for content when you're already in the React ecosystem or expect the site to grow into an app.

Which framework ships the least JavaScript?

Eleventy ships the least, zero client-side JavaScript by default, with the smallest total output of the three. Astro is a close second, also zero JS by default but slightly heavier because of its build tooling and island runtime when you add interactive components. Next.js ships the most, since it's built on React and sends a client runtime even for largely static pages.

Found this useful? Follow @devtoolpicks on X for more honest tool comparisons.
Share: X/Twitter | LinkedIn |

Get honest tool comparisons in your inbox

Join 50+ indie hackers and solo developers who get new comparisons, pricing changes, and tool picks. No spam. Unsubscribe anytime.