Overview
Fumadocs UI is built with customization in mind. Every component can be extended, styled, or completely replaced to match your brand and requirements.Component Overrides
Replace Layout Components
Replace entire sections of layouts with custom components:app/docs/layout.tsx
Override Sidebar Components
Customize individual parts of the sidebar:Custom Navigation
Styling Patterns
Extend Component Styles
Use className props to extend component styles:CSS Modules
components/custom-callout.tsx
components/custom-callout.module.css
Tailwind Classes
Custom Components
Create Custom MDX Components
components/custom-components.tsx
Use in MDX
mdx-components.tsx
Layout Customization
Multi-column Layout
app/docs/[...slug]/page.tsx
Custom Page Footer
Custom Breadcrumb
Search Customization
Custom Search Component
components/custom-search.tsx
Use Custom Search
Advanced Patterns
Conditional Sidebar Content
Custom Table of Contents
components/custom-toc.tsx
Version Switcher
Provider Customization
Custom Root Provider
app/layout.tsx
Custom I18n Provider
Tailwind Configuration
Extend Tailwind Theme
tailwind.config.ts
Custom Utilities
app/globals.css
Component Recipes
Feature Card Grid
Code Comparison
Use tabs to show before/after code examples:- Tab Title
- Tab Title
old-code.ts
Interactive Demo
components/interactive-demo.tsx
Best Practices
- Start with built-in options before creating custom components
- Use className props for simple styling changes
- Create wrapper components for repeated customizations
- Maintain accessibility when overriding components
- Test across breakpoints for responsive designs
- Use TypeScript for type-safe customizations
- Document custom components for team collaboration