“The perfect blend of speed and simplicity. Our site is built with Astro — delivering content faster and cleaner than ever.”
Frontend FrameworkMaker says so +1 · source ↗Astro
Web framework for building content-driven sites that ships minimal JavaScript by default, with optional islands from any UI framework.
Works with AI agents:CLIAstro is a web framework for content-driven sites such as marketing pages, blogs, docs and stores. It renders pages to HTML on the server or at build time and sends no client JavaScript unless a component asks for it.
Pages are .astro files: a frontmatter script that runs on the server, followed by an HTML-like template. Interactive parts are islands, components from React, Preact, Svelte, Vue, Solid or others that you hydrate one by one with a client: directive, while the rest of the page stays static. Server islands do the reverse, rendering a slow or personalized part on the server separately from the cached page.
Content collections load Markdown, JSON or data from a CMS or API and validate it against a typed schema. Pages are prerendered by default; adding an adapter (official ones exist for Node, Netlify, Vercel and Cloudflare) lets chosen routes render per request. Actions give type-checked server functions with Zod validation that HTML forms can call, and sessions store per-user data on the server.
Astro's own docs say it is built for content first: frameworks aimed at web applications handle app-like experiences such as logged-in dashboards and inboxes better. There is also no official authentication solution; the docs point to Better Auth, Clerk and backend services such as Supabase.
Where it fits
How Astro itself is built
13 tools, from its own code, website and Product Hunt page.
Who uses it
212 makers' products, each linked to the source that shows it, and 63 open-source projects that declare it in their code.
“Astro is making it super easy for me to quickly setup a robust site.”
Frontend FrameworkMaker says so +1 · source ↗“looked at next.js first but it felt overkill for a marketing site. astro ships zero js by default so the page stays fast without us doing anything. content-driven stuff is its sweet spot.”
Frontend FrameworkMaker says so +1 · source ↗“Astro made building Protego's marketing website a breeze. Its zero-JS-by-default approach and built-in performance optimizations helped create a lightning-fast site without unnecessary complexity.”
Frontend FrameworkMaker says so +1 · source ↗“We built the landing page for Mailfox with Astro. In the past we have used Wordpress for this type of task. This was our first attempt with Astro and we were simply blown away by the developer experience and the blazingly fast sites you can build with it. We definitely recommend it and will be using it in the future.”
Frontend FrameworkMaker says so +1 · source ↗Open source: a project that declares Astro as a dependency in its public code — verifiable, but not necessarily a live product.
What makers say
32 makers on why they use Astro, in their own words on Product Hunt.
- Ships zero JS by default — fastest page loads compared to Next.js or Docusaurus - Best Core Web Vitals scores out of the box (LCP, CLS, INP) - Content-first architecture with island hydration — only loads JS where interactivity is needed - Framework-agnostic: can use React, Vue, or Svelte components within the same project - Built-in Markdown/MDX support ideal for content-heavy sites - Simpler than Next.js for static/content sites without the overhead of a full React framework
We build content-heavy sites — docs, a spec reader, marketing — so static-first output mattered more than a JS runtime. Astro ships zero JavaScript by default and lets us drop in Svelte islands only where we actually need interactivity, so pages stay fast. Content Collections with typed schemas turned multilingual parity into a build-time check instead of a review worry. And because it's just a codebase, our agents can read it, run it, and open PRs against it like any engineer would — which is the whole point for us.
- Ships zero JS by default — fastest page loads compared to Next.js or Docusaurus - Best Core Web Vitals scores out of the box (LCP, CLS, INP) - Content-first architecture with island hydration — only loads JS where interactivity is needed - Framework-agnostic: can use React, Vue, or Svelte components within the same project - Built-in Markdown/MDX support ideal for content-heavy sites - Simpler than Next.js for static/content sites without the overhead of a full React framework
Astro's island architecture let me ship a heavy React canvas app with near-zero JS on static pages. SSR + client:only on the interactive components meant fast loads without sacrificing the real-time simulation features. Easiest framework I've used for mixing static marketing pages with a full SPA workspace
ChinillaSep 2026 ↗Our docs site runs on Astro while the main app is Next.js. Docs did not need a server, they needed fast plain content pages: MDX collections in git, near zero JavaScript shipped to readers, builds in seconds. Writers edit markdown, CI ships static files, and there is nothing to maintain.
Loved and watch-outs
Themes that recur in makers' words and Hacker News comments, each linked to what it summarises, with how Product Hunt tags its reviews.
- It ships zero JavaScript by default, giving fast, SEO-friendly static pages with top Lighthouse scores. PHPH 2PH 3
- Islands let you drop in React, Svelte or other components only where interactivity is needed. PHPH 2PH 3
- Content collections, MDX and the Starlight theme make docs sites fast to build. PH
- It suits marketing sites where Next.js feels like overkill, and needs little upkeep once built. PHPH 2
Who switches
Public pull requests on GitHub since Oct 2024 whose title says "X to Y" — real code changes moving a project from one tool to another, by developers in general. Open a row to see the pull requests.
Next.js → Astro178 PRs
- Migrate from Next.js 14 to Astro 7TetraspaceW/infinite-todo-list · 2026-10-02
- feat: move from Next.js to Astrojoshuaellis/joshellis-site · 2026-10-01
- Migrate portfolio from Next.js to Astro and redesignVarithPheng/portfolio · 2026-09-28
- Migrate site from Next.js + Nextra to Astro 7victor-foster/victorsfoster.dev · 2026-09-28
- Migrate Next.js to Astroluicho9/joseluisflores · 2026-09-27
- Migrate from Next.js to Astronicholasdevries/nicholasdevries.github.io · 2026-09-25
- Migration from Next.js to Astroiamzoka/madebyzoka · 2026-09-25
- Migrate site from Next.js to Astroiamzoka/madebyzoka · 2026-09-25
- Move the study desk from Next.js to Astro islandsjondmarien/cert-study · 2026-09-22
- Redesign personal portfolio and migrate from Next.js to Astrodevalnor/maxime.io · 2026-09-16
React → Astro123 PRs
- Migrate from React + Vite to Astro static siteCTJ425/script-docs · 2026-10-02
- Migrate site from React to Astro for performancemini-artemis/Web-Veterinaria · 2026-09-30
- build: migrate from Vite + React to AstroOpen-Sourcery-UMD/umdcoffee · 2026-09-29
- Move the site from React to Astrothedhanawada/me-plus · 2026-09-27
- Remove React, migrate to Astro components, improve a11yFueRobertHer/astro-portfolio · 2026-09-25
- Docs: scope the move from the React SPA to AstroUnderstory-Collaborative/understory-collab · 2026-09-22
- feat: migrate site from React + Vite to Astro with Cloudflare Pages a…Jivaansh-Yadav/icse-resources · 2026-09-19
- Rework: Migrate from React SPA to static Astro siteUser420-bit/Website · 2026-09-14
- Migrate portfolio from React SPA to Astroheidenreich20/Portfolio-2026 · 2026-09-06
- perf: convert presentational React islands back to Astromarco-rossoconsulting/astia-web · 2026-09-04
Nuxt → Astro13 PRs
- Migrate from Nuxt to AstroweinnovateDesign/deepsh.com · 2026-09-25
- Migrating website from Nuxt to Astroarisas/arisaknits-website · 2026-06-30
- feat!: ✨ migrate project from Nuxt to Astro with Tailwind v4 and Netlify adapteroyedejioyewole/oyedejioyewole · 2026-06-13
- chore(docs): Migrate from nuxt to astro starlight + add llmswrk-flow/php-get-typed-value · 2026-04-28
- Migrate site from Nuxt 3 to Astro 4 (static output)ventocis/rrsTdlrGuide · 2026-04-22
- Migrate from nuxt to astrogherkster/wizard-food · 2026-04-08
- feat: migrate from Nuxt 4 to Astroseanogdev/seanogrady.me · 2026-03-21
- chore: migrate site from Nuxt to Astro for develop testingniche-life/life · 2026-03-07
- Migrate from Nuxt to Astro wintkhantlin/homepage · 2026-01-08
- Migrating from Nuxt to Astro constancehermit/MindGarden · 2025-11-21
SvelteKit → Astro13 PRs
- Convert the site from SvelteKit to Astronarthur/narthur.github.io · 2026-09-18
- Migrate site from SvelteKit to Astroivoberger/ivoberger.com · 2026-09-15
- migrate from SvelteKit to Astro v7buckley-ca/buckley.ca · 2026-06-26
- Migrate site from SvelteKit to AstroLukaHarambasic/harambasic.de · 2026-06-10
- migrate SvelteKit to Astro with static outputucielsola/ucihuen · 2026-05-08
- feat(docs): migrate docs site from SvelteKit to AstroALRubinger/aileron · 2026-04-14
- feat: migrate portfolio from SvelteKit to AstroDaveKeehl/portfolio · 2026-04-09
- chore: migrate from sveltekit to astrokaedesato/kaede-HP · 2026-04-06
- feat: convert site from SvelteKit to Astro with Rose Pine themingjordangarrison/jordangarrison.dev · 2026-03-25
- feat: migrate from SvelteKit to AstroFlexicon/czy-to-niedziela-handlowa · 2026-03-22
React Router → Astro5 PRs
- Migrate from Vite + React Router SPA to Astro 7cheeeunahn/wildferret-blog · 2026-08-17
- feat(bot-dashboard): migrate from React Router 7 to Astro V6vspo-lab/vspo-portal · 2026-03-14
- Migrate from Vite + React Router to Astro with multi-station supportoszuidwest/teksttv-frontend · 2026-02-10
- Migrate from Vite + React Router to Astro frameworkLectere-Co/web · 2026-02-02
- Migrate from React Router v7 to Astroty91/taeyoung.dev · 2025-11-03
Astro → Next.js48 PRs
- Convert website from Astro to Next.js (App Router)digigrow100/The-Road-Rescue-Guys · 2026-09-15
- Migrate from Astro to Next.js 16 with App Routert-aize/portfolio · 2026-09-08
- Migrate docs-site from Astro Starlight to Fumadocs on Next.jsyeager-j/pdx-ts-sdk · 2026-08-20
- Migrate site from Astro to Next.js and publish Creator Bundle.axce-022/ShiftedInteriors · 2026-08-10
- Migrate from Astro to Next.js (App Router) + Reactluisgraterol/vinclorealestate.com · 2026-07-24
- Migrate site from Astro to Next.js App Routerdylanfernandezdelara/dylanfdl_website · 2026-07-21
- Migrate the Personal Site from Astro to Next.jsmarco-machado/marcomachado-dev · 2026-07-18
- feat: port gurukul from Astro to Next.js App Routerdevalok-design/gurukul · 2026-07-12
- Migrate marketing site (apps/web) from Astro to Next.jsletmepost/letmepost.dev · 2026-07-07
- Migrate Astro site to Next.js 15 App RouterLetMeHelpYouREALTY/sunstonelasvegashomes.com · 2026-07-06
Astro → React21 PRs
- Fix Astro example to use React 19edmundhung/conform · 2026-08-22
- Migrate the website from Astro to ReactJMRBDev/ai-directory · 2026-08-19
- Migrate portfolio from Astro to React 19 with TanStack Router and Queryjoaocdfarias/joaocdfarias.github.io · 2026-05-31
- Update index.astro to match React reference UIslopratchet/000.cauldron.it.com · 2026-05-31
- refactor(ui): rewrite astro components to reactmonaboiste/bero · 2026-05-28
- feat: migrate frontend from Astro to React + ViteSebasjp4/Bushipagina · 2026-05-24
- Migrate from Astro to Vite with React RouterSigmaBuilder/Client · 2026-05-08
- refactor(grade): migrate Grade component from Astro to React and centralize grade utilitiesfshowalter/franksmovielog.com · 2026-03-31
- Migrate Astro components to React for interactive featuresjohnpangalos/blog.pangalos.dev · 2026-03-26
- Migrate game UI from inline Astro script to React components (Astro retained)eviltimrogers/guess-the-airline · 2026-02-26
Astro → TanStack Start9 PRs
- feat(web): migrate apps/web from Astro to TanStack StartG3root/feeblo · 2026-09-22
- Convert client from Astro to TanStack Startmlmar/draft-duck · 2026-09-21
- feat(web): migrate frontend from Astro to TanStack Start (SolidJS)jackbisceglia/dotheyplaytoday · 2026-07-26
- feat: migrate from Astro to TanStack Startalexandretrotel/portfolio · 2026-06-10
- migration(web): from astro to tanstack startescwxyz/skills-re · 2026-05-05
- chore: migrate from Astro to TanStack Startthereal-atom/oscarama-dev · 2026-04-18
- feat: migrate from Astro to TanStack Startradiosilence/blit · 2026-04-11
- feat: migrate from Astro to TanStack Startdacrab/mise · 2026-03-22
- Migrate from Astro to TanStack Startnikitapashinsky/nkta.me · 2026-02-27
Astro → SvelteKit4 PRs
- Migrate from Astro back to SvelteKitewanc26/website · 2026-09-30
- feat: migrate from Astro to SvelteKit with YAML content architecturepixels-studio/web · 2026-04-02
- feat: migrate from Astro to SvelteKitSaintPepsi/ianhogers.dev · 2026-03-14
- Remove legacy Astro web-app after migration to SvelteKit + FastAPIbrooksmcmillin/taskmanager · 2026-01-19
Alternatives to Astro
All alternatives by situation →On Product Hunt, people weigh it against: Next.js, Eleventy, Cloudflare, React Router.
Questions makers ask about Astro
Can I use my React, Vue or Svelte components?
Yes. Astro supports React, Preact, Svelte, Vue, Solid, web components and more, and you can mix them on one page as separately hydrated islands. source ↗
Can pages be rendered per request instead of at build time?
Yes. Add an adapter for your host, with official ones for Node.js, Netlify, Vercel and Cloudflare, then opt individual routes or the whole site out of prerendering. source ↗
How do I add authentication?
There is no official solution. The docs show how to use libraries such as Better Auth and Clerk, and have guides for Supabase, Firebase and Scalekit. source ↗
Does it support server-side sessions?
Yes, for pages rendered on demand. Sessions need a storage driver; the Node, Cloudflare and Netlify adapters configure one for you, while other adapters need one set manually. source ↗
How do I handle forms and backend calls?
Astro Actions define server functions with Zod input validation that you call from client code or straight from an HTML form, instead of writing API endpoints by hand. source ↗
Can my content come from a CMS or database?
Yes. Content collections can load entries from local files or from remote sources such as a CMS, database or API, either at build time or live at request time. source ↗
Is it a good fit for an app dashboard?
Astro says it was designed for content-rich sites, and that frameworks built for web applications are better at complex, app-like experiences such as logged-in admin dashboards. source ↗
Is Astro free?
Yes — it is free, open-source software.
Is Astro open source or self-hostable?
Open source, and you can self-host it. source ↗
Can AI coding agents work with Astro?
It has an official CLI (astro).
Who uses Astro?
212 makers' products we track, each with a source, and 63 open-source projects declare it in their code. source ↗