Statac

Statac vs Astro

How Statac compares with Astro for a personal website, and why you might choose Astro.

Astro is a web framework in TypeScript, on Node, first released in 2021. It calls itself “the web framework for building content-driven websites like blogs, marketing, and e-commerce”. It builds static pages by default, and its interactive parts, islands written in Astro, React, Preact, Svelte, Vue or Solid, load only where they are needed. Astro joined Cloudflare in January 2026, and stays open source under MIT. This page compares the two for a personal website published as static files.

Statac is a friendlier static site generator for personal websites. Everything is included, so you can tinker with your site if you want to, but you don’t have to. It is made for the IndieWeb and the social web: feeds, webmentions and social cards are part of it, with no plugins.

At a glance

Statac Astro
Written in Rust TypeScript
What you install One program Node 22.23.4 or later, then the npm packages. astro 7.4.2 alone installs 186 packages, 134 MB on a Mac.
First released October 2026 2021
Version compared 0.7.0 7.4.2
Licence MIT or Apache-2.0 MIT
Templates Jinja, as MiniJinja implements it Astro components, and components in React, Vue, Svelte and others
statac import reads its sites No

Where they are alike

  • No JavaScript on a page unless the site adds it.
  • Front matter checked against what you declare. Astro checks a content collection against a schema. Statac checks the kind of each declared field, and whether it is required.
  • Markdown with GitHub-style tables, footnotes, and curly quotes and dashes.
  • Images in Markdown processed during the build.
  • Code coloured during the build, with no script: by default in Astro, and in Statac once you set code_colours: true and copy a theme’s colours into your stylesheet.
  • Several languages, each with its own URLs.
  • Redirects published as HTML pages.

What Statac does differently

  • A blog’s lists are built in. Statac keeps a list for the site, each folder, each tag and each series, with previous and next, related posts, drafts and scheduled posts, and pagination and a feed if a list asks for them. An Astro site builds these from its collections: tag pages with getStaticPaths() and paginate(), drafts as a field it filters on, an RSS feed with @astrojs/rss.
  • Images in Markdown become AVIF copies in several widths with a JPEG or PNG fallback. Astro optimises them too, and its <Picture /> component makes AVIF if a page asks.
  • Maths in $...$ becomes MathML, with nothing to set up.
  • Statac warns when a URL stops being published, and gives the redirect_from line to add. When a post moves, it offers an id: line that keeps its feed id, so feed readers don’t show it as new again.
  • Problems at the file, the line and the exact text, with a suggestion if there is a good one and a page explaining each kind. Statac checks every link within the site on every build, down to the heading.
  • The debug panel lists, while statac serve runs, every name a template can write on the page open, with its value and the file and line it came from. Astro’s dev toolbar shows each island’s props, and audits a page for performance and accessibility.

Why you might choose Astro

  • Interactivity where it is needed: a comment form, a chart or a whole app on one page, in the component framework of your choice, with the rest of the site plain HTML. Statac bundles no JavaScript.
  • A way beyond static files: pages rendered on request, server islands, actions, sessions and middleware, a page at a time. Statac publishes files.
  • Components and MDX in posts. Statac’s nearest equivalent is a snippet call, such as @figure("photo-1.jpg").
  • Content from anywhere. Collections read Markdown, MDX, Markdoc, JSON, YAML and TOML, and loaders bring in entries from a CMS, a database or an API. Statac reads Markdown or HTML, and data in YAML or JSON.
  • TypeScript throughout, on Vite.
  • A large ecosystem: directories of integrations and themes, and Starlight for documentation sites. Statac has no plugins or themes, by design.
  • A full-time team at Cloudflare, a minor release about once a month, and a tutorial. Statac was first released on 10 October 2026, and has one maintainer.
  • Hosting: guides for many hosts, and official adapters for Node, Netlify, Vercel and Cloudflare. A supported adapter writes redirects into the host’s configuration file. Statac’s docs say to copy _site to your host.
  • Fonts, view transitions and routing for each language, built in.

Statac doesn’t number the lines of code, check links to other sites, or minify, and its macOS packages need one more step because they aren’t notarised.

Moving from Astro

statac import doesn’t read Astro sites, so there is no From Astro page. You can copy an Astro site’s Markdown posts into content/ by hand, and change their front matter to Statac’s fields: pubDate: 'Jul 08 2022' in Astro’s blog template becomes date: 2022-07-08. .astro pages and MDX have no equivalent in Statac.

Versions compared

Checked on 26 October 2026, against Statac 0.7.0 and Astro 7.4.2 (21 October 2026), from Astro’s documentation. A later release of either may change what this page says.

Something unclear or wrong? Open an issue.