Keystatic vs CloudCannon
Compare Keystatic and CloudCannon side-by-side. Explore setup, editing experience, non-technical usability, collaboration, Git workflow, and pricing.
Keystatic
Git-Based CMSKeystatic is a free, open-source, Git-based CMS built by Thinkmill. It stores content as Markdown, Markdoc, MDX, JSON, or YAML files directly in your Git repository. The admin UI is bundled inside your application and reads from and writes to those files with no separate CMS server or database. Keystatic is code-first and TypeScript-native.
Get Started with KeystaticCloudCannon
Git-Based CMSCloudCannon is a Git-based CMS platform built for agencies and development teams managing client websites at scale. It offers a great visual editing experience and deep SSG integration, but requires developer configuration before editors can get started. CloudCannon is best suited for teams with dedicated developers who need a robust, enterprise-grade content workflow.
Visit CloudCannonOverview
| Feature | Keystatic | CloudCannon |
|---|---|---|
| CMS type | Git-Based (open-source, MIT-licensed) | Git-Based (commercial, agency-focused) |
| SSG support | Astro, Next.js, Remix (first-party integrations). SvelteKit via community setup. Hugo, Jekyll, and 11ty not officially supported. | Jekyll, Hugo, Eleventy (11ty), Astro, Next.js, SvelteKit, Gatsby, MkDocs |
| Pricing entry point | Free forever (core CMS). Keystatic Cloud Pro starts at $10/mo per team (3 users included, $5/mo per additional user). | $55/mo (monthly) or $49/mo (annual). No lifetime option. |
| Free plan | β Yes β Core CMS is free forever with no cap. Keystatic Cloud Free allows up to 3 users per team. | β No β No free plan. 21-day trial only. |
| Free trial (without credit card) | β Not needed β the core CMS is permanently free. | β οΈ Yes but β 21 days, credit card required at the end of the trial. |
| Content security | β Yes β Highly secured. No database, no CMS server. Content stored as static files in your own Git repository. | β Yes β Highly secured. No database to hack since files are stored in your Git repo. |
| Native language support | β No β Admin UI is English only. No native language switcher, and i18n for content requires manual workarounds. | β No β No native support. Content translation is handled via third-party tools (e.g. Rosey). |
| Mobile friendly | β οΈ Yes but β Mobile-first editing is listed as a feature, but multiple user reports note the interface isnβt fully optimized and can be complex on smaller screens. | β No β No dedicated mobile-optimized editing experience. |
Setup & Configuration
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Non-technical setup | β No β A developer must install the package, create a keystatic.config.ts file, and configure storage and authentication first. | β No β Developer-led setup required. Needs a cloudcannon.config.yml file to configure inputs and structures. |
| Starter templates | β οΈ Yes but β Official CLI starters exist for Astro and Next.js. A small number of community starters, no large library. | β No β Only an Astro starter with prebuilt components. Fewer SSG-specific options overall. |
| Edit schema modifier | β No β Schema is defined entirely in code via keystatic.config.ts (TypeScript), edited outside the CMS. | β οΈ Yes but β Via the cloudcannon.config file, editable in-app through Configuration Mode. No visual schema editor. |
Editing Experience
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Editor | Rich text (WYSIWYG) + Markdoc + MDX + JSON/YAML. Auto-generated from your TypeScript schema. | WYSIWYG Visual Editor β true on-page editing. |
| Live preview system | β οΈ Yes but β Real-time previews via Next.js Draft Mode integration. Requires developer setup and is tied to that specific integration. | β Yes β Real-time in-page preview rendered inside an iFrame. Changes are visible immediately without a full rebuild. |
| AI assistant integration | β No β No built-in AI assistant or content generation tool in the core CMS or Keystatic Cloud. | β οΈ Yes but β βAI-ready infrastructureβ designed for external AI agents, not an in-editor writing assistant. |
| Collaborative editing | β οΈ Yes but β Multi-player editing is an experimental feature on Keystatic Cloud Pro. The core CMS has none, and simultaneous saves create unresolved Git merge conflicts. | β οΈ Yes but β Only one user edits a file at a time; others can view live in read-only mode, with no merge-conflict risk. |
| iFrame embed preview | β No β Not a built-in or documented feature. | β Yes β iFrames are used natively in the Visual Editor for live page previews. |
| Shortcode support | β Yes β Content components (custom blocks) are supported within Markdoc and MDX fields. | β Yes β Shortcodes can be mapped to visual editing components via configuration. |
| SEO tools | β No β Only slug generation via the slug field type. No built-in SEO analysis, SERP preview, or scoring. | β οΈ Yes but β Built-in SEO optimization tools. No SERP preview. |
| Dark mode | β No β No dark mode documented for the Keystatic admin UI. | β Yes β Light and dark mode available, follows browser default. |
Non-Technical User Experience
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Designed for non-technicals | β οΈ Yes but β Editors can use the visual admin UI once set up, but Keystatic is developer-first: all schema config and setup require a developer. | β οΈ Yes but β Requires a developer for initial setup and configuration before editors can use it. |
| Version rollback | β οΈ Yes but β Every save is a Git commit, giving full history. No dedicated non-technical rollback UI. | β οΈ Yes but β Requires technical knowledge or developer access to execute. |
| Initial setup by non-dev | β No β A developer must install the package, define the TypeScript schema, and configure storage and authentication first. | β No β A developer must configure the CMS and instrument templates before editors can use it. |
Media Management
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Media management | β οΈ Yes but β Images upload and store in the Git repo via the image field. Keystatic Cloud Pro adds managed Cloud Images. No folder organization or renaming in the CMS UI. | β Yes β Drag-and-drop media library. Integrates with DAMs (Amazon S3, Cloudinary, Google Cloud Storage) and Git LFS for large-scale asset management. |
| External image URL support | β οΈ Yes but β External URLs can be referenced in content fields. Keystatic Cloud Images serves via Cloudflare CDN with transform params; no native S3/Cloudinary plugin outside Cloud Images. | β οΈ Yes but β Handled via DAM integrations. No direct inline external URL support. |
Collaboration & Teams
| Feature | Keystatic | CloudCannon |
|---|---|---|
| User access | β οΈ Yes but β Keystatic Cloud allows login without a GitHub account. Without Cloud, editors must authenticate directly via GitHub OAuth. | β Yes β Editors can be invited via email without needing a personal Git account, on any plan. |
| Custom roles | β No β No role-based access control at all, in the core CMS or Keystatic Cloud Free/Pro. All team members can access all projects in a team. | β Yes β Default permissions on the Standard plan. Custom Permission Groups available on Team and Enterprise. |
| Organization management | β οΈ Yes but β Keystatic Cloud organizes projects into teams. Requires the paid Cloud tier for anything beyond a single project. | β Yes β Organization-level management supported on all plans. |
| Branch workflows | β οΈ Yes but β Branch creation and switching happen inside the admin UI via GitHub mode. No built-in PR creation, review, or merge β thatβs done directly in GitHub. | β οΈ Yes but β Advanced branching workflows are only available on the Team and Enterprise plans. |
Git & Deployment
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Git providers | GitHub only via Keystatic Cloud. GitHub and local filesystem in self-hosted mode. No GitLab or Bitbucket. | GitHub, GitLab, Bitbucket. |
| Vendor lock-in | β No β No vendor lock-in. Content is stored as static files (Markdown, YAML, JSON) in your own GitHub repository. Keystatic Cloud is optional. | β No β All content stored as standard files (Markdown, JSON, YAML) in your own Git repository. |
| Deployment | Works with any Git-connected CI/CD platform. No built-in one-click deployment. | Pushes to your Git repo, triggering builds on external hosts (Vercel, Netlify, Cloudflare Pages). Also offers built-in hosting on a global Cloudflare CDN. |
Accessibilities
| Feature | Keystatic | CloudCannon |
|---|---|---|
| Global search | β No β Only a per-collection filter by title or slug. No global cross-collection search. | β No β No dedicated global search across CMS content. |
| Edit configs as code | β Yes β All configuration is done in code via keystatic.config.ts. | β Yes β Configuration Mode allows editing the cloudcannon.config file directly within the app. |
| Mermaid diagram preview | β No β Not a built-in or documented feature. | β No β Not a supported feature. |
There's a third option: Sitepins
Keystatic has no role-based access control at all, and CloudCannon charges $55/mo with no free plan. Sitepins gives every team custom roles, a visual editor, an AI writing assistant, and real-time collaboration from day one β with zero config to get started, on a free forever plan or a $199 one-time lifetime deal. Like Keystatic, Sitepins is open source (AGPL-3.0, on GitHub) and can be self-hosted.
Which one is right for you?
A quick summary to help you choose the right Git-based CMS.
Choose Keystatic if:
- You want a completely free, self-hosted CMS with no required subscription
- Your team is comfortable defining schemas in TypeScript and wants a type-safe Reader API
- You're building specifically with Astro, Next.js, or Remix and want first-party integration depth
- Content should live entirely inside your codebase with zero separate CMS server
- You want a cheap managed-cloud upgrade path ($10/mo for a 3-user team) instead of an agency-priced plan
Choose CloudCannon if:
- You need a true on-page WYSIWYG visual editor with real-time preview, no developer wiring required
- You need role-based permissions and organization management from your very first paid plan
- You want built-in DAM integrations (S3, Cloudinary, Google Cloud Storage) and Git LFS for large media libraries
- Your team uses GitLab or Bitbucket, not just GitHub
- You're managing multiple client sites and need agency-grade workflows and dedicated support
Already using another CMS?
Whether you are coming from WordPress, Contentful, Sanity, or any other platform, our team is ready to help you migrate your content, structure, and workflows with zero downtime. Migration support is available for all users on the Team plan or the Lifetime deal. We handle the boring, tedious tasks so you can focus on launching as soon as possible.
Get Started with Sitepins
Get started for free today and discover easy, flexible, and full control over your content.