Migrating from Other Frameworks
From Nextra
Nextra and Fumadocs share similar concepts, making migration straightforward:Create Source Configuration
source.config.ts
Move Content Files
Move your MDX files frompages/ to content/docs/:pages/ and update source.config.ts:source.config.ts
Update Frontmatter
Convert Nextra frontmatter to Fumadocs format:content/docs/index.mdx
display: hidden→ remove (usemeta.jsoninstead)type: page→ not needed- Nextra uses
_meta.json, Fumadocs usesmeta.json
Set Up Layouts
Replace Nextra’s theme with Fumadocs layouts:app/docs/layout.tsx
app/docs/[[...slug]]/page.tsx
Update Search
Replace Nextra’s search with Fumadocs search:app/api/search/route.ts
From Docusaurus
Migrating from Docusaurus requires more changes due to different architectures:Convert Code Blocks
Docusaurus code blocks work mostly the same:content/docs/meta.json
content/docs/guides/meta.json
Convert docusaurus.config.js
Translate Docusaurus config to Fumadocs:docusaurus.config.js
lib/layout.shared.tsx
From VitePress
Set Up Fumadocs
Copy Content
Update Frontmatter
VitePress frontmatter is similar:content/docs/index.mdx
layout.Upgrading Fumadocs Versions
From v14 to v15
Major changes in v15:Update Dependencies
Migrate to Tailwind CSS 4
Fumadocs v15+ requires Tailwind CSS 4:app/globals.css
From v13 to v14
Update to Next.js 15
Update Metadata Generation
Breaking Changes Log
Refer to the changelog for detailed breaking changes:v16.6.0
- Search Results: Deprecated
contentWithHighlightsfield. Highlights now use Markdown format (<mark>text</mark>) - Update search result rendering if using custom search UI
v16.5.0
- Shiki Configuration: New universal Shiki configuration
- Update code block configuration if customized
v16.0.0
- Tailwind CSS 4: Required for all installations
- Color System: Migrated to CSS
@themedirective - Import Paths: Some internal imports changed
Content Migration Tools
Automated Frontmatter Conversion
Script to convert Nextra frontmatter:scripts/convert-frontmatter.ts
Batch Component Replacement
Replace old component syntax:Checklist
Use this checklist to ensure complete migration:- Install Fumadocs packages
- Create
source.config.ts - Move content to
content/docs/ - Update frontmatter in all MDX files
- Convert
_meta.jsontometa.json - Set up layouts (
app/docs/layout.tsx) - Create page routes (
app/docs/[[...slug]]/page.tsx) - Update component imports
- Configure search API
- Set up MDX components
- Add Fumadocs CSS imports
- Test all pages render correctly
- Verify search functionality
- Check dark mode works
- Test responsive layouts
- Update deployment configuration
Common Issues
Import Errors
If you get import errors:Build Failures
If builds fail with MDX errors:- Check that
source.config.tspoints to the correct directory - Verify all MDX files have valid frontmatter
- Ensure
fumadocs-mdxis independencies, notdevDependencies
Styles Not Loading
If styles don’t apply:- Verify CSS imports in
global.css - Check Tailwind CSS 4 is installed
- Ensure
className="flex flex-col min-h-screen"onbody - Clear
.nextcache:rm -rf .next
Search Not Working
If search doesn’t work:- Verify search API route exists
- Check that pages have
structuredData - Ensure search client is configured
- Test API endpoint directly:
/api/search?query=test
Getting Help
If you encounter issues during migration:- Check the official documentation
- Search GitHub issues
- Ask in GitHub Discussions
- Review example projects
Next Steps
After migrating:- Customize your theme
- Set up advanced search
- Configure multi-docs if needed
- Explore deployment options