TinaCMS is a free, open source content management systems (cms) project written in TypeScript and released under Apache-2.0. It has 13,799 GitHub stars, 755 forks and 444 open issues, and was last pushed 19 hours ago. On this registry it ranks #8 of 47 tracked projects in Content Management Systems (CMS), with 5 head-to-head comparisons available. It gained 4 stars over the last 6 tracked days.

TinaCMS — Visual editing for your Git-based content

What is TinaCMS?

What it is

TinaCMS is an open-source headless content management system for Git-based content stored in a user's own GitHub repository. It lives in the TypeScript, React, and Next.js ecosystem and is categorized under Content & Publishing / Content Management Systems. It supports Markdown, MDX, JSON, YAML, and other content formats, with visual editing as a central feature.

The concrete problem it solves is giving editors a usable interface for content that remains in source control. Teams can keep Markdown and related files in GitHub while using TinaCMS for editing, previewing, and querying content. The project also offers a GraphQL API and an optional live preview to make editing intuitive for less-technical people.

Key capabilities

  • Stores content in the user's own GitHub repository, keeping Markdown and other files under Git version control.
  • Supports Markdown, MDX, JSON, YAML, and more as content formats.
  • Provides a GraphQL API for querying content, including nested fields such as post.author.firstName.
  • Supports references between documents, enabling linked content models rather than isolated files.
  • Works with statically generated and server side rendered pages, according to the README.
  • Offers an optional, opt-in live preview for editing Markdown files, aimed at less-technical users.
  • Includes starter-site creation through npx create-tina-app@latest and a hosted demo path through TinaCloud.

Who uses it and how

  • Teams building React or Next.js sites can use TinaCMS as a Git-based CMS layer for Markdown, MDX, JSON, or YAML content.
  • Content editors can use the live preview workflow to edit Markdown files without directly working in the repository.
  • Developers can query content through the GraphQL API while keeping the underlying files in a GitHub repository.
  • New users can evaluate the project by generating a starter site locally or by opening the TinaCloud quickstart demo.
  • Organizations that want source-controlled content can adopt it as an open-source, Apache-2.0 licensed option in the TypeScript ecosystem.

Getting started

Users can test a TinaCMS starter site locally with npx create-tina-app@latest, or try a demo site on TinaCloud via the quickstart link. The README also points to Tina's documentation for further setup.

When to use it — and when not to

TinaCMS fits teams that want Git-stored content, Markdown editing, and a GraphQL query layer. A self-hoster must operate around the user's own GitHub repository and decide whether to enable the optional live preview, while the provided metadata shows 444 open issues and zero listed contributors, which may signal maintenance or data reporting concerns. It is less suitable for teams that need a fully managed CMS workflow, because the hosted path mentioned is a demo or TinaCloud quickstart rather than a detailed production hosting model in the excerpt.

project readme (upstream, from github) — read inline

GitHub license npm version Build, Test, Lint for Main

TINA CMS

Tina Demo

Tina is a headless content management system with support for Markdown, MDX, JSON, YAML, and more.

It comes with a GraphQL API:

  • Query your Markdown content like this 👉 post.author.firstName
  • Supports statically generated and server side rendered pages
  • Supports references between documents

Tina offers a live preview (optional and opt-in) that makes editing Markdown files very intuitive for less-technical people.

Getting Started

Test a TinaCMS starter site locally

npx create-tina-app@latest

Or try a demo site on TinaCloud.

Documentation

Visit Tina's documentation to learn more.

Questions?

Tweet Forum

Visit the GitHub Discussions or our Community Discord to ask questions, or look us up on on Twitter at @tinacms.

🧑‍🎓 Earn a Tina Badge

Go the extra mile and earn a Tina Dev Badge 🦙: Earn a Tina Credly badge

Vision

To be the world-leading CMS with Git support that developers love.

Tech Stack

See https://tina.io/docs/r/FAQ/#5-what-is-tinas-tech-stack

Roadmap

Our development priorities can be read on our Public Roadmap.

Activity

Issue Opened and Closed of tinacms/tinacms

Graph: Issues Opened and Closed for TinaCMS

Contributing

Please see our ./CONTRIBUTING.md

Maintainers

Part time

View our awesome SSW devs at ssw.com.au/people

Frequently asked questions

Is TinaCMS free to use?

TinaCMS is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does TinaCMS do?

Visual editing for your Git-based content

What is TinaCMS written in?

TinaCMS is primarily written in TypeScript. Its source is publicly available at https://github.com/tinacms/tinacms, and it has 13,799 GitHub stars.