TinaCMS logo

TinaCMS

Headless CMS with Markdown, GraphQL, and live preview

Tina is a headless CMS that lets developers query Markdown, MDX, JSON, and YAML via GraphQL, supports static and server‑rendered sites, and offers optional live preview for non‑technical editors.

TinaCMS banner

Overview

Overview

Tina provides a developer‑first headless content platform built on TypeScript and React. It stores content as plain files (Markdown, MDX, JSON, YAML) in a Git repository, exposing a GraphQL API that lets you query fields such as post.author.firstName directly from your front‑end code. The system supports both static site generation and server‑side rendering, making it a natural fit for Jamstack frameworks like Next.js.

Deployment & Editing

Because content lives in Git, deployment can target any static host or Node server. Tina’s optional live preview layer syncs file edits with the browser in real time, giving less‑technical editors a visual editing experience without sacrificing the simplicity of file‑based content. The project is released under the Apache‑2.0 license and can be extended with custom plugins or integrated with TinaCloud for managed services.

Highlights

GraphQL API for querying file‑based content
Supports Markdown, MDX, JSON, YAML formats
Optional live preview for visual editing
Works with static generation and SSR frameworks

Pros

  • Strong developer experience with TypeScript and React
  • Flexible content formats and Git‑backed workflow
  • Real‑time preview improves editorial productivity
  • Apache‑2.0 license permits commercial use

Considerations

  • Tied to the React ecosystem for front‑end integration
  • Live preview requires additional configuration
  • Focused on Git‑based content, limiting non‑Git workflows
  • Community size smaller than some enterprise CMS options

Managed products teams compare with

When teams consider TinaCMS, these hosted platforms usually appear on the same shortlist.

Agility CMS logo

Agility CMS

Headless content management system supporting composable, API-first architectures

ButterCMS logo

ButterCMS

Headless CMS and blog engine that integrates via API to let developers add content management to any app

Contentful logo

Contentful

API‑first headless CMS for structured content delivery

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams building Jamstack sites with React
  • Projects that need Git‑backed content versioning
  • Developers who want a GraphQL content layer
  • Editors comfortable with Markdown who benefit from visual preview

Not ideal when

  • Enterprises requiring built‑in user management and roles
  • Sites that need a full WYSIWYG rich‑text editor
  • Non‑JavaScript or non‑React technology stacks
  • Projects that prefer a hosted, turnkey CMS solution

How teams use it

Blog with Markdown posts

Authors write posts in Markdown; developers fetch content via GraphQL for static generation.

Documentation site with MDX

Combine markdown with React components to create interactive, component‑driven docs.

E‑commerce product catalog stored as JSON/YAML

Content editors update product data files; site renders catalog dynamically using SSR.

Marketing landing pages with live preview

Marketers edit page content and see changes instantly without redeploying.

Tech snapshot

TypeScript97%
JavaScript2%
CSS1%
Shell1%
MDX1%
HTML1%

Tags

content-management-systemreacttinacmsmarkdownnextjscmstypescripttinaforestry

Frequently asked questions

What front‑end frameworks does Tina support?

Tina works with any React‑based framework, most commonly Next.js and Gatsby.

Do I need a separate hosting service?

Content is stored in your Git repo; you can host the generated site on any static or server‑rendered platform.

Is live preview mandatory?

No, live preview is optional and can be enabled per project.

How is authentication handled?

Tina itself does not provide authentication; you integrate your own solution or use TinaCloud for managed services.

What license is Tina released under?

Apache‑2.0, allowing commercial and private use.

Project at a glance

Active
Stars
13,076
Watchers
13,076
Forks
680
LicenseApache-2.0
Repo age6 years old
Last commityesterday
Primary languageTypeScript

Last synced 47 minutes ago