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.
| # | project | verdict | Argusic Score | language | stars | tested on |
|---|---|---|---|---|---|---|
| 1 | hugo | Runs | 100 / 100 | Go | 90,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. | ||||||
| 2 | hexo | Runs | 100 / 100 | TypeScript | 41,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. | ||||||
| 3 | mkdocs | Runs | 100 / 100 | Python | 22,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. | ||||||
| 4 | buildawesome | Runs | 100 / 100 | JavaScript | 19,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. | ||||||
| 5 | decap-cms | Runs | 100 / 100 | JavaScript | 19,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. | ||||||
| 6 | nextra | Runs | 100 / 100 | TypeScript | 13,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. | ||||||
| 7 | quartz | Runs | 100 / 100 | TypeScript | 13,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. | ||||||
| 8 | metalsmith | Runs | 100 / 100 | JavaScript | 7,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. | ||||||
| 9 | middleman | Runs | 100 / 100 | Ruby | 7,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. | ||||||
| 10 | zensical | Runs | 100 / 100 | Rust | 5,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. | ||||||
| 11 | vike | Runs | 100 / 100 | TypeScript | 5,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. | ||||||
| 12 | react-snap | Runs | 100 / 100 | JavaScript | 5,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. | ||||||
| 13 | pagescms | Runs | 100 / 100 | TypeScript | 4,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. | ||||||
| 14 | analog | Runs | 100 / 100 | TypeScript | 3,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. | ||||||
| 15 | sveltia-cms | Runs | 100 / 100 | JavaScript | 2,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. | ||||||
| 16 | nikola | Runs | 100 / 100 | Python | 2,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. | ||||||
| 17 | rspress | Runs | 100 / 100 | TypeScript | 2,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. | ||||||
| 18 | lume | Runs | 100 / 100 | TypeScript | 2,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. | ||||||
| 19 | nanoc | Runs | 100 / 100 | Ruby | 2,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. | ||||||
| 20 | hugoplate | Runs | 100 / 100 | JavaScript | 1,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. | ||||||
| 21 | cobalt.rs | Runs | 100 / 100 | Rust | 1,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. | ||||||
| 22 | bridgetown | Runs | 100 / 100 | Ruby | 1,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. | ||||||
| 23 | lektor | Runs | 90 / 100 | Python | 3,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. | ||||||
| 24 | jampack | Runs | 90 / 100 | TypeScript | 1,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. | ||||||
| 25 | framework | Runs | 80 / 100 | TypeScript | 3,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. | ||||||
| 26 | starlight | Runs | 60 / 100 | TypeScript | 9,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. | ||||||
| 27 | dumi | Runs | 60 / 100 | JavaScript | 3,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. | ||||||
| 28 | actions-gh-pages | Runs with mocks | 92 / 100 | TypeScript | 5,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. | ||||||
| 29 | vscode-front-matter | Could not verify | 30 / 100 | TypeScript | 2,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. | ||||||
| - | jekyll | Not yet tested | - | Ruby | 51,705 | - |
| - | docmd | Not yet tested | - | TypeScript | 2,513 | - |
| - | gitmal | Not yet tested | - | Go | 1,348 | - |
| - | tg-archive | Not yet tested | - | Python | 1,176 | - |
| - | jbake | Not yet tested | - | Java | 1,162 | - |
| - | sigal | Not yet tested | - | JavaScript | 946 | - |
| - | siteone-crawler | Not yet tested | - | Rust | 937 | - |
| - | nesta | Not yet tested | - | Ruby | 899 | - |
| - | thumbsup | Not yet tested | - | JavaScript | 865 | - |
| - | brisa | Not yet tested | - | TypeScript | 784 | - |
| - | zudoku | Not yet tested | - | TypeScript | 598 | - |
| - | sveltepress | Not yet tested | - | TypeScript | 539 | - |
| - | django-distill | Not yet tested | - | Python | 519 | - |
| - | nextplate | Not yet tested | - | TypeScript | 518 | - |
| - | hyde | Not yet tested | - | PHP | 488 | - |
| - | abell | Not yet tested | - | TypeScript | 443 | - |
| - | django-bakery | Not yet tested | - | Python | 421 | - |
| - | academic-file-converter | Not yet tested | - | Python | 417 | - |
| - | thulite | Not yet tested | - | JavaScript | 397 | - |
| - | gojekyll | Not yet tested | - | Go | 395 | - |
| - | rocket | Not yet tested | - | JavaScript | 395 | - |
| - | uix-kit | Not yet tested | - | JavaScript | 391 | - |
| - | kaminari | Not yet tested | - | TypeScript | 356 | - |
| - | presskit.html | Not yet tested | - | JavaScript | 355 | - |
| - | redd-archiver | Not yet tested | - | Python | 346 | - |
| - | blogr | Not yet tested | - | Rust | 345 | - |
| - | staticjinja | Not yet tested | - | Python | 341 | - |
| - | clayoven | Not yet tested | - | Ruby | 332 | - |
| - | middleman-blog | Not yet tested | - | Ruby | 325 | - |
| - | fussel | Not yet tested | - | Python | 312 | - |
| - | parklife | Not yet tested | - | Ruby | 309 | - |
| - | tableau | Not yet tested | - | Elixir | 307 | - |
| - | elegant | Not yet tested | - | JavaScript | 304 | - |
| - | kross-hugo | Not yet tested | - | JavaScript | 299 | - |
| - | znai | Not yet tested | - | Java | 279 | - |
| - | gatsby-starter-bootstrap | Not yet tested | - | TypeScript | 278 | - |
| - | dot-hugo | Not yet tested | - | JavaScript | 268 | - |
| - | xlog | Not yet tested | - | Go | 234 | - |
| - | adritian-free-hugo-theme | Not yet tested | - | TypeScript | 223 | - |
| - | aurora | Not yet tested | - | Python | 216 | - |
| - | capri | Not yet tested | - | TypeScript | 213 | - |
| - | nanogen | Not yet tested | - | TypeScript | 204 | - |
| - | typsite | Not yet tested | - | Rust | 204 | - |
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
- CMS platforms (shares decap-cms, hugo, lektor, nesta, pagescms, sveltia-cms, vscode-front-matter with this list)
- search engines (shares redd-archiver with this list)
- web scraping tools (shares siteone-crawler with this list)
- AI agent frameworks
- self-hosted AI apps
- API clients
- API gateways
- CI/CD tools
- LLM gateways
- MCP servers
- VPN tools
- backup tools
- browser automation tools
- code editors
- open source coding agents
- Open source databases, installed and queried
- developer CLI tools
- e-commerce platforms
- ebook readers
- game engines
- open source games
- home automation tools
- low-code platforms
- map tools
- message queues
- Open source music servers, installed and played
- observability tools
- Open source office suites, installed and launched
- self-hosted password managers
- project management tools
- screen recorders
- self-hosted analytics
- speech tools
- uptime monitors
- vector databases
- open source video editors
- video players
- whiteboard tools
- wikis
- workflow automation tools
- self-hosted Notion alternatives
- self-hosted dashboards
- self-hosted git servers