Open source static site generators, built and served

Static site generators you can run yourself. The list is ordered by whether each project came up when Argusic installed it fresh, with the recording of that attempt one click away.

Tested between and . Each row shows its own test date; a project can change after that day.

28 of 29 tested projects run. 43 more waiting for a test.

In short: 27 of the 29 tested projects started as-is on a fresh machine: hugo, hexo, mkdocs, buildawesome, decap-cms, nextra, quartz, and metalsmith, and 19 more. 1 more started once a stand-in replaced a service it expects, such as a database: actions-gh-pages. 1 could not be verified: vscode-front-matter; the log shows where it stopped.

Measured by Argusic on a fresh machine every time. Every number links to its evidence.

#projectverdictArgusic Scorelanguagestarstested on
1hugoRuns100 / 100Go90,058

The world’s fastest framework for building websites.

What the test found: Hugo v0.167.0-DEV installed, all packages compile and pass tests, the binary produces a correct version string and successfully scaffolds and builds a static site. 53 minutes.

2hexoRuns100 / 100TypeScript41,776

A fast, simple & powerful blog framework, powered by Node.js.

What the test found: Hexo v8.1.2 compiles, its CLI answers help and version, and all 1292 tests pass under Node v22.12.0 with a single assertion fix for color-free environments. 18 minutes.

3mkdocsRuns100 / 100Python22,495

Project documentation with Markdown.

What the test found: mkdocs installed in venv, all 725 unit tests pass, mkdocs build produces a valid HTML site, and mkdocs serve responds with HTTP 200. 4 minutes.

4buildawesomeRuns100 / 100JavaScript19,954

A simpler site generator. Transforms a directory of templates (of varying types) into HTML.

What the test found: Eleventy 4.0.0-alpha.10 installed on Node 22.15.0, all 1439 ava tests and 7 node tests pass, CLI builds sites correctly. 20 minutes.

5decap-cmsRuns100 / 100JavaScript19,419

A Git-based CMS for Static Site Generators

What the test found: pnpm install completes with no errors; all 119 test suites pass (1495/2799 tests, 1304 skipped as expected); decap-cms-core builds both ESM (126 files) and production UMD (1.26 MiB) bundles successfully; decap-cms-lib-util ESM build (20 files) succeeds. 18 minutes.

6nextraRuns100 / 100TypeScript13,937

Simple, powerful and flexible site generation framework with everything you love from Next.js.

What the test found: All 7 workspace packages build successfully; 156 tests pass across 4 testable packages with 0 failures; all snapshot regressions and memory-limit issues fixed. 16 minutes.

7quartzRuns100 / 100TypeScript13,352

🌱 a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites

What the test found: Quartz v5.0.0 builds the static site, runs the dev server on port 8080, serves content with HTTP 200, and passes all 163 tests. 4 minutes.

8metalsmithRuns100 / 100JavaScript7,819

An extremely simple, pluggable static site generator for Node.js

What the test found: Metalsmith installs, its test suite passes 157/158, the programmatic API and CLI both build projects from source to destination without error. 3 minutes.

9middlemanRuns100 / 100Ruby7,112

Hand-crafted frontend development

What the test found: Middleman 4.6.3 installs and loads successfully. RSpec suite passes all 67 examples. Cucumber suite passes 361/394 scenarios (3100/3105 steps). The 33 cucumber failures are consistent environmental issues where deleted temp directories cause bundler getcwd to fail, not Middleman bugs. 38 minutes.

10zensicalRuns100 / 100Rust5,864

A modern static site generator by the Material for MkDocs team

What the test found: zensical is installed and functional: the CLI responds to --help and --version, 'zensical new' creates a bootstrap project, 'zensical build' generates a complete static site in site/ with valid HTML/CSS/JS, 'zensical serve' hosts the site on an HTTP server returning 200, and 1271 of 1307 unit tests pass. 22 minutes.

11vikeRuns100 / 100TypeScript5,833

(Replaces Next.js/Nuxt) πŸ”¨ Build mission-critical applications with stability and development freedom.

What the test found: All 207 unit tests pass, all 12 vitest e2e tests pass, all 20 type-check suites pass, the react-minimal example builds and its preview server returns HTTP 200. 12 minutes.

12react-snapRuns100 / 100JavaScript5,118

πŸ‘» Zero-configuration framework-agnostic static prerendering for SPAs

What the test found: npm install succeeds, both test suites pass (defaultOptions.test.js + run.test.js, 52 passed, 2 skipped), and the binary run.js starts but fails with ENOENT when no build directory exists, expected for a postbuild tool. 9 minutes.

13pagescmsRuns100 / 100TypeScript4,071

