
Who TinaCMS is for#
Docs teams keeping Markdown in Git
Tina lets writers edit visually while developers keep docs changes in branch and pull-request workflows.
Skip if:
Skip it if editors must work entirely outside Git-backed publishing.
Jamstack teams replacing a hosted CMS
Teams using Next.js, Astro, Hugo, or similar frameworks can keep structured content in the repo while adding a visual editing layer.
Skip if:
Choose a hosted CMS first if you need database-backed editorial operations with no developer setup.
The problem it solves#
Hosted CMS platforms solve editing quickly, but they often move content into a vendor database that developers cannot review like code. That hurts teams whose sites already depend on Markdown files, Git history, and branch-based review.
The pain shows up during migrations and audits: content exports become another project, schema changes drift from the app, and editors lose the page-level visual context they want if the team falls back to raw files only.
How it solves it#
Git-backed content
Tina stores content as Markdown, MDX, and JSON files in Git. Developers can review edits in the same repository workflow they already use for site code.
Visual editing on top of files
Editors work through a no-code editing interface while the underlying content remains file-based. This is useful for docs, marketing pages, and Jamstack sites where preview context matters.
Schema-defined collections
Tina uses a project schema to define collections and fields, including Markdown, rich text, references, lists, images, and object fields. Teams shape the editor around their content model instead of a generic CMS table.
Strengths and trade-offs#
Strengths
- Content stays with the codebaseUnlike CMSs that require a proprietary content store, Tina keeps the canonical content in Git. That gives developers normal diff, rollback, branch, and review behavior.
- Starter and existing-site pathsOfficial docs cover both a new starter command and adding Tina to an existing site with the CLI. That lowers migration risk for teams that cannot rebuild their site around a CMS.
Trade-offs
- -Best fit for Git-based sitesTina is strongest when content belongs in a repository. Teams that need a general DAM, complex editorial workflow suite, or non-Git content operations may outgrow the model.
- -Editor setup is part of the appDevelopers need to define schemas, wire the Tina folder, and run the local API with the site. It is not a zero-configuration hosted CMS drop-in.
Install and self-host#
npx create-tina-app@latest
# Existing site
npx @tinacms/cli@latest initWhat it's built on#
- Languages
- JavaScriptTypeScript
- Frameworks
- Next.jsReact
FAQ#
Is TinaCMS open source?
Yes. TinaCMS is open source and the repository is published under Apache-2.0.
Where does TinaCMS store content?
TinaCMS stores content in Markdown, MDX, and JSON files backed by Git, rather than requiring a proprietary CMS database.
Can TinaCMS be added to an existing site?
Yes. Tina documents an existing-site path with npx @tinacms/cli@latest init, especially for Next.js projects.
Similar open-source tools#
Payload CMS
Build code-first CMS backends with TypeScript schemas, API access,
Craft CMS
Flexible developer-friendly CMS for content teams
Sulu
Enterprise-ready open source CMS built on Symfony
Grav
Flat-file CMS for fast, self-hosted websites.
Puck
Open source drag-and-drop page editor for any React app
Drupal
Open source CMS for enterprise and complex digital experiences

