Open-source CMS

You vibe-coded a beautiful site. Then a client asked to change one word.

Kiln is the open-source, click-to-edit CMS for any static site. The people you invite sign in and edit by clicking the page. Every change is a Git commit to a repo you own — never locked inside Kiln.

A maker on a couch, relaxed, after finishing a website on their laptop
the page is the CMS

Kiln is two sets of code.

One set runs on your page and does the editing. One runs on Cloudflare and handles sign-in and commits. They work against a GitHub repo and the host you choose. No database, no build server.

Kiln · on the page
The editor
The JavaScript that loads on your page and handles the inline editing. Click any element, change it, and Kiln splices the edit into your real HTML at its exact source location.
Kiln · the backend
The worker
A Cloudflare Worker. It handles sign-in and saves each edit to GitHub as a commit. Run it yourself, or let Kiln run it for you.
yours, not ours
A GitHub repo
Your site's code and content, as plain HTML with full history. Owned by you or by your client. Never held by Kiln.
your choice
A host
Cloudflare Pages recommended, free and fine for commercial use. Any host that auto-deploys from GitHub works too, like Vercel or Netlify.

Run both sets yourself for free, or let Kiln run them for you. See the three routes below.

A finished website glowing on a laptop in an empty room at night

A great site is built once. It gets edited forever.

A site built by hand or by AI ships as plain HTML in a repo: fast, cheap to host, hard to change. The moment someone non-technical needs to fix a phone number or add an event, they're stuck, because editing means a code editor, a commit, and a deploy. Kiln adds the missing layer. The people who run the site sign in and edit it on the page, the HTML in your repo stays the only source of truth, and every change is still a normal Git commit.

Everything your editors need.

Editors change words and pictures by clicking the page; the layout and design stay exactly as you built them. Here's the full set — the docs walk through how each one works.

The Kiln menu: Publish, save as draft, schedule, new post or page, page settings, history & restore, add a gallery or events, make text/images editable, site menu, find & replace, people & access, settings
Every one of these hangs off a single draggable button. Sign in at /kiln, edit, publish. Visitors never see any of it.
Edit

On-page text

Click any text and type. Bold, links, lists, and headings, plus the site styles you defined in CSS as the palette, so formatting stays on-brand.

Images & documents

Click a photo to replace it (auto-compressed for the web), set its display size, or shrink the file. Insert images and PDFs anywhere in a paragraph, as a link, a chip, or a card.

Blocks & tables

Cards, team lists, schedule rows: duplicate, reorder, remove. Tag any block and visitors get automatic filter buttons above the list.

Structured content

Galleries

Turn any photo area into a gallery. Editors upload many photos at once; visitors get a grid and a full-screen lightbox with paging and captions.

Events & calendar

Add events through a form (date, time, location, link). Visitors switch between list, month, week, and day views, rendered from the same content.

Blog & new pages

A new post writes the article and its listing card in one commit. New standalone pages come from your template. No build pipeline.

Publish & access

History, drafts, scheduling

Every publish is a Git commit. Save drafts, schedule for a future time, browse a page's timeline, and restore any earlier version.

Editors & members

Add people by Google email, no GitHub account needed. Scope editors to certain pages or sections; give members access to gated /members/ pages and files.

Invisible to visitors

Visitors load a ~3 KB shim; pages with galleries or calendars add one ~5 KB file. The full editor loads only for people signed in at /kiln, and two editors on one page see each other.

You set it up once, then invite others to sign in and edit.

One person handing a key across a laptop to another, warmly
You

Set it up once

You connect a GitHub repo and the worker, about ten minutes with the wizard. The repo can stay yours, or belong to your client. After that, editing happens at yoursite.com/kiln.

Editors

Zero setup

Anyone you add can change content: your client, their team, or you. Add their Google email, they sign in with Google and edit. No GitHub account, nothing to install. You can also limit an editor to certain pages, like just the blog.

Members

Zero setup

People who only need to reach your gated pages. Add them by Google email, just like editors, and they sign in to unlock the members-only pages and files for as long as you allow.

A full CMS site that can run entirely free.

WordPress can't really be hosted for free: it needs a database and an app server running around the clock, and someone has to pay for those. Kiln needs neither. Your HTML files are the database, a static host serves them, and one free Cloudflare Worker handles sign-in and commits. If you self-host, the whole stack is free! The paid routes exist if you'd rather not run the worker, or not run anything at all.

Edit on the pageAny static HTMLBackend to runUpkeep & ease of usePrice
KilnYesYesOne small workerLow, set up once$0, open source
WordPressPartlyNo, PHP and themesServer, DB, patchesHigh, constant updates$5 to 25+/mo
Squarespace, WebflowYesNo, their platformn/aLow, but locked in$16 to 25+/mo
CloudCannonYesSSGs onlyn/aLow, hosted for you$45+/mo
Decap, SveltiaNo, a form dashboardYesNone, GitFiddly to wire upFree