The simplest CMS you'll ever need. Manage content and media right in your GitHub repository.

What the test found: Pages CMS 2.1.8 builds and runs in both dev and production modes on localhost:3000 with PostgreSQL 16, returning HTTP 200 on all tested routes and a valid JSON version response from /api/app/version. 13 minutes.

14analogRuns100 / 100TypeScript3,188

The fullstack meta-framework for Angular. Powered by Vite and Nitro

What the test found: All 21 projects build successfully, all 19 project test suites pass, and the streaming-app server binary starts and serves on the configured port. 85 minutes.

15sveltia-cmsRuns100 / 100JavaScript2,925

Leading Git-based headless CMS. Successor to Netlify/Decap CMS. Modern UX, first-class i18n support, mobile support + numerous improvements...

What the test found: Sveltia CMS v0.221.0 installs via pnpm, builds IIFE + ESM bundles, and passes all 10591 unit tests and 1348 component tests under Node v26.10.0. 26 minutes.

16nikolaRuns100 / 100Python2,746

A static website and blog generator

What the test found: Nikola v8.3.3 installed in a venv; `nikola --version` prints version; all 516 tests pass; `nikola init -q` creates a site and `nikola build` generates it with all tasks (sitemap, galleries, taxonomies, bundles, robots) succeeding. 2 minutes.

17rspressRuns100 / 100TypeScript2,343

πŸ¦€ A fast Rsbuild-based static site generator.

What the test found: Rspress monorepo with Node 24.13.0 and pnpm 11.27.0 builds all 13 packages and passes all 432 unit tests (8 .tsx-themed test files no longer fail). 33 minutes.

18lumeRuns100 / 100TypeScript2,284

πŸ”₯πŸͺ° Static site generator for Deno

What the test found: Lume static site generator is fully functional: test suite passes (228/228), CLI builds sites from Vento templates to HTML, and the serve/proxy infrastructure is available. 4 minutes.

19nanocRuns100 / 100Ruby2,158

A powerful web publishing system

What the test found: Nanoc 4.14.8 loads and its core test suite (59 tests across base/ and orig_cli/) passes with 0 failures and 0 errors after installing Ruby 3.2 via extracted Ubuntu debs, setting up dev headers and linker symlinks, providing a libyaml shared library, and creating an assert shim for the rbtree native extension. 44 minutes.

20hugoplateRuns100 / 100JavaScript1,593

Hugoplate is a free starter template built with Hugo and Tailwind CSS v4.0 that will save you hours of work.

What the test found: The Hugoplate Hugo + Tailwind CSS v4 boilerplate builds 90 pages across 8+ routes and serves static HTML via http.server on all endpoints. 6 minutes.

21cobalt.rsRuns100 / 100Rust1,538

Static site generator written in Rust

What the test found: cobalt v0.20.4 builds with cargo, passes its full test suite, and responds to --help listing 8 subcommands (init, new, rename, publish, build, clean, serve, debug). 2 minutes.

22bridgetownRuns100 / 100Ruby1,366

A next-generation progressive site generator & fullstack framework, powered by Ruby

What the test found: Bridgetown 2.2.2 monorepo builds and passes its full test suite (bridgetown-core: 1000 tests, bridgetown-foundation: 41 tests, bridgetown-builder: 39 tests, bridgetown-routes: 13 tests, all 0 failures and 0 errors) with Ruby 3.3.11 built from source, using locally-built zlib and libyaml libraries. 16 minutes.

23lektorRuns90 / 100Python3,949

The lektor static file content management system

What the test found: Lektor 0.1.dev1+g9ebd5dcba is installed and its Python test suite passes completely. The CLI, builder, and dev server all work. The admin front-end JS builds. One JS test fails only because the container's Node 18 is below the jsdom@29 requirement. 11 minutes.

24jampackRuns90 / 100TypeScript1,696

Optimizes static websites for best user experience and best Core Web Vitals scores.

What the test found: jampack v0.34.1 builds, runs, and optimizes static websites: successfully transforms PNG->WebP embed, compresses JPG, minifies HTML and CSS, and prints a summary table. 3 minutes.

25frameworkRuns80 / 100TypeScript3,658

A static site generator for data apps, dashboards, reports, and more. Observable Framework combines JavaScript on the front-end for interactive graphics with...

What the test found: Observable Framework v1.13.4 builds, CLI prints version/help, preview server serves HTTP 200, 838/840 tests pass (2 pre-existing env issues). 16 minutes.

26starlightRuns60 / 100TypeScript9,378

🌟 Build beautiful, accessible, high-performance documentation websites with Astro

What the test found: Starlight builds and all 631 unit tests pass; the docs site builds 629 pages and the dev server serves HTTP 200 with full HTML content. 4 minutes.

