Remix CMS for developers who need more than page fields
Remix is opinionated about data fetching. Your CMS should be too. Sanity gives you structured content, a query language built for precision, and a developer experience that works the way your loaders expect.
Why Remix developers choose Sanity
Flexible querying
GROQ lets you describe the exact shape of data your Remix loader needs and get back precisely that — no overfetching, no client-side reshaping. Query nested references, filter by any field, and get a clean response in a single request.
Schema as code
Content models live in your Studio config files and evolve the same way your Remix code does: through pull requests and your existing CI/CD pipeline. No database migrations. Add a field, commit it, deploy.
Type safety
Sanity TypeGen reads your schema and GROQ queries and generates TypeScript types for both. If you rename a field in the schema, TypeScript catches it before runtime.
Really real-time
Sanity's Live Content API pairs with Remix's streaming patterns so pages update the moment editors publish — no webhook-triggered rebuild cycle required.
Power anything
When your content is data, stored as JSON, you can power web, mobile, storefronts, internal tools, and agentic applications from the same backend.
30+ Guides, Plugins, and Templates for Sanity + Remix
Find everything you need for Remix and Sanity—from official plugins to community-built starters.

Agent toolkit for Remix
Integration guide for React Router (formerly Remix) with Sanity, including Loaders and Visual Editing.

Sanity is ranked #1 out of 85 CMSes on G2
G2.com, the world's largest marketplace for software, has rated Sanity as the #1 leader in the Headless CMS category, as measured by customer review ratings and market presence

Sanity is loved by 1M+ users and 6k+ teams
Integrate Sanity with other technologies
Sanity can be integrated with any major framework, providing the flexibility need to have full control of your project.
FAQs
The best CMS for Remix is one that fits route-based data loading, server-side rendering, and custom application workflows. Sanity is a strong fit because you can define schemas in code, fetch content directly in Remix loader functions with @sanity/client, and add Visual Editing for React Router/Remix when your team needs preview workflows.
Yes. Sanity works well with Remix because it gives you structured content, schema as code, and a JavaScript client that works across browsers, Node.js, Bun, Deno, and edge runtimes. That makes it a flexible content backend for Remix apps, websites, docs, and custom editorial workflows. See @sanity/client and Visual Editing with React Router/Remix.
Most teams connect Remix to Sanity by defining content in Sanity Studio and fetching it in Remix loader functions with @sanity/client. If your editors need previews, you can add Presentation and Visual Editing for React Router/Remix on top of that setup.
Yes. GROQ is Sanity's primary query language, and you can use it directly with client.fetch() in @sanity/client. That works well in Remix because each route can fetch exactly the content it needs instead of working around a generic page API.
Yes. Sanity has an official guide for Visual Editing with React Router/Remix. It covers embedded preview in Presentation, click-to-edit overlays, and optional live updates for draft content.
Yes. Sanity's React Router/Remix Visual Editing setup supports optional instant updates and switching between draft and published content. That gives Remix teams a stronger preview workflow than static preview links alone.
Yes. Sanity TypeGen can generate TypeScript definitions from your schema and GROQ queries, which can help type route-level content fetching in Remix. Sanity currently documents TypeGen as experimental, so that is worth keeping in mind.
Yes. Sanity supports deployed GraphQL APIs generated from your schema. Sanity still recommends trying GROQ first, but GraphQL is available if your Remix app or team prefers that API shape.
No. You can start with a Remix site or app and reuse the same structured content across other frontends and services later. The official @sanity/client is designed to work across browsers, Node.js, Bun, Deno, and edge runtimes, which makes Sanity a good long-term content backend beyond one frontend.
Traditional CMSes are usually built around page editing. Remix is built around routes, loaders, actions, and web-native forms. Sanity is a better fit because it gives you structured content, flexible queries, and a customizable Studio instead of forcing your app into page-shaped fields. Learn more in the @sanity/client docs and the React Router/Remix Visual Editing guide.





