# Why Easy CMS

> Why teams choose Easy CMS: it runs inside your Next.js or Nuxt app, the content model is TypeScript, roles and SSO are free under MIT, and the admin and docs are in Thai and English.

Page: https://easycms.dev/why

Most headless CMSs are a second system: another server, another bill, another schema to keep in sync. Easy CMS is a package you install, so content ships with the app you already run.

## What makes it different

- **Inside your app:** Runs in Next.js or Nuxt, or as a standalone server for any other frontend. One deployment, one database. ([Read the docs](https://easycms.dev/docs))
- **Content model in code:** Collections and fields in TypeScript, reviewed in git, with types for every query. ([Read the docs](https://easycms.dev/docs/configuration))
- **Team features, free:** Roles, field permissions, SSO, an audit log and live preview, all under the MIT license. ([Read the docs](https://easycms.dev/docs/roles))
- **Thai throughout:** A complete Thai admin, and Thai docs for every page, next to English. ([Read the docs](https://easycms.dev/docs/admin))

## Who it’s for

- [Easy CMS for developers](https://easycms.dev/why/developers.md): Easy CMS is an npm package. Your content model is TypeScript in your repo, your pages read it with a typed API, and the admin ships with the app you already deploy.
- [Easy CMS for content and marketing teams](https://easycms.dev/why/teams.md): Your developers set up the content once. After that, your team writes, previews, translates and schedules on its own, in an admin that speaks Thai or English.
- [Easy CMS for agencies](https://easycms.dev/why/agencies.md): Easy CMS is MIT, all of it. Hand each client an admin with the roles, sign-in and audit trail they ask for, in Thai if they want it, without a per-seat bill.

## How it compares

Honest side-by-sides with the CMSs people ask about most, with sources. [All side by side](https://easycms.dev/why/compare.md)

- [Easy CMS vs Payload](https://easycms.dev/why/compare/payload.md): Payload is the closest to Easy CMS: MIT, code-first and installed into your Next.js app. It is far more mature, with a large community. Easy CMS also runs in Nuxt or on its own, and keeps team features such as SSO in the free license.
- [Easy CMS vs Strapi](https://easycms.dev/why/compare/strapi.md): Strapi is the most popular open-source headless CMS: a separate Node server with its own admin. Its Community Edition is MIT, while live preview, content history, SSO and audit logs are in paid plans. Easy CMS runs inside your app and keeps those features in the free license.
- [Easy CMS vs Directus](https://easycms.dev/why/compare/directus.md): Directus puts a data studio and APIs on top of any SQL database, with the model built in its interface. Its license is source-available, not OSI open source, and the free Core is capped. Easy CMS is MIT with no caps, and its model lives in your repo.
- [Easy CMS vs WordPress](https://easycms.dev/why/compare/wordpress.md): WordPress runs a large share of the web, with themes and plugins for almost anything, on PHP and MySQL. Used headless, it is a separate PHP app next to your frontend. Easy CMS keeps everything in your TypeScript app, with a typed content model.
- [Easy CMS vs Sanity](https://easycms.dev/why/compare/sanity.md): Sanity pairs an MIT-licensed Studio, configured in code, with a hosted content backend you can't self-host. It is strong at real-time collaboration and visual editing, billed by seats and usage. Easy CMS keeps your content in your own database.

Easy CMS is young: its first release was in September 2026 and its community is small. Every other product here has been in production longer, with more people answering questions.
