Website Review
What is TinaCMS?
TinaCMS is an open-source, Git-backed headless CMS with a visual editing layer for Markdown. Content lives as files in your repository; editors work in a live preview instead of a separate admin database. It is aimed at developers building React and Next.js sites who want non-technical teammates to edit content without giving up version control.
What it does
- Visual editing on real pages: Editors click into the rendered page and change text or images in place, rather than filling out detached form fields.
- Git as the content store: Every save becomes a commit, so history, branching, review and rollback come from your existing workflow.
- Markdown output: Content stays plain-text and portable, which matters if you later switch frameworks or feed it to other tools.
- Two starting points: TinaCMS for general websites and blogs, and TinaDocs, a documentation starter built on the same foundation.
- Quick scaffold: The site shows
npx create-tina-app@latest, which sets up a Markdown repository without a long configuration phase.
Who it suits, and the trade-off
| You are… | TinaCMS fits if… | Watch out for… |
|---|---|---|
| A developer on React/Next.js | You want editing UI without building one | You still own schema and build setup |
| A content editor | You prefer editing the page itself | You work through a Git-based flow, not a classic CMS login |
| A docs team | You want Markdown docs with visual editing | Very large content sets need planning |
The core trade-off: you gain developer control and portable content, and in exchange you accept Git as part of the editorial process. Teams without any Git familiarity will feel that more than teams already using pull requests.
Next step
If you have a React or Next.js project, scaffold a small test site with npx create-tina-app@latest, connect a repository, and have one non-developer edit a page. That single exercise tells you quickly whether the Git-based model fits how your team actually works. For a documentation project specifically, evaluate TinaDocs separately, since it trades flexibility for near-zero configuration.
How does TinaCMS integrate with Git and Markdown for content editing?
TinaCMS treats your Git repository as the content store and Markdown files as the content format. Instead of holding content in a separate database that only the CMS can read, it reads and writes .md files in your repo, so the same files power the site build and remain editable in any text editor.
How the pieces fit together
- Git as the backend: Content changes are committed to the repository. That means version history, branching, pull requests and rollback come from Git rather than a bespoke CMS audit log.
- Markdown as the storage format: Each page or post is a Markdown file, often with frontmatter for structured fields. TinaCMS's page evidence describes this as keeping content "clean, portable, and AI-friendly."
- A visual editor on top: Editors work in a visual interface while the underlying output is still Markdown. Developers keep control of the schema and rendering; non-developers get a form-like or inline editing experience.
- Framework fit: The toolkit is aimed at React and Next.js sites, and the page notes it has been used with Astro and Hugo as well.
What that means in practice
A typical workflow for a small marketing team: a developer defines which fields exist (title, hero image, body), an editor opens the visual editor, changes copy, previews it, and saves. That save becomes a Git commit, which can go through a pull request before it reaches production. If someone edits the Markdown directly in their own editor, the CMS sees the same change on the next pull — there is no sync problem because there is only one copy of the content.
Trade-offs to weigh
| Consideration | Git + Markdown approach |
|---|---|
| Portability | High — content is plain files you can move or host anywhere |
| Editorial experience | Good for structured pages; large media libraries and complex relationships need more setup |
| Developer overhead | You define schemas and build steps; there is no fully managed backend |
| Rollback and audit | Native via Git history and pull requests |
| Real-time collaboration | Weaker than a database-backed CMS where many editors work simultaneously |
A useful next step
Decide based on who edits and how often. If your content is page-oriented, your team is comfortable with a Git-based deploy, and you value portable Markdown, the model fits well. If you need dozens of editors working live in the same document, or heavy digital-asset management, compare it against database-backed options before committing. Start by running the documented npx create-tina-app@latest starter on a throwaway repo to see the Markdown-plus-visual-editor loop end to end.
For related approaches, see Decap CMS and Forestry (now part of Tina), and for the Git-based deployment side, Vercel and Netlify.
Can I use TinaCMS with frameworks like Next.js, React, or Hugo?
Yes. TinaCMS is built for React-based stacks first, and it also works with static site generators like Hugo.
Framework support
| Framework | How TinaCMS fits | What to expect |
|---|---|---|
| Next.js | The most natural fit: Tina's visual editing, preview and content queries work inside the React app, with content stored as Markdown in Git | Best-documented path; you can add editing to an existing Next.js site rather than rebuilding |
| React (Vite, Remix, Astro islands) | Tina provides the editing UI and content API; you wire it into your components | Works well, but you handle more of the integration yourself than in Next.js |
| Hugo | Tina can manage the Markdown files Hugo builds from | Practical for content editing; the visual editor experience is less seamless because Hugo isn't React |
The key point is that TinaCMS is Git-native and Markdown-based, so the framework mainly affects the editing experience, not whether your content can be managed. A Hugo site can still have its content edited through Tina; you just get less of the live visual preview that React users enjoy.
A concrete scenario
Say you run a Next.js marketing site plus a Hugo documentation site. You could keep both content sets as Markdown in the same or separate repos, let writers edit through Tina's visual editor, and let each framework build as usual. The trade-off is setup effort: the Next.js side is close to plug-and-play, while the Hugo side needs more configuration to map fields and previews.
Next step
If you're on Next.js, start with the quickstart and add Tina to a single content type before migrating everything. If you're on Hugo or another non-React generator, prototype with one section of your docs first to confirm the editing workflow suits your writers.
For background on the React side, see React and Next.js; for the static generator, Hugo.
How does TinaCMS pricing work for different project needs?
TinaCMS mixes an open-source core with paid cloud plans, so the right fit depends on whether you need hosted collaboration or can run the Git-backed editor yourself. The page itself points to a pricing page at TinaCMS rather than listing tiers in the copy, so treat the model below as the general pattern for this kind of Git-based CMS, not a confirmed quote.
What typically drives cost
- Hosting and collaboration layer. The open-source editor can be self-hosted; paid plans usually cover managed hosting, user seats, and roles/permissions.
- Number of editors. Solo developers and small teams often stay on free or low-cost tiers; larger content teams pay per additional user.
- Build type. Static sites (Astro, Hugo, Next.js) need less infrastructure than sites using real-time previews and dynamic content.
- Support and SLAs. Business or enterprise needs add onboarding, priority support, and compliance.
Practical decision guide
| Project need | Likely starting point |
|---|---|
| Personal blog or portfolio | Open-source/self-hosted or free tier |
| Small team, shared edits | Entry paid plan with a few seats |
| Marketing site with many editors | Mid-tier plan sized by user count |
| Enterprise, SSO, compliance | Custom/enterprise quote |
Next step: open the pricing page, count your monthly editors, and check whether you need managed hosting. If you only need Markdown in Git and one or two editors, the open-source route is usually enough; if non-technical staff must edit and preview live, budget for the hosted tier.
How do I set up TinaCMS with npx create-tina-app for a new site?
Run npx create-tina-app@latest in the directory where you want the project, then follow the prompts. TinaCMS describes this as its getting-started path: the command scaffolds a new site, sets up a Markdown repository, and gives you a working visual editor without a lengthy manual setup. For a new project, that is the fastest route because it wires together the Git-backed content layer, the editing UI, and a starter front end in one pass.
What the scaffold gives you
The generated project is a TinaCMS site with content stored as Markdown in a Git repository. That matters if you care about portability: your content stays readable in any editor and works with static-site or React-based front ends. TinaCMS also markets this as AI- and GEO-friendly because Markdown is the format LLMs handle natively. Treat that as a positioning claim, not a guarantee of search performance.
A practical first-run sequence
- Run the create command and pick a starter when prompted.
- Install dependencies and start the local dev server.
- Open the local Tina admin route to confirm the visual editor loads.
- Edit a sample page, save, and check that the change appears in your Git working tree.
- Commit the result to verify the Git-backed workflow end to end.
Step 4 is the important one. If edits do not show up as file changes, your content model or Git configuration needs attention before you build anything real.
Choosing between TinaCMS and TinaDocs
The scaffold supports two common starting points, and the choice is mostly about the site you are building.
| Starting point | Best for | Trade-off |
|---|---|---|
| TinaCMS visual editor | Marketing sites, blogs, React front ends | You assemble pages and content models yourself |
| TinaDocs | Documentation sites | Less flexible if you need non-docs layouts |
If you are launching a product docs site, TinaDocs is the shorter path. If you are building a marketing site or blog with custom React components, start with the general TinaCMS scaffold.
Who this suits
Developers who want visual editing for non-technical collaborators but refuse to give up Git-based content. It is a weaker fit if your team wants a hosted database CMS with no repository involvement, or if nobody on the team is comfortable with a Node-based build.
For framework-specific setup details, the official docs are the right next stop: TinaCMS. If you are weighing the broader category, Next.js documents the React framework TinaCMS commonly pairs with.
What is TinaDocs and how does it differ from TinaCMS?
TinaDocs is a documentation starter built on top of TinaCMS: a ready-made setup for creating, editing and publishing docs with little to no configuration. TinaCMS is the underlying open-source, headless CMS with a visual editor and Git version control — the general-purpose tool you can wire into many kinds of sites.
H3 How they differ in practice
| TinaCMS | TinaDocs | |
|---|---|---|
| Role | The CMS toolkit itself | A documentation starter built on TinaCMS |
| Best for | Custom sites where you control structure and components | Teams that mainly need a docs site running quickly |
| Setup effort | You integrate it into your framework | Described as zero-configuration |
| Editing model | Visual editing of Markdown content stored in Git | Same editing approach, aimed at documentation pages |
H3 Who each one suits
- Choose TinaDocs if your goal is a documentation site and you would rather not assemble the structure yourself. It fits product teams, developer-relations writers and open-source maintainers who publish guides, references and release notes.
- Choose TinaCMS if you are building a broader site — marketing pages, blogs, landing pages — and want visual editing while keeping content as Markdown in your repository. It is aimed at developers working in React and similar front-end stacks.
H3 A concrete scenario
Say a small team maintains both a product site and a docs section. They could use TinaCMS for the product pages and reach for TinaDocs when the docs need their own clean, low-friction publishing flow. Because both keep content as Markdown in Git, the files stay portable and readable by tools and language models — a practical benefit if you care about search optimisation or AI-assisted workflows.
H3 Decision criterion
Ask one question: do you need a documentation site specifically, or a content system for a site you are designing? A docs-first need points to TinaDocs; a general build points to TinaCMS. If you are unsure, try the editor first to see whether the visual Markdown workflow matches how your writers actually work.
Next step: run npx create-tina-app@latest to spin up a project and inspect how content is stored, then compare that structure against your existing repository. For background, see TinaCMS.
User reviews (0)