Your website is a text file.
Write a small .page file and publish it as static HTML, with forms built in. It goes on a micropage.sh subdomain, or your own domain on Pro. The file stays yours.
Start freeSee real .page filesFree: one site on a micropage.sh subdomain. Pro, $6/mo: your own domain, the CLI and MCP server, a zip of the built site.
The file, and the site it makes
The first lines of lantern.travel's file (abridged) and the page they produce. Every site in the showcase links to its full source. This page is a file too.
[site]
title: Lantern
description: A simpler way to let people know you're safe while traveling
logo: <- lantern-logo.svg
colors:
primary: #2563eb
[nav]
Home -> /
How it works -> /how-it-works
Contact -> /contact
[Home -> /]
/// section bg:info text:light align:center
col:
h1: Check in once. Reduce worry for everyone.
p: A simpler way to let people know you're safe while traveling. One app. Clear updates.
btn-secondary: See how it works -> /how-it-works
col:
img: height:640 <- lantern-welcome.png One way to write each thing
.page is not Markdown. It's a small, closed grammar for the things a site needs and Markdown doesn't have: nav, sections, columns, buttons and forms. One element per line, no nested tags, no arbitrary CSS. The whole spec is 104 lines.
Nothing to invent
There is one spelling for each thing: -> is always a link, <- is always a file from your folder, col: is always a column. That keeps diffs clean and mistakes local. It's also why agents get it right: the vocabulary is closed, so the editor's AI tab and your own agent, through the MCP server, have nothing to invent.
One escape hatch
/// html is the escape hatch: raw HTML for embeds and the few things the grammar doesn't cover. Everything else stays in the vocabulary, so a file reads the same whoever wrote it.
What it's for
Landing pages, small multi-page sites and blogs. Posts are Markdown, published at /content with an RSS feed, so the page grammar can stay small. Not for app UIs, pixel-perfect design or design systems; use Framer, Webflow or a frontend stack for those.
What's built in
Forms
A form is a few lines in the file. Submissions land in the editor, so a landing page needs no backend. CSV export and an email digest on Pro.
Newsletter
Turn any form into a signup. Subscribers live in the editor. Sending broadcasts is on Pro.
Posts
Markdown files with front matter, published at /content with RSS, from the editor or the CLI. On Pro, posts can also go out to subscribers.
Publishing
Static HTML on Cloudflare Pages over HTTPS. On Pro, a first deploy takes about 3 minutes and updates go live in 2 or less; free builds wait in a queue a few minutes longer. Every build is numbered and can be rolled back.
On Pro, $6 a month or $49 a year
Your own domain
Point a subdomain like www at Micropage with one DNS record; HTTPS is set up and renewed for you. The bare domain redirects to www.
The CLI
Install with Homebrew or npm. The .page file lives in your repo and micropage publish deploys it. Pro+ adds deploy tokens, so GitHub Actions can publish.
Zip export
Download any build as plain HTML, CSS and fonts. It works from disk and on any host, so leaving is a download, not a migration.
MCP server
Connect Claude Code, Claude Desktop, Cursor or VS Code, and your agent creates, edits and publishes pages and posts the way the CLI does. Sending email and deleting projects are off by default.
What a published page loads
Static HTML and one first-party stylesheet trimmed to that site. Measured in October 2026, this site included.
One stylesheet, 8 to 12 KB
Bootstrap compiled and purged against that site's HTML, gzipped. Fonts are self-hosted. Dark mode follows the visitor's OS in CSS, with no theme script.
Almost no JavaScript
Small inline scripts for the mobile menu and nav dropdowns, only on sites that have them. No framework, no Bootstrap JS, no error reporting.
Nothing third-party
Unless you add it yourself in a /// html block; this site adds its own analytics that way. The one exception: Cloudflare Turnstile on pages with a form, to keep spam out.
lantern.travel
A simpler way to let people know you're safe while traveling. One file.
maproll.io
Choropleth maps from a URL. Eleven pages across eight .page files, plus a weekly blog.
Pricing
Carrd is cheaper. Framer is prettier. Micropage is the page you still own as a file.
The .page file is plain text on every plan. On Pro the built site is a zip download too, so you can leave whenever you want.
Free
See if the format clicks.
$0
1 project · web editor with monthly AI credits · 100 form submissions
On a micropage.sh subdomain, with a badge. No CLI, custom domain or zip.
Pro
Launch a real site.
$6/mo · $49/year
Your domain, the CLI, MCP server, zip export, newsletter sending, CSV, no badge
5 projects · 1,000 submissions/month
Pro+
Operate it.
$12/mo · $96/year
Webhooks, CI deploy tokens, instant email, 20 projects
10,000 submissions/month
Why this exists
I'm visually impaired, and most website builders assume you can drag blocks around a visual canvas. I can't do that reliably, but I can work in text and with a keyboard all day. So I built Micropage: one small .page file per site, published as static HTML. I use it for every site I run.
Cosmin Stefaniga
Start with one file
Free for one site on a micropage.sh subdomain, no card. If the format doesn't click, you stop, and the .page file is still yours.
Start freeRead the docs