27dumiRuns60 / 100JavaScript3,800

πŸ“– Static Site Generator for component library development

What the test found: Dependencies installed, father TS build compiles 70 files to dist/, Rust WASM plugin crate built, all 139 tests pass, and an end-to-end build of the normal example produces a valid docs-dist with HTML output. 16 minutes.

28actions-gh-pagesRuns with mocks92 / 100TypeScript5,364

GitHub Actions for GitHub Pages πŸš€ Deploy static files and publish your site easily. Static-Site-Generators-friendly.

What the test found: The actions-gh-pages GitHub Action repository builds successfully with ncc/esbuild, passes all 53 Jest tests with mocked git operations, and passes TypeScript strict checks and ESLint linting. 3 minutes.

29vscode-front-matterCould not verify30 / 100TypeScript2,547

Front Matter is a CMS running straight in Visual Studio Code. Can be used with static site generators like Hugo, Jekyll, Hexo, NextJs, Gatsby, and many more...

What the test found: npm install succeeded, all 3 webpack bundles build successfully (extension.js 1217 KB, dashboard.main.js 8.5 MB, panel.main.js 10 MB), npm pack creates valid 1.2 MB .tgz (713 files), tsc reports 0 errors in src/, but the VS Code extension cannot be launched without the VS Code runtime which is not available in this... 8 minutes.

-jekyllNot yet tested-Ruby51,705-
-docmdNot yet tested-TypeScript2,513-
-gitmalNot yet tested-Go1,348-
-tg-archiveNot yet tested-Python1,176-
-jbakeNot yet tested-Java1,162-
-sigalNot yet tested-JavaScript946-
-siteone-crawlerNot yet tested-Rust937-
-nestaNot yet tested-Ruby899-
-thumbsupNot yet tested-JavaScript865-
-brisaNot yet tested-TypeScript784-
-zudokuNot yet tested-TypeScript598-
-sveltepressNot yet tested-TypeScript539-
-django-distillNot yet tested-Python519-
-nextplateNot yet tested-TypeScript518-
-hydeNot yet tested-PHP488-
-abellNot yet tested-TypeScript443-
-django-bakeryNot yet tested-Python421-
-academic-file-converterNot yet tested-Python417-
-thuliteNot yet tested-JavaScript397-
-gojekyllNot yet tested-Go395-
-rocketNot yet tested-JavaScript395-
-uix-kitNot yet tested-JavaScript391-
-kaminariNot yet tested-TypeScript356-
-presskit.htmlNot yet tested-JavaScript355-
-redd-archiverNot yet tested-Python346-
-blogrNot yet tested-Rust345-
-staticjinjaNot yet tested-Python341-
-clayovenNot yet tested-Ruby332-
-middleman-blogNot yet tested-Ruby325-
-fusselNot yet tested-Python312-
-parklifeNot yet tested-Ruby309-
-tableauNot yet tested-Elixir307-
-elegantNot yet tested-JavaScript304-
-kross-hugoNot yet tested-JavaScript299-
-znaiNot yet tested-Java279-
-gatsby-starter-bootstrapNot yet tested-TypeScript278-
-dot-hugoNot yet tested-JavaScript268-
-xlogNot yet tested-Go234-
-adritian-free-hugo-themeNot yet tested-TypeScript223-
-auroraNot yet tested-Python216-
-capriNot yet tested-TypeScript213-
-nanogenNot yet tested-TypeScript204-
-typsiteNot yet tested-Rust204-

runs installed and started with its real dependencies. runs with mocks started after stand-ins replaced external services such as a database or a third-party API. could not verify neither the standard agent nor the stronger one got it running within the time limit; the log shows where it stopped.

How we tested

On this list as of the latest test: 27 projects ran as-is, 1 with mocks, 1 could not be verified, 43 still waiting. Languages tested: Go, JavaScript, Python, Ruby, Rust, TypeScript. Every attempt used a clean single-use machine, the subject at a pinned version, and a 45-minute limit; the complete procedure is on the methodology page.

Frequently asked questions (FAQs)

How is this list ranked?

By measurement, not opinion: projects Argusic installed and launched on a fresh machine come first, then those that ran with mocks in place of external services, then those it could not verify. Ties go to the Argusic Score, then how popular it is on its own source.

Why are some projects unranked?

43 projects are still waiting for a test or for a finished attempt. They are listed without a rank until Argusic has measured them.

Where is the evidence?

Every row links to the project's Argusic page, where each run has a full log and a terminal recording stored with a sha256 fingerprint. The same pages exist for every one of the tested projects, on this list or not.

More lists in this category

All lists: Best. All tested projects: subjects.