Mastro 👨‍🍳
GitHub   Bluesky

The simplest website generator you’ve ever seen.

Mastro is a static site generator and web framework built from first principles. A simple file-based router, a handful of composable functions to return HTML and standard Response objects. No magic, no config. Mastro is mostly about what it doesn’t have:

Screenshot

Easy for beginners

With Mastro, there is very little to learn – except for web standards: HTML, CSS and JavaScript. Use the popular VS Code editor, which also runs in the browser: no need to install anything nor learn the terminal.

Launch with GitHub Guide: Setup

Powerful for experienced developers

I’ve seen things you people wouldn’t believe. Megabytes of JavaScript on fire in the browser. I watched towers of hard to debug abstractions collapse upon themselves. All those moments will be lost in time, like tears in rain. Time to let them die.

Mastro offers you a clean slate to build on. Install Deno, and either use the template repo or run:

Terminal
deno run -A jsr:@mastrojs/mastro@0.1.3/init
Copied!

Star Mastro on GitHub Guide: Mastro API docs

Mastro in the media

Fast for everyone

Mastro websites not only load fast, they are also generated quickly. To process 500 markdown files:

Mastro 0.5s  🏁
Eleventy 0.7s
Astro 2.2s
Next.js 16.3s

Learn to work with the fabric of the web

Start with the fundamentals: HTML and CSS. Then build a static blog. Finally, explore two ways of implementing a to-do list app: once with plain JavaScript, then reactively.

While the guide uses Mastro, the patterns discussed are universal to web development.

Follow the guide

Reactive Mastro – interactivity simplified

The final part of Mastro is a tiny (2.8k min.gz) client-side reactive GUI library for MPAs.

Build interactive user interfaces Why Reactive Mastro?

Community

Something not working as expected? Would you like to contribute? Do you have a suggestion?

Open a GitHub issue