Zero JavaScript by default
Astro ships pure HTML and CSS. JS is opt-in per component, making pages blazing fast with a perfect Lighthouse score.
Build with Astro, deploy in seconds to Vercel or Cloudflare Pages. Connect your own domain โ zero config required.
$ npm create astro@latest my-landing-page
โ Template copied!
โ Dependencies installed!
$ cd my-landing-page && npm run dev
โฒ astro dev started in 142ms
โ http://localhost:4321/ Astro is purpose-built for content-driven static sites. It prioritizes your users' performance over developer convenience.
Astro ships pure HTML and CSS. JS is opt-in per component, making pages blazing fast with a perfect Lighthouse score.
Hydrate only the interactive parts of your page. Mix React, Vue, Svelte, and more in the same project.
Static assets are served from CDN edge nodes globally. Your visitors always hit a node near them for <10 ms TTFB.
Every file in src/pages/ becomes a route. No router config needed โ just create the file and Astro handles the rest.
Write <style> inside any .astro component. Styles are automatically scoped โ no class name collisions, no CSS-in-JS needed.
Add Tailwind, MDX, sitemaps, image optimization, and more with a single CLI command: npx astro add tailwind.
Four steps. No proprietary tooling. No lock-in.
npm create astro@latest my-sitesrc/pages/index.astronpm run devgit push origin mainAstro's static output works identically on both. Pick what fits your workflow โ or use both.
npx vercel --prod Vercel automatically runs npm run build and serves the dist/ folder. No vercel.json needed for Astro static sites.
npx wrangler pages deploy dist Since your domain is on Cloudflare, Pages lets you connect it in one click โ no DNS changes required. Orange cloud = automatic CDN + DDoS protection.
Pages โ your project โ Custom domains โ Add domain โ that's it.
Cloudflare handles SSL, CDN caching, and DDoS protection automatically.