Skip to content

Material for MkDocs: Documentation Theme and Framework

Material for MkDocs is a theme and feature framework for MkDocs. Built by Martin Donath (squidfunk), it layers Material Design styling, client-side search, dark mode, code annotations, and a wide configuration surface on top of the base MkDocs build pipeline.

Note

Material for MkDocs 9.7.6 (March 2026) is the current stable release, licensed MIT. Install with uv add --group docs mkdocs-material or pip install mkdocs-material.

Important

Material for MkDocs entered maintenance mode in early 2026. Critical bug and security fixes continue, but new feature work has moved to Zensical, a successor project from the same team that is designed to read existing mkdocs.yml configurations.

When to use Material for MkDocs

Pick Material for any MkDocs site that wants search, dark mode, code annotations, admonitions, and social cards without authoring custom CSS. It is the most-installed third-party MkDocs theme on PyPI and the theme behind FastAPI, Pydantic, Typer, and SQLModel. For greenfield projects in 2026 and later, also evaluate Zensical, the proposed successor.

Key Features

  • Material Design styling with light and dark variants
  • Client-side search with offline support
  • Code annotations: rich text overlays inside code blocks
  • Admonition support (notes, warnings, tips) via Python-Markdown
  • Social cards: auto-generated preview images for each page
  • Internationalization for over 60 languages
  • Customizable color palettes, fonts, icons, and emoji
  • Plugin ecosystem (tags, blog, redirects, instant navigation)

Configuration

Material is configured under the theme block in mkdocs.yml:

mkdocs.yml
site_name: mypackage
theme:
  name: material
  palette:
    - scheme: default
      primary: indigo
      toggle:
        icon: material/brightness-7
        name: Switch to dark mode
    - scheme: slate
      primary: indigo
      toggle:
        icon: material/brightness-4
        name: Switch to light mode
  features:
    - navigation.tabs
    - navigation.sections
    - search.suggest
    - content.code.annotate
markdown_extensions:
  - admonition
  - pymdownx.superfences
  - pymdownx.highlight

The features list is where most Material configuration happens; each entry toggles a specific UX feature (sticky tabs, instant navigation, code copy buttons, and so on). The full list lives in the setup guide.

Projects Using Material for MkDocs

Zensical and the 2026 roadmap

In early 2026, squidfunk announced that Material for MkDocs has entered maintenance mode and that future feature work will happen in Zensical, a successor static site generator from the same team. Key facts:

  • Critical bug and security fixes for Material continue for at least 12 months from the maintenance-mode announcement
  • Zensical reads existing mkdocs.yml configurations and most Material features map across
  • MkDocs 2.0, a separate ground-up rewrite of upstream MkDocs, is also in development; the squidfunk blog post discusses how Zensical and MkDocs 2.0 relate

For projects picking a documentation stack today, Material is still a safe choice. For projects evaluating MkDocs vs Sphinx specifically because of long-term ecosystem trends, the Zensical transition is a real factor in the decision.

Pros

  • The largest feature set of any MkDocs theme
  • Default look is usable without custom CSS
  • Active development and a large user base
  • Client-side search with offline support out of the box
  • Used by FastAPI, Pydantic, Typer, and SQLModel

Cons

  • Configuration surface is large; full feature audit takes time
  • Insiders sponsorware model means the newest features are gated until release
  • Maintenance-mode status (early 2026) introduces a question about long-term direction
  • Heavier than the built-in MkDocs themes; first-time setup involves more YAML

Learn More

Last updated on

Please submit corrections and feedback...