# KeystoneJS vs TinaCMS

**Leader by Vioscale score:** TinaCMS

| Attribute | KeystoneJS | TinaCMS |
|---|---|---|
| **Vioscale score** | 58.9 (56% (medium)) | 69.1 (55% (medium)) |
| activity.commits_last_30d | 100 | - |
| adoption.github_stars | 9,963 | - |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true,"hybrid":true,"self_hosted":true}` |
| description.long | A headless CMS for developers that provides a GraphQL API and management UI for content and data. Developers define a schema and get a powerful backend without boilerplate or bootstrapping. | TinaCMS is a headless content management system designed for developers who want to maintain full control over their codebase while giving content editors a user-friendly visual interface. It stores content as Markdown files in Git repositories, eliminating the need for a separate database, and supports real-time visual editing across multiple frameworks. |
| features.capabilities | `{"cms_type":"headless","free_tier":true,"open_source":true,"headless_api":true,"self_hostable":true,"visual_builder":false,"content_workflow":true,"plugin_ecosystem":"Custom field types and extensible architecture","structured_content":true}` | `{"cms_type":"headless","free_tier":true,"multisite":true,"open_source":true,"git_workflow":true,"headless_api":true,"localization":true,"self_hostable":true,"visual_builder":true,"managed_hosting":true,"content_workflow":true,"plugin_ecosystem":"Customizable input components and form fields; extensible schema validation","structured_content":true}` |
| integrations.count | 4 | 27 |
| integrations.list | `[{"name":"Cloudinary"},{"name":"Prisma"},{"name":"Apollo Client"},{"name":"OpenTelemetry"}]` | `[{"name":"Astro"},{"name":"Next.js"},{"name":"Hugo"},{"name":"Gatsby"},{"name":"Jekyll"},{"name":"Remix"},{"name":"11ty"},{"name":"SvelteKit"},{"name":"WordPress"},{"name":"Docusaurus"},{"name":"GitHub"},{"name":"Vercel"},{"name":"Netlify"},{"name":"GitHub Pages"},{"name":"Cloudflare Pages"},{"name":"Cloudflare Workers"},{"name":"Alibaba Cloud"},{"name":"AWS S3"},{"name":"Cloudinary"},{"name":"Digital Ocean Spaces"},{"name":"Vercel KV"},{"name":"MongoDB"},{"name":"Auth.js"},{"name":"Clerk"},{"name":"TinaCloud"}]` |
| language.primary | TypeScript | - |
| license.spdx | MIT | - |
| market.availability | - | `{"primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true,"web":true}` |
| pricing | `{"type":"open_source","summary":"Free and open source","freeTier":true,"sourceUrl":"https://keystonejs.com","retrievedAt":"2026-08-03T14:26:59.733Z"}` | `{"type":"subscription","plans":[{"free":false,"name":"Team Plus","components":[{"kind":"fixed","amount":49,"period":"month","currency":"USD"}],"description":"Access to Editorial Workflow feature","contactSales":false},{"free":false,"name":"Business","components":[{"kind":"fixed","amount":299,"period":"month","currency":"USD"}],"contactSales":false},{"free":false,"name":"Enterprise","contactSales":true}],"summary":"From $49/month. Free open-source tier.","currency":"USD","freeTier":true,"sourceUrl":"https://tina.io/blog/Pricing-Updates-its-now-cheaper-to-use-Tinas-best-feature-","retrievedAt":"2026-08-13T22:39:17.045Z","startingPrice":{"amount":49,"period":"month","currency":"USD"},"billingPeriods":["month"]}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | freemium |
| pricing.price_level | free | mid |
| pricing.transparent | - | yes |
| release.cadence_days | 14 | - |
| release.history | `[{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-20","date":"2026-08-20T01:10:41Z","type":"stable","version":"2026-08-20"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-18","date":"2026-08-18T05:59:51Z","type":"stable","version":"2026-08-18"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-11","date":"2026-08-11T07:07:11Z","type":"stable","version":"2026-08-11"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-10","date":"2026-08-10T00:47:02Z","type":"stable","version":"2026-08-10"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-08-03","date":"2026-08-03T04:54:56Z","type":"stable","version":"2026-08-03"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-31","date":"2026-07-31T07:00:27Z","type":"stable","version":"2026-07-31"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-28","date":"2026-07-28T00:02:33Z","type":"stable","version":"2026-07-28"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-21","date":"2026-07-21T04:06:31Z","type":"stable","version":"2026-07-21"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-07-01","date":"2026-07-01T02:01:17Z","type":"stable","version":"2026-07-01"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2026-03-19","date":"2026-03-20T00:04:21Z","type":"stable","version":"2026-03-19"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-05-06","date":"2025-05-05T23:28:38Z","type":"stable","version":"2025-05-06"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-05-05","date":"2025-05-05T03:38:19Z","type":"stable","version":"2025-05-05"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2025-02-24","date":"2025-02-24T02:39:57Z","type":"stable","version":"2025-02-24"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-11-07","date":"2024-11-07T03:43:43Z","type":"stable","version":"2024-11-07"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-08-28","date":"2024-08-28T11:48:04Z","type":"stable","version":"2024-08-28"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-08-09","date":"2024-08-09T02:23:08Z","type":"stable","version":"2024-08-09"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-30","date":"2024-04-30T06:08:38Z","type":"stable","version":"2024-04-30"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-16","date":"2024-04-16T01:47:15Z","type":"stable","version":"2024-04-16"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-04-02","date":"2024-04-02T01:56:33Z","type":"stable","version":"2024-04-02"},{"url":"https://github.com/keystonejs/keystone/releases/tag/2024-02-07","date":"2024-02-07T03:09:11Z","type":"stable","version":"2024-02-07"}]` | - |
| security.disclosure_policy | - | yes |
| security.scorecard | 5.3 | - |
| security.soc2 | - | yes |

## Capabilities (CMS Software)

| Capability | KeystoneJS | TinaCMS |
|---|:--:|:--:|
| **Core** |  |  |
| CMS type | Headless / API-first | Headless / API-first |
| **Licensing** |  |  |
| Open-source | ✓ | ✓ |
| **Deployment** |  |  |
| Self-hostable | ✓ | ✓ |
| Managed / cloud hosting offered | - | ✓ |
| **Delivery** |  |  |
| Headless API (REST/GraphQL) | ✓ | ✓ |
| **Content** |  |  |
| Structured content modelling | ✓ | ✓ |
| Localisation / i18n | - | ✓ |
| Content workflow / approvals | ✓ | ✓ |
| **Editing** |  |  |
| Visual / no-code page builder | ✗ | ✓ |
| **Extensibility** |  |  |
| Plugin / app ecosystem size | Custom field types and extensible architecture | Customizable input components and form fields; extensible schema validation |
| **Scale** |  |  |
| Multi-site / multi-tenant | - | ✓ |
| **Workflow** |  |  |
| Git-based / code-first workflow | - | ✓ |
| **Pricing** |  |  |
| Free / open tier | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T17:21:17.285Z. "-" = undocumented, not absent.*
