Ghost markdown vs the web editor
Ghost gives you a polished browser editor (Koenig), and it’s genuinely good. So why would anyone want to edit Ghost in plain markdown files on their own machine? Here’s the honest comparison — what the web editor does well, where local markdown pulls ahead, and how to get both.
What the web editor is great at
The Koenig editor lives in your browser at /ghost. Open it, type, hit publish. There’s nothing to install and nothing to sync.
Its real strength is rich content. Koenig cards let you drop in image galleries, embeds, bookmarks, callouts, buttons, and snippets without touching code. For a quick post, a one-off announcement, or anything that leans on those cards, the web editor is the fastest path from idea to published.
If you write occasionally and like composing in the browser, you may not need anything else. That’s a fair outcome — this isn’t a case against Koenig.
What local markdown is great at
Once your Ghost posts also exist as plain .md files in a folder, a different set of doors opens:
- Your own editor. Write in Obsidian, iA Writer, VS Code, Ulysses — whatever you actually enjoy, with your shortcuts and themes.
- Offline. Draft on a plane or a train; no tab, no connection required.
- Bulk edits. Find-and-replace a phrase across 200 posts, retag in batches, or fix a recurring typo in seconds.
- AI passes at scale. Point Claude, ChatGPT, Gemini, or a script at the folder to rewrite excerpts, tighten headlines, or generate meta descriptions across many posts at once.
- Version control. Keep posts in git, see diffs, and roll back a bad edit.
- No lock-in. Portable files you own, readable in any text editor, forever.
The web editor can’t really do any of these. It’s built for writing one post at a time, in the browser, online.
Side by side
| Web editor (Koenig) | Local markdown | |
|---|---|---|
| Setup | None — it’s built in | A sync tool + a folder |
| Quick one-off post | Fast and easy | Slight overhead |
| Rich cards (galleries, embeds) | Native | Limited to markdown |
| Your own editor | No | Yes |
| Offline writing | No | Yes |
| Bulk find-and-replace | No | Yes |
| AI / scripts across many posts | No | Yes |
| Version control (git) | No | Yes |
| Portable, no lock-in | Tied to Ghost | Plain files you own |
The honest takeaway
For casual, occasional writing — and anything that depends on Koenig’s rich cards — the web editor is genuinely the right tool. There’s no reason to add machinery you don’t need.
The local-markdown approach wins when you write seriously or at scale: a steady cadence of posts, a back catalog you maintain, an editor you’re attached to, or a workflow where AI and scripts do real work. The further you get from “one post, now and then,” the more the browser editor starts to feel like a bottleneck.
You don’t have to choose
The catch has always been that Ghost stores posts in its database, not as files — so going local meant exporting, editing, and re-importing by hand. That friction is the whole reason most people just stay in the browser.
Specter removes it. It’s a native macOS menu-bar app that keeps your Ghost site two-way synced with a folder of local markdown. Edit a post in your favorite editor and it flows back to Ghost; change something in Ghost and it lands in your files. It syncs the body, title, tags, status, excerpt, and feature image as markdown plus frontmatter, with a dry-run preview and conflict prompts so nothing gets clobbered.
There’s no built-in AI — you bring your own — which means you can run Claude, ChatGPT, or Gemini over your posts or bulk-edit SEO fields however you like. Setup is a quick connect-to-Ghost step, and if you live in Obsidian, there’s a dedicated sync flow for that.
Specter is $49 one-time, with a free tier of five file syncs a month, and runs on Apple Silicon Macs with macOS 14 or later. Everything stays local-first.
So the real question isn’t “markdown or the web editor.” Keep using Koenig for the quick stuff — and reach for local markdown the moment your writing outgrows the browser.