Skip to content
Blume
Esc
navigateopen⌘Jpreview

Blume vs Nextra.The Nextra alternative with no app to maintain.

Everything Nextra gives you, plus llms.txt, Markdown mirrors, an MCP server, API references, and versioning, from a folder of Markdown with no Next.js app to maintain.

npx blume migrate nextra --claude
Blume and Nextra at a glance
BlumeNextra
You maintainBlumeA folder of Markdown, plus one optional config fileNextraA Next.js app: next.config, _meta files, and mdx-components
LicenseBlumeFree and open source (MIT)NextraFree and open source (MIT)
SearchBlumeLocal search with no keys, or Pagefind, Algolia, and more by adapterNextraPagefind, set up with a postbuild script
Agent featuresBlumellms.txt, Markdown mirrors, and a JSON API by default; an opt-in MCP serverNextraA copy-page button with Open in ChatGPT and Claude; no llms.txt or MCP server
AI assistantBlumeAsk AI on the model you choose, billed by your providerNextraA guide to adding Inkeep, a hosted service
API referencesBlumeOpenAPI, AsyncAPI, and GraphQL, with a Try it playgroundNextraNot built in; a TSDoc component renders TypeScript types
VersioningBlumeblume version snapshots with a switcher and scoped searchNextraNot built in
LanguagesBlumeblume translate fills in every locale with your coding agentNextraNext.js i18n with locale folders, in the docs theme

Nextra details are from its own pages as of September 23, 2026: Search, Ask AI, i18n, llms.txt issue, npm releases. Something out of date? Let us know

Your docs come with you.Your MDX stays MDX, and an agent does the move.

Every _meta file becomes meta.ts.
Page order, folder titles, and hidden pages carry over, and root page entries become header tabs.
Titles land in frontmatter.
Nextra infers titles from _meta and each page's first heading. The agent writes them into frontmatter, so no page is renamed.
Components map across.
Callouts and GitHub alerts become directives, and Tabs, Cards, Steps, and FileTree map to Blume's.
App Router pages restructure.
Nextra 4 page.mdx files move into a plain content folder, and static redirects in next.config carry over.

Nextra

Blume

  • _meta.tsmeta.ts
  • > [!NOTE]:::note
  • <Callout type="error">:::danger
  • <Tabs items={…}><Tab title="…">
  • <Cards.Card><Card>
  • <FileTree.Folder><Tree.Folder>
  • sidebarTitlesidebar.label

When Nextra might suit you better.Blume isn't the right fit for every team.

Your docs live inside a Next.js app.
Nextra wraps your next.config, so docs share your app's layout, auth, middleware, and React Server Components.
You want to own the React app.
Nextra is a Next.js app you control end to end, from routing to rendering, with custom React themes when the built-in ones don't fit.
You want a ready-made blog theme.
Nextra ships a blog theme with a post index, tags, and RSS. Blume gives posts RSS and structured data, but you build the index page yourself.
Migrate from
  1. 1

    Run one command in your docs project.

    Using Codex? Swap --claude for --codex.

  2. 2

    Review the agent's edits.

    It follows Blume's migration playbook for , rewriting your config and pages in place, so you review the whole move as one diff.

  3. 3

    Preview the result.

    Run npx blume dev, then read the agent's summary of anything it dropped or approximated.

Questions, answered.About moving from Nextra to Blume.

Why move from Nextra?

Nextra's latest npm release is 4.6.1, from December 2025, and llms.txt, API references, and versioning aren't built in. Blume ships all three, plus Markdown mirrors and an MCP server, with no Next.js app to maintain.

Can I keep my _meta navigation?

Yes. The agent turns every _meta file into a typed meta.ts, keeping page order, folder titles, and hidden pages, and writes page titles into frontmatter.

Does Blume have a copy-page button?

Yes. Readers can copy any page as Markdown or open it in ChatGPT, Claude, and other assistants, and every page has a .md mirror that agents can fetch directly.

Where can I host Blume?

Anywhere: Vercel, Netlify, Cloudflare, a Node server, or any static host. blume build outputs static files by default, with no Next.js runtime to host.

What doesn't the migration carry over?

Footer content, per-page layout switches, _meta separators and menus, and the <Bleed> component. The agent reports each one so you can decide what to do with it.

Upgrade your docs with Blume.

Install today and ship a production-grade docs site in minutes. Free and open source, forever.

npx blume init