Click it. Fix it.
It's in your code.
Free and open source. EditStatic puts an editor on your staging site. Click a heading or a paragraph, fix what the AI wrote, and save. The new words land in your code on GitHub, and nothing else changes.
Repairs, replacements and inspections across the valley. Free quotes within two business days.
Call (555) 555-0100How it works
From a typo on the page to a live fix,
without once opening a code editor.
-
1
Click the words you want to change
Hover over the page and everything you can edit gets a dashed outline: headings, paragraphs, buttons, links and prices. Click one and type, right where it sits.
The layout, styles and scripts can't be touched, so the site you designed stays the site you designed.
northlineroofing.comFree roof inspections this fall. Book before November 30. Call or Text (555) 555-0100Northline RoofingHomeAboutContactEditingRoofs built for prairie wintersRepairs, replacements and inspections across the valley. Free quotes within two business days.
Call (555) 555-0100 -
2
Swap a photo and describe it
Click any image to replace it. Big phone photos are shrunk to 2400 pixels wide and the GPS location your phone saved inside the file is removed before it uploads.
The same box asks what the photo shows, so screen readers and Google get a real description.
Photo swaps work in the local editor today. On staging sites, text comes first and photos are next.
- Resized automatically
- Location data removed
- Alt text in the same box
northlineroofing.comImageReplace image…Red metal roof on a farmhouseRead aloud by screen readers and used by Google.4032 × 30242400 × 18005.8 MB410 KBGPS 51.04, -114.07Removed
-
3
Check your changes, then save once
Edits stay as drafts, shown in red, until you press Save all. Discard puts everything back the way it was.
If someone else saved the same page while you were working, EditStatic stops instead of writing over their changes.
northlineroofing.com/about/Free roof inspections this fall. Book before November 30. Call or Text (555) 555-0100Northline RoofingHomeAboutContactFamily run since 1998Three generations, one crew, and every job checked by the owner before we leave.
-
4
Only what changed is rewritten
EditStatic changes the inside of the element you edited and nothing else. Indentation, comments, class names and line endings stay byte for byte.
Open the file afterwards and it's still your file, with new words in it.
index.html18 <section class="hero">19 <div class="wrap">20- <h1>Roofs that last through every winter</h1>20+ <h1>Roofs built for prairie winters</h1>21 <p>Repairs, replacements and inspections.</p>22 <a class="btn" href="tel:+15555550100">Call</a>23 <img src="/images/roof.jpg" alt="Shingle roof">24 </div>25 </section>1 line changed212 lines untouched -
5
Live on your site in about a minute
Saving commits the change to your site's GitHub repo, and Netlify or Cloudflare Pages publishes it. Every save is kept in git, so any earlier version can be brought back.
Whoever edits never needs a GitHub account. They open your staging site and enter the password you set.
- Save allYour client
- GitHubCommit to your repo
- Cloudflare PagesPublishes the files
- Livenorthlineroofing.com
Published 58 seconds after Save all
On your staging site or on your computer
-
On your staging site
Add
?editto your staging address and enter your password. Nothing to install, and it works on a phone. A hosted version at app.editstatic.site, with no setup at all, is coming. -
On your computer
For a plain HTML folder,
npx github:jefvandegraaf/edit-static localopens the same editor and writes straight into the files, photos included.
How it compares
| EditStaticFree and open source | Pages CMSGit-based CMS | WordPressSelf-hosted | Page buildersWix, Squarespace, Webflow | |
|---|---|---|---|---|
| How you edit | Click the text on the real page and type | Form fields, then wait for a build to see the page | Dashboard and block editor, separate from the live page | Drag and drop on the page |
| Works with the site you already have | Yes, if its code is on GitHub: HTML, Markdown or React | Only once content is moved into Markdown or JSON with a build step | No, rebuild it as a theme | No, rebuild it on their platform |
| Can the layout get broken? | No. Only the words change | No, only the fields you define | Yes, depending on the user's role | Yes, everything can be moved |
| Signing in | A password you set, on your staging site | A GitHub account or an email code | Username and password | An account on the platform |
| Images | In the local editor: resized to 2400px, GPS removed. On staging sites: next | Uploaded at full size | Automatic sizes; GPS stays unless a plugin removes it | Compressed automatically |
| Undo and history | Drafts until Save all, Discard, every save kept in git | Every save kept in git | Revisions per page and post | Version history, depending on plan |
| What you end up with | Your own files in your repo, with new words in them | Content files plus generator output | PHP and a database | A site that lives on their platform |
| Where it can live | Netlify or Cloudflare Pages (both free) | Any static host with a build step | PHP hosting | Their hosting only |
| Server to maintain | None | None on the hosted version | Yes: updates, plugins, backups | None, it's theirs |
| Page speed | Nothing added to the live site | Nothing added to the live site | Depends on theme, plugins and caching | Platform scripts on every page |
Frequently asked questions
Which sites does it work with?
Sites whose code is in a GitHub repo and that deploy on Netlify or Cloudflare Pages: plain HTML, Markdown sites (Astro, Eleventy, Hugo) and React apps like the ones Lovable, Bolt and Claude Code make. Edits go into the source files, so the next build keeps them. Which tools have been tested is in the platform guide.
Is EditStatic free?
Yes. EditStatic is open source under the MIT license, and the code is on GitHub. If it saves you time, you can leave a tip, become a Supporter for $5 a month or a Patron for $15 a month.
Can you set it up for me?
Yes. I'm Jef, I made EditStatic, and I can set it up on your site, or build your site with it from the start. Get in touch.
Is there a hosted version?
It's coming at app.editstatic.site: the same editor without tokens, settings or GitHub Actions to set up. Until then, the setup guide walks you through it, step by step.
Does my client need a GitHub account?
No. They open your staging site with ?edit at the end, enter the password you set, and EditStatic commits their saves to your repo for them.
Can my client break the layout?
No. They can change words. The layout, styles and scripts can't be edited, and anything they paste in arrives as plain text, so another site's formatting never ends up in your code.
What happens to my code when someone saves?
Only the inside of the element they edited changes. Indentation, comments, attribute order and line endings everywhere else stay byte for byte, so your git history shows exactly what they changed and nothing more.
Can it change images?
In the local editor, yes: photos are resized to 2400 pixels wide, the GPS location is removed, and they go into images/uploads in your repo. On staging sites, text comes first and photos are next.
What if two people edit the same page?
The second save stops before it can overwrite the first. That person reloads the page to get the latest version and makes their change again.
Can I lock parts of a page?
Yes. Add data-edit="off" to any element and nothing inside it can be edited. Add data-edit to turn a whole block into one editable area.