Skip to content

Under developmentMica is experimental and not ready for production. The API and the content format can still change, so read the release notes before you upgrade.Follow the releases.

All comparisons

Compare

Mica vs. TinaCMS

Both keep content as files in Git and have an official Astro package. TinaCMS edits on the page itself and adds a content index, a hosted service and search. Mica edits in forms beside the real page, and Astro reads the files. Tina suits teams that want on-page editing.

Mica is experimental and not ready for production. It has no roles, no approval steps and no page builder.

Checked on . These products change often. Read their documentation before you decide.Website of TinaCMS

Choose Mica when

  • You want forms with the real Astro page beside them, and no wiring in each template.
  • You want Astro to read your files through Content Collections, with types.
  • You want no content index and no database in the editor.
  • Your content is on a Git host other than GitHub.
  • Editors translate in one form, with a language switcher and the number of missing translations.
  • You want to run the editor yourself in one container, behind any OpenID Connect provider.

Choose TinaCMS when

  • Editors should click on the page to edit it, and see it change as they type. TinaCMS does this, also in Astro.
  • You want a hosted service (TinaCloud) with plans and support.
  • You want search over your content, through TinaCloud.
  • You want an editorial workflow with draft pull requests (Business plan and up).
  • You want MDX components in your content.

The details

Editing on the page, or in forms

TinaCMS shows the site and the editor side by side. The page updates in real time in React, and a click on an element opens its form. This works in Astro too, but each page is wired by hand: the tina() integration, requestWithMetadata() loaders, an island registry and route, TinaIsland and tinaField() in components. It suits editors who think in pages.

In Mica, the form is where editors work. The real Astro page sits beside it, with the drafts in it, about 1-2 seconds after typing stops. A click on the page moves the cursor to the field. Mica edits no text on the page itself, and it has no page builder. The templates need one integration, micaPreview(), and no other change. It suits editors who think in fields, and teams that do not want to touch each template.

How Astro reads the content, and what is indexed

In Mica, the files in Git reach Astro as Content Collections, with types. The Tina guide for Astro uses a generated GraphQL client instead, not Content Collections. In both, the files stay the source of truth.

TinaCMS adds a Data Layer: a GraphQL API backed by a database that its documentation calls an ephemeral cache of your files. TinaCloud hosts it, or you run MongoDB or Redis/Vercel KV. A content index is not by itself a runtime dependency of the website. The Tina documentation does not say whether a published Astro site queries the index, so check how you build your pages. Mica has no index and no database in the editor, and the published website never calls Mica.

Hosting, Git hosts and review

TinaCloud runs the backend for you, with plans and search. Self-hosted TinaCMS needs a backend function, a database adapter, a Git provider and an auth provider. The Editorial Workflow (Business plan and up) puts edits on a branch with a draft pull request.

Mica has no hosted offering. It runs as a local editor, or as one container that you run, with OpenID Connect sign-in and no database. It reads and writes a Git clone, so any Git host can work. Forgejo is tested in CI, and github.com and gitlab.com are in use. Mica has no review step in the editor: a team can review with a staging branch and a second Mica.

Equal, or not documented

  • Both keep content as files in Git, use a TypeScript model and have an official Astro package.
  • Content in a Git submodule: the TinaCMS documentation does not say.
  • Entries that link to a JSON or CSV file of reference data: the TinaCMS documentation does not say.
  • Git LFS: the TinaCMS documentation does not say. It names limits of the GitHub API.
  • Localization: TinaCMS documents two patterns, by directory or by field, and no locale switcher. In Mica, a field has a value for each language, and the editor has a language switcher.

Side by side

FeatureMicaTinaCMS
Content in Git, and which hostsYes. Plain Git, no host API. Tested in CI: Forgejo. In use with github.com and gitlab.com. The self-hosted editor pushes over HTTPS.Yes. GitHub only, with TinaCloud and with the self-hosted provider. Custom providers are possible.
Hosted service, self-hostingNo hosted service. A local editor, or a container that you run.Hosted service available: TinaCloud. Self-hosting possible: a backend function, a database adapter, a Git provider and an auth provider. The local dev server works without the cloud.
Database or indexNone, for the editor and for the website.Yes. The Data Layer indexes your content in a database; the files stay the source of truth. TinaCloud hosts it. Self-hosted needs MongoDB or Redis/Vercel KV.
Licence and priceMIT. Free.Apache-2.0. The Data Layer packages have a separate licence. Free for 2 users. Team $24 a month for each project. Team Plus $41. Business $249. Enterprise on request.
Model written inTypeScriptTypeScript
Astro supportOfficial package. Content reaches Astro as Content Collections, with types.Yes. Official @tinacms/astro; Astro is the default starter. Content comes through a generated GraphQL client, not Content Collections. The setup adds an SSR adapter.
Sign-in for editorsLocal: none, only on your machine. Self-hosted: any OpenID Connect provider.TinaCloud: GitHub or email. SSO on Enterprise. Self-hosted: Auth.js, Clerk, TinaCloud or custom. OIDC is not documented.
Save and publishA save writes a draft. Publish makes one commit of the changes the editor chooses.Each save is a commit. The Editorial Workflow (Business and up) uses a branch and a draft pull request. No batch publish is documented.
Preview and visual editingThe real Astro page beside the form, with the drafts. A click moves the cursor to the field. Self-hosted: with an optional preview container. No editing on the page.Yes. Site and editor side by side, in real time in React (useTina); a click on an element opens its form. On Astro, each page is wired by hand with TinaIsland, tinaField() and requestWithMetadata().
Git LFS for large filesYes, local and self-hosted.Not documented. The documentation names limits of the GitHub API.
Content in a Git submoduleYes.Not documented. localContentPath points local development to a separate content repository.
External data (products, places, codes)Yes. Entries link to items of a JSON or CSV file that Mica does not edit.Not documented. The reference field links to collections. Large collections can time out.
Map fieldYes. It stores latitude, longitude and zoom.No map field is documented.
Localization (i18n)Yes. A field has a value for each language in one entry, with fallbacks. The editor shows one language at a time, and the preview follows it. No machine translation.Documented patterns, by directory or by field. No locale switcher is documented.
Roles and reviewNo roles. Review with a staging branch and a second Mica.TinaCloud has Admin and Editor. More roles on paid plans. Review is the Editorial Workflow with pull requests (Business).
AI agentsMCP server built in, local and self-hosted. Agents save drafts. Publishing by an agent is off by default.Planned. An MCP server and AI features are listed as Coming Soon on the roadmap.

Sources

Checked on October 21, 2026. These products change often. Read their documentation before you decide.