Project documentation with Markdown
MkDocs is a fast, simple, and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown and configured with a single YAML configuration file. It is designed to be easy to use and can be extended with third-party themes, plugins, and Markdown extensions.
Note
MkDocs NG is a maintained fork of mkdocs/mkdocs, published on PyPI as
mkdocs-ng while keeping the mkdocs command, imports and configuration
unchanged — a drop-in replacement.
Highlights beyond the last upstream release: Python 3.10–3.14 support,
search that finds programming keywords like while and for, faster
builds with smaller site output, a stable Python API (mkdocs.build() /
mkdocs.serve()), fully offline syntax highlighting with no CDNs or
analytics, and many long-standing bug fixes — see
Fixed Upstream Issues and the release notes,
or browse all merged changes.
Please see the Documentation for an introductory tutorial and a full user guide.
- Build static HTML files from Markdown files.
- Use Plugins and Markdown Extensions to enhance MkDocs.
- Use the built-in themes, third-party themes, or create your own.
- Publish your documentation anywhere that static files can be served.
- Much more!
Install with pip:
pip install mkdocs-ngSwitching from mkdocs? Uninstall it first — the command, imports and
configuration stay exactly the same:
pip uninstall mkdocs && pip install -U mkdocs-ngIf you need help with MkDocs:
- Use Discussions for questions and general help.
- To report a bug or make a feature request, open an Issue on GitHub.
We may only provide support for core MkDocs features. Questions about third-party themes, plugins, or extensions should usually go to those projects first, but they are still welcome in Discussions.
- Official Documentation
- Latest Release Notes
- Fixed Upstream Issues
- Catalog of third-party plugins, themes and recipes
The MkDocs project welcomes and depends on contributions from developers and users in the open source community. Please see the Contributing Guide for information on how you can help.
Everyone interacting in the MkDocs project's codebases, issue trackers, and discussion forums are expected to follow the PyPA Code of Conduct.