skillfed

mkdocs-awesome-nav

A plugin for customizing the navigation structure of your MkDocs site.

mkdocs-awesome-nav v3.3.0 1.1M downloads/30d#4,340 on PyPI625
Permissive license Active released

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-nav

uv

uv add mkdocs-awesome-nav

poetry

poetry add mkdocs-awesome-nav

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyLicense :: OSI Approved :: MIT License

Tags

mkdocs navigation customizationmkdocs nav pluginmkdocs page orderingmkdocs navigation structuremkdocs external links navmkdocs hide pagesmkdocs glob patterns navigation
mkdocs-plugindocumentation-tooling

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

mkdocs-awesome-pages-plugin

A plugin for MkDocs that lets you customize…

permissive · top 5,000 on PyPI

mkdocs-include-dir-to-nav

A MkDocs plugin that automatically expands…

permissive · top 15,000 on PyPI

mkdocs-literate-nav

MkDocs plugin that lets you define site…

permissive · top 5,000 on PyPI

mkdocs-api-autonav

Automatically generates API reference…

permissive · top 15,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI

mkdocs-exclude

A mkdocs plugin that excludes files and…

permissive · top 15,000 on PyPI

mkdocs-monorepo-plugin

Enables building multiple sets of documentation…

permissive · top 5,000 on PyPI

mkdocs-auto-tag-plugin

Automatically assigns tags to MkDocs pages…

permissive · top 5,000 on PyPI

mkdocs-multirepo-plugin

Merges documentation from multiple Git…

permissive · top 15,000 on PyPI

mkdocs-redirects

A MkDocs plugin that generates HTTP redirects…

permissive · top 5,000 on PyPI

Further reading