Keystone vs SonicJS
| Attribute | Keystone | SonicJS |
|---|---|---|
| API | GraphQL | REST; GraphQL through an opt-in plugin |
| Runs on | Node.js | Cloudflare Workers with D1 and R2, or Docker with SQLite |
| Admin | Management UI generated from your schema | Admin UI generated from TypeScript content models |
| License | MIT | MIT, with no enterprise tier |
| Purpose | A TypeScript content platform with schema-driven models, an admin UI, and APIs. | SonicJS is a headless CMS built for Cloudflare Workers. |
| Documented capabilities | Schema-driven content, Admin interface, GraphQL API | Content preview, Duplicate content, Version history and restore |
| Best-fit workflow | A TypeScript content platform with schema-driven models, an admin UI, and APIs. | SonicJS is a headless CMS built for Cloudflare Workers. |
| Check before choosing | Check current installation requirements and edition limits in the linked repository. | Check the project's current installation requirements and license terms before adoption. |
| Deployment options | See repository installation guide | Docker |
| GitHub stars | 9,973 | 1,756 |
| License | MIT | MIT |
| Self-hosted | Yes | Yes |
| Docker noted | Not recorded | Yes |
| Cloud / hosted | Not recorded | Not recorded |
| Primary language | TypeScript | TypeScript |
| Last commit | 2026-09-28 | 2026-10-13 |
| Difficulty | Not assessed | Not assessed |
| Content source | Editorial catalog entry | Editorial catalog entry |
| Metadata checked | 2026-10-15 | 2026-10-15 |
| Forks | 1.3k | 219 |
| Star growth | -7 (2026-10-04 to 2026-10-15) | +10 (2026-10-04 to 2026-10-15) |
| Alternative to | Contentful | Contentful |
This comparison uses recorded capabilities, not hands-on performance tests. A capability missing from one record does not mean that product lacks it. Confirm edition, version and current pricing in the official documentation.
Keystone or SonicJS?
Both are MIT-licensed headless CMSs for JavaScript developers. Pick Keystone when you want a GraphQL API: you describe your schema and it generates a GraphQL API and a management UI for your content, running on Node.js. The current version is Keystone 6, published as the @keystone-6 packages; its README says the Keystone 5 codebase is in maintenance mode.
Pick SonicJS when you want to run the CMS on Cloudflare Workers: it is built on D1, R2, and Hono, generates a REST API and admin UI from TypeScript content models, offers GraphQL as an opt-in plugin, can also self-host with Docker and SQLite, and its README states that every feature is free, with no enterprise tier.
When to consider Keystone
A TypeScript content platform with schema-driven models, an admin UI, and APIs.
Check current installation requirements and edition limits in the linked repository.
Keystone documentation and sourceWhen to consider SonicJS
SonicJS is a headless CMS built for Cloudflare Workers.
Check the project's current installation requirements and license terms before adoption.
SonicJS documentation and sourceKeystone vs SonicJS questions
- What is Keystone?
- A TypeScript content platform with schema-driven models, an admin UI, and APIs.
- What is SonicJS?
- SonicJS is a headless CMS built for Cloudflare Workers.
- Can you self-host Keystone and SonicJS?
- Both can be self-hosted.
- What licenses do Keystone and SonicJS use?
- Keystone uses the MIT license. SonicJS uses the MIT license.
- Which has more GitHub stars, Keystone or SonicJS?
- Keystone has 10.0k stars and SonicJS has 1.8k. Stars show attention; check recent commits and releases for maintenance.
- What languages are Keystone and SonicJS written in?
- Both are mainly written in TypeScript.