EmDash vs Ghost
EmDash is an open-source traditional CMS that you host yourself. Ghost is an open-source traditional CMS that you can host yourself or run on the vendor's cloud. The table below sets them side by side on 28 features. They get a different status on 14.
- EmDash Traditional · Open source · 14 of 28 built in
- Ghost Traditional · Open source · 10 of 28 built in
Sources checked: EmDash on 29 Sept 2026, Ghost on 29 Sept 2026. Plans and releases can change after those dates.
WAYF is an official Payload partner and top contributor. Every platform in the table is classified by the same published definitions, and each answer lists the vendor page it came from.
Feature comparison
| Platform | | |
|---|---|---|
| Overview | ||
| What it is | Open-source CMS from Cloudflare that runs inside an Astro site, with the admin and pages in one app on Cloudflare Workers or Node.js. | Open-source Node.js publishing platform with built-in newsletters, memberships and paid subscriptions. Self-hosted or run on Ghost(Pro). |
| Edition compared The product and release each column describes. | EmDash 1.0, open source Version 1.0.1, released 28 Sept 2026 | Ghost 6, self-hosted open source and Ghost(Pro) Version 6.65.0, released 22 Sept 2026 |
| Vendor | Cloudflare emdashcms.com | Ghost Foundation (non-profit) ghost.org |
| Licence | Open source MIT | Open source MIT |
| Hosting | Self-hosting No vendor cloud No managed hosting. You deploy to your own Cloudflare account or Node.js server. | Self-hosting Vendor cloud Ghost(Pro) Starter allows only the default theme and no custom integrations. |
| Built with | TypeScript, Astro | Node.js, JavaScript, Handlebars themes |
| Database | SQLite, Cloudflare D1, PostgreSQL, libSQL | MySQL |
| Pricing Public list prices only. Hosting and implementation are extra everywhere. | Free to start Free and open source. You pay only for hosting. | Free to start Free to self-host. Ghost(Pro) Starter $18, Publisher $29, Business $199 per month, billed yearly. |
| Content modelling | ||
| Content model in code You define content types in files in your repository, review them like any other code and apply them from there. Imperative migration scripts alone count as limited. | Limited Seed files set up new sites. A live site's model changes through the admin, API or CLI. 20 | Not available Fixed model of posts, pages, tags and members. |
| Content model in the UI Admins can create and change content types and fields in the admin interface without writing code. | Built in Admin role only. 220 | Not available |
| Reusable blocks Editors compose pages from reusable, typed components or blocks, and can reorder them. | Built in Blocks field with versioned block types. 5 | Built in Fixed set of editor cards plus reusable snippets. 10 |
| Localization Editors translate content per locale inside the CMS, by field or by entry, without a separate site for each language. | Built in Each translation is a separate entry with its own status. 6 | Not available One content language per site. |
| Image transformations The CMS resizes, crops or converts images on request, through URL parameters or generated sizes, with no external service. | Built in Uses Astro's image endpoint for sizes and formats. Crop and focal point in the editor. 78 | Built in Ghost generates theme-defined image sizes automatically. 5 |
| APIs and delivery | ||
| REST API A documented REST or JSON HTTP API returns content. | Built in 9 | Built in Content API and Admin API. 12 |
| GraphQL API The vendor or an official module provides a GraphQL API for content. | Not available | Not available |
| Webhooks The CMS can call an external URL when content is created, changed or published. | Plugin or add-on Official webhook-notifier plugin. 18 | Built in Via custom integrations. Not available on Ghost(Pro) Starter. 42 |
| Renders the website The CMS itself renders and serves the public pages through themes or templates. Headless-only products answer no. | Built in The Astro site renders the pages. 2 | Built in Handlebars themes. |
| Editorial workflow | ||
| Drafts Editors save changes as a draft and publish them later. The live version stays untouched until then. | Built in 10 | Limited Edits to a published post go live on Update. No pending draft. 13 |
| Scheduled publishing An editor can set a future date and time for content to publish or unpublish. | Built in 10 | Built in Scheduled publishing only. |
| Version history The CMS keeps earlier versions of an entry, and editors can compare or restore them. | Built in On revision-enabled collections. 10 | Built in Post history with one-click restore. 6 |
| Preview Editors can see unpublished content rendered as it will appear on the site before publishing. | Built in Signed preview links. 11 | Built in |
| Visual editing Editors can click on the rendered page and edit content in place or in a side panel next to it. | Built in Signed-in editors get visual editing on the rendered page. 11 | Not available The admin toolbar on the live site links to the editor. 9 |
| Approval workflows Content moves through review stages you configure, such as draft, review and approved, with permissions per stage. | Not available Contributors cannot publish. No configurable review stages. 1210 | Limited Contributors draft and Editors publish. No configurable stages. 7 |
| Content releases Editors group changes across several entries and publish them together as one release. | Not available | Not available |
| Real-time co-editing Two or more editors can work on the same entry at once and see each other's changes live. | Not available | Not available |
| Access and governance | ||
| Custom roles Admins define their own roles with granular permissions instead of picking from a fixed set. | Not available Five fixed roles from Subscriber to Admin. 12 | Not available Fixed staff roles. 7 |
| Field-level permissions Admins can restrict access to single fields, on top of content types and entries. | Not available 12 | Not available |
| Single sign-on Editors can sign in through SAML or OpenID Connect against a company identity provider. | Limited Microsoft Entra sign-in built in. Other IdPs through Cloudflare Access. No native SAML. 12 | Paid tier Ghost(Pro) Custom plan only. Not in self-hosted Ghost. 2 |
| Audit log The CMS logs who changed what and when across the whole installation, and admins can review the log. | Plugin or add-on Official audit-log plugin. 19 | Built in History log of staff actions. 8 |
| Platform and extensibility | ||
| Multiple sites One installation or account can manage several separate websites or brands with shared users. | Not available | Not available |
| Extensible admin UI Developers can add their own components, views or fields to the editing interface. | Built in Plugins add admin pages and dashboard widgets. 13 | Not available The admin app has no extension points. |
| Plugin marketplace The vendor runs an official directory or marketplace of installable extensions. | Built in Plugin registry, launched with 1.0. 143 | Limited Theme marketplace only. Ghost has no plugin system. 2 |
| Form builder Editors can build and publish forms and collect submissions without code. | Plugin or add-on Official forms plugin. 17 | Not available Member signup forms only. |
| Site member accounts The platform handles sign-up and login for public site users or members, separate from editors. | Limited Subscriber role reads member-only content. Members share the editors' user system. 12 | Built in Members with free and paid tiers. 3 |
| AI writing assistant A first-party AI feature in the editing interface generates, rewrites or translates content. | Not available | Not available |
| Official MCP server The vendor publishes a Model Context Protocol server so AI agents can read or write content. | Built in Built in and on by default. 15 | Not available Community MCP servers only. 11 |
EmDash sources
Checked 29 Sept 2026. EmDash 1.0, open source.
- emdash on the npm registry
- EmDash homepage
- EmDash 1.0: an open source CMS for Astro
- EmDash repository on GitHub
- EmDash docs: Blocks
- EmDash docs: Internationalization
- EmDash docs: Configuration reference
- EmDash docs: Media Library
- EmDash docs: REST API
- EmDash docs: Content lifecycle
- EmDash docs: Preview mode
- EmDash docs: Authentication
- EmDash docs: Plugins overview
- EmDash docs: Plugin registry
- EmDash docs: AI tools and MCP server
- EmDash docs: Database options
- @emdash-cms/plugin-forms on the npm registry
- @emdash-cms/plugin-webhook-notifier on the npm registry
- @emdash-cms/plugin-audit-log on the npm registry
- EmDash docs: Evolving a deployed site
Ghost sources
Checked 29 Sept 2026. Ghost 6, self-hosted open source and Ghost(Pro).
- Ghost releases on GitHub
- Ghost(Pro) pricing
- Ghost 6.0 changelog
- Webhooks (Ghost docs)
- Theme assets and responsive images (Ghost docs)
- Post history (changelog)
- Staff users (Ghost docs)
- History log (Ghost help)
- Your new admin toolbar (changelog)
- Intro to the editor (Ghost help)
- MFYDev/ghost-mcp on GitHub
- A new Ghost Admin API (changelog)
- Add option to save changes in published posts (Ghost Forum)
Considering more platforms? Compare EmDash and Ghost with the rest of your shortlist in the CMS comparison tool.
Where they differ
EmDash and Ghost get a different status on 14 of the 28 features and the same status on 14. EmDash has 14 built in on its baseline edition, Ghost has 10. Two matching statuses can still name different paid tiers or limits, so read the notes in the table before treating a row as equal.
- Vendor cloud
- EmDash has no vendor-run cloud. Ghost has a vendor-run cloud.
Built in on EmDash, a different answer on Ghost 7
- Content model in the UI EmDash: Built in. Ghost: Not available.
- Localization EmDash: Built in. Ghost: Not available.
- Drafts EmDash: Built in. Ghost: Limited.
- Visual editing EmDash: Built in. Ghost: Not available.
- Extensible admin UI EmDash: Built in. Ghost: Not available.
- Plugin marketplace EmDash: Built in. Ghost: Limited.
- Official MCP server EmDash: Built in. Ghost: Not available.
Built in on Ghost, a different answer on EmDash 3
- Webhooks EmDash: Plugin or add-on. Ghost: Built in.
- Audit log EmDash: Plugin or add-on. Ghost: Built in.
- Site member accounts EmDash: Limited. Ghost: Built in.
Built in on neither, with different answers 4
- Content model in code EmDash: Limited. Ghost: Not available.
- Approval workflows EmDash: Not available. Ghost: Limited.
- Single sign-on EmDash: Limited. Ghost: Paid tier.
- Form builder EmDash: Plugin or add-on. Ghost: Not available.
More comparisons
EmDash against other platforms
- Adobe Experience Manager vs EmDash
- Contentful vs EmDash
- Contentstack vs EmDash
- CoreMedia Content Cloud vs EmDash
- Craft CMS vs EmDash
- DatoCMS vs EmDash
- Decap CMS vs EmDash
- Directus vs EmDash
- Drupal vs EmDash
- EmDash vs FirstSpirit
- EmDash vs Framer
- EmDash vs HubSpot CMS
- EmDash vs Hygraph
- EmDash vs Instatic
- EmDash vs Joomla
- EmDash vs Keystone
- EmDash vs Kirby
- EmDash vs Liferay DXP
- EmDash vs Optimizely CMS
- EmDash vs Payload
- EmDash vs Prismic
- EmDash vs Progress Sitefinity
- EmDash vs Sanity
- EmDash vs Sitecore
- EmDash vs Squarespace
- EmDash vs Statamic
- EmDash vs Storyblok
- EmDash vs Strapi
- EmDash vs TYPO3
- EmDash vs Umbraco
- EmDash vs Wagtail
- EmDash vs Webflow
- EmDash vs Wix
- EmDash vs WordPress
- EmDash vs Xperience by Kentico
Ghost against other platforms
- Adobe Experience Manager vs Ghost
- Contentful vs Ghost
- Contentstack vs Ghost
- CoreMedia Content Cloud vs Ghost
- Craft CMS vs Ghost
- DatoCMS vs Ghost
- Decap CMS vs Ghost
- Directus vs Ghost
- Drupal vs Ghost
- FirstSpirit vs Ghost
- Framer vs Ghost
- Ghost vs HubSpot CMS
- Ghost vs Hygraph
- Ghost vs Instatic
- Ghost vs Joomla
- Ghost vs Keystone
- Ghost vs Kirby
- Ghost vs Liferay DXP
- Ghost vs Optimizely CMS
- Ghost vs Payload
- Ghost vs Prismic
- Ghost vs Progress Sitefinity
- Ghost vs Sanity
- Ghost vs Sitecore
- Ghost vs Squarespace
- Ghost vs Statamic
- Ghost vs Storyblok
- Ghost vs Strapi
- Ghost vs TYPO3
- Ghost vs Umbraco
- Ghost vs Wagtail
- Ghost vs Webflow
- Ghost vs Wix
- Ghost vs WordPress
- Ghost vs Xperience by Kentico
Open the CMS comparison tool to put up to six platforms in one table.
We're booking content platform
engagements for 2026.
Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.