Three routes. Pick who runs the infrastructure.

The editor and your repo are the same on all three.

Open source

Self-hosted

Free forever, open source (AGPL-3.0)

You run: the worker + your own GitHub App.
You keep: the repo + the host.
  • You run the sign-in & commit worker. The wizard sets it up.
  • You host the site: Cloudflare Pages, Vercel, or Netlify
  • Your repo, your data, every feature
  • The wizard wires GitHub & Cloudflare for you, end to end
How to self-host
Kiln Cloud

Hosted engine

$4.99 / mo per site · 7-day free trial

We run: the shared worker + GitHub App.
You keep: the repo + the host.
  • Self-serve: run npx github:kilncms/kiln to prep your repo
  • We run the sign-in & commit worker for you
  • You keep your own repo and your own hosting
  • Nothing to deploy or maintain
Start free trial
Fully managed

We set it up

$14.99 / mo per site · 7-day free trial

We run: everything, hosting included.
We do: the setup, no code from you.
  • We set your existing site up on Kiln for you
  • You don't touch any code
  • Your content still lives in your repo, yours to take
  • Email on your domain — we set up receive-only forwarding at onboarding ([email protected] → your inbox)
  • Optional Concierge setup & tagging — one-time $399
Start free trial

Who runs what?

There are two pieces of infrastructure. The routes differ in who runs them and who does the setup.

Self-hostedKiln CloudFully managed
Site repo (your content)YouYouYou
Static hostYouYouKiln
Sign-in & commit workerYou deploy itKilnKiln
GitHub AppYours, wizard makes itKiln's, on your repoKiln's, on your repo
Making pages editableWizard or your AIThe npx commandKiln does it
Google sign-in for editorsYour own OAuth clientIncludedIncluded
Leaving KilnDelete two script tags — your site is already plain HTML in your repo

Which is for me? Comfortable in a terminal and want it free, start with self-host. Want to skip running the worker but keep your own host, Kiln Cloud. Want to touch none of it, fully managed. Your content lives in a GitHub repo you keep on all three, so you can change your mind later without moving anything.

Why "Kiln"

Your words, fired into permanent pages.

A kiln turns soft clay into something that lasts. Kiln turns a click into a Git commit: plain HTML in a repo you control, with every version kept. Nothing to export later, because your code never left your hands.

A home ceramics studio with handmade mugs and a softly glowing kiln

Common questions.

Is the editor different on the paid plans?

No. It's identical on all three. The difference is who runs the infrastructure.

Can I move between plans?

Yes, any direction. Your site is plain HTML in a GitHub repo that you keep on every plan, so switching is a simple config change.

Do I keep my website if I cancel?

Always. Every edit was a commit to your own GitHub repository and the content is already yours. Removing Kiln entirely is just deleting two script tags in your HTML.

What kind of sites does Kiln work with?

Static sites: plain HTML/CSS/JS in a GitHub repo, on any host that redeploys on push (Cloudflare Pages, Netlify, Vercel, GitHub Pages). If an AI built your site, it's almost certainly a fit.

Who charges my card if I'm on a paid plan?

Lemon Squeezy, our authorized reseller and merchant of record. Monthly, recurring; cancel any time and keep access through the period you paid for. Details on Pricing.

Is it really free? What is the catch?

Kiln is open source (GNU AGPL-3.0), free for any use, including commercial and client work, for your own sites. GitHub repos are free. Cloudflare Pages hosts the site on a free tier that allows commercial use, and a free Cloudflare Worker handles sign-in and coordinates every commit. The catch is that you self-host those two free things, which the wizard sets up in about ten minutes.

Do my editors need GitHub accounts?

No. Whoever owns the repo signs in with GitHub. Everyone else, your client, their team, or members, signs in with Google. Their changes are committed on their behalf and attributed by name.

Can editors break my design?

That is the whole point. Editors change content, not layout. Text, images, links, list items, menu entries: yes. Dragging boxes around or changing fonts: deliberately not. Styles come from a palette you define in CSS.

Do I have to host on Cloudflare?

The sign-in worker runs on Cloudflare Workers, which are free. Your site itself can live anywhere that auto-deploys from GitHub. Cloudflare Pages is recommended because it is free and allows commercial use, but Vercel, Netlify, and GitHub Pages work too. On the fully managed route, Kiln handles hosting for you.

Does it work with a site my AI built?

Yes, that is the common case. Paste KILN_PROMPT.md into v0, Lovable, Bolt, or Claude and it wires your existing HTML for click-to-edit. On self-host the AI can point-and-run the whole setup with your own credentials.