mkdocs-awesome-nav
A plugin for customizing the navigation structure of your MkDocs site.
What it is and what it does
Awesome Nav is a MkDocs plugin that gives you declarative control over your documentation site's navigation without hand-writing the entire structure. Instead of manually listing every page in your mkdocs.yml, you define rules in a separate nav configuration file—reorder items, create sections, add external links, hide pages, and use glob patterns to match files. It sits on top of MkDocs and relies on natsort for sorting, pydantic for configuration validation, and wcmatch for glob pattern matching.
The plugin is useful when your documentation grows beyond a handful of pages and you want flexible, maintainable control over how visitors navigate it. It's actively maintained, has no known security vulnerabilities, and is in the top 5000 PyPI packages by download volume.
Use it for:
- Reorder documentation pages without editing mkdocs.yml directly, using sorting rules or manual ordering.
- Hide sensitive or draft pages from navigation while keeping them accessible by direct URL.
- Add external links (e.g., to a blog or external resource) directly in the navigation tree.
- Match and organize pages using glob patterns instead of listing them one by one.
- Customize page titles in navigation independently of their actual file names or frontmatter.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A MkDocs plugin that lets you customize your site's navigation structure through configuration files instead of manually editing the entire nav tree.
Yes. The plugin is actively maintained, has low install friction, carries a permissive MIT license, and solves a real problem for MkDocs users managing growing documentation. No known vulnerabilities. Install it if you're using MkDocs and want more flexible navigation control than the default config allows.
Install
mkdocs-awesome-nav on PyPI
pip
pip install mkdocs-awesome-navuv
uv add mkdocs-awesome-navpoetry
poetry add mkdocs-awesome-navInstalling mkdocs-awesome-nav
Before you install
Low friction install with a stable, recently-active codebase. The package depends on mkdocs, natsort, pydantic, and wcmatch—all common, well-maintained libraries. Last commit was 2026-04-10 and the project is marked active.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute this plugin freely in both open and closed projects with minimal restrictions.
Quickstart
pip install mkdocs-awesome-nav
Then add to mkdocs.yml:
plugins:
- awesome-nav
Requires Python 3.10 or later.
Verify before relying
- Whether the plugin works with all current MkDocs versions or has specific version constraints beyond what the fact sheet states.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — mkdocs, natsort, pydantic, wcmatch |
| Maintenance | actively maintained — 255 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,120,316/month — #4,340 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: mkdocs_awesome_nav-3.3.0-py3-none-any.whl
Keywords: mkdocs, markdown, documentation, navigation
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
sphinxcontrib-serializinghtmlA Sphinx extension that outputs documentation…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
sphinxcontrib-htmlhelpA Sphinx extension that generates HTML help…
permissive · top 1,000 on PyPI
mkdocs-awesome-pages-pluginA plugin for MkDocs that lets you customize…
permissive · top 5,000 on PyPI
mkdocs-include-dir-to-navA MkDocs plugin that automatically expands…
permissive · top 15,000 on PyPI
mkdocs-literate-navMkDocs plugin that lets you define site…
permissive · top 5,000 on PyPI
mkdocs-api-autonavAutomatically generates API reference…
permissive · top 15,000 on PyPI
mkdocs-section-indexMkDocs plugin that makes section headers…
permissive · top 5,000 on PyPI
mkdocs-excludeA mkdocs plugin that excludes files and…
permissive · top 15,000 on PyPI
mkdocs-monorepo-pluginEnables building multiple sets of documentation…
permissive · top 5,000 on PyPI
mkdocs-auto-tag-pluginAutomatically assigns tags to MkDocs pages…
permissive · top 5,000 on PyPI
mkdocs-multirepo-pluginMerges documentation from multiple Git…
permissive · top 15,000 on PyPI
mkdocs-redirectsA MkDocs plugin that generates HTTP redirects…
permissive · top 5,000 on PyPI