mdformat-mkdocs
An mdformat plugin for mkdocs and Material for MkDocs
Decision gist · record as of 2026-08-14
Yes. Active maintenance, no vulnerabilities, low install friction, and permissive MIT license make this a safe choice. Install it if you format Markdown in MkDocs or Material for MkDocs projects and want a formatter that understands your project's syntax without corrupting extensions. Skip it if you don't use MkDocs or have no need for automated Markdown formatting.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10.0 or later.
- Low friction install with four runtime dependencies (mdformat, mdformat-gfm, mdit-py-plugins, more-itertools).
- Active maintenance with a release 12 days ago and no known vulnerabilities.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
last release 2026-08-02 (12 days) · last repo commit 2026-08-12 · 31 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 158,177 downloads/mo, #10,733 on PyPI
Alternatives
Verify before relying
pip install mdformat-mkdocs
# mdformat-mkdocs auto-registers as an mdformat plugin
mdformat your_docs.md
# Or with options:
mdformat --number your_docs.md # Apply consecutive numbering to ordered lists- Whether the package handles all edge cases in nested mkdocstrings injection blocks with --align-semantic-breaks-in-lists
- Performance characteristics when formatting large documentation projects
- Compatibility with custom MkDocs extensions beyond those explicitly listed
What it is and what it does
mdformat-mkdocs is a plugin for the mdformat Markdown formatter that adds awareness of MkDocs-specific and Material for MkDocs syntax. It standardizes Markdown formatting (four-space indents, dash-based unordered lists, single-digit ordered list markers by default) while preserving or actively formatting MkDocs extensions like admonitions, content tabs, definition lists, mkdocstrings injection blocks and cross-references, and math notation via dollarmath, texmath, and amsmath.
The plugin integrates seamlessly into any mdformat workflow—it auto-registers and requires no configuration. It handles both explicit formatting (admonitions with extra spacing for consistency with mkdocs styleguide, math block normalization) and implicit pass-through of PyMdown extensions like emoji, critic markup, and inline highlighting. It also supports optional extras for recommended companion formatters and provides flags like --no-mkdocs-math to disable math formatting and --ignore-missing-references to preserve ProgressBar syntax.
Use it for
- Format documentation projects using MkDocs Material with consistent indentation and list styles across all Markdown files.
- Normalize admonitions, content tabs, and definition lists in Material for MkDocs docs while preserving their semantic meaning.
- Standardize math notation (LaTeX and dollar-sign blocks) in technical documentation built with MkDocs.
- Integrate into pre-commit hooks or CI pipelines to enforce Markdown style consistency for mkdocs-based projects.
- Preserve mkdocstrings injection blocks and cross-references during automated Markdown reformatting.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Active maintenance, no vulnerabilities, low install friction, and permissive MIT license make this a safe choice. Install it if you format Markdown in MkDocs or Material for MkDocs projects and want a formatter that understands your project's syntax without corrupting extensions. Skip it if you don't use MkDocs or have no need for automated Markdown formatting.
Install
mdformat-mkdocs on PyPI
Before you install
Low friction install with four runtime dependencies (mdformat, mdformat-gfm, mdit-py-plugins, more-itertools). Active maintenance with a release 12 days ago and no known vulnerabilities.
Requires Python 3.10.0 or later.
License in practice
MIT license permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
Quickstart
pip install mdformat-mkdocs
# mdformat-mkdocs auto-registers as an mdformat plugin
mdformat your_docs.md
# Or with options:
mdformat --number your_docs.md # Apply consecutive numbering to ordered lists
Verify before relying
- Whether the package handles all edge cases in nested mkdocstrings injection blocks with --align-semantic-breaks-in-lists
- Performance characteristics when formatting large documentation projects
- Compatibility with custom MkDocs extensions beyond those explicitly listed
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesmdformatmdformat-gfmmdit-py-pluginsmore-itertools |
| Maintenance | Actively maintained 12 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 158,177 / month, #10,733 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Topic :: Software Development :: Libraries :: Python Modules |
Evidence: mdformat_mkdocs-5.3.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “mdformat plugin mkdocs”
- mdformat-mkdocsAn mdformat plugin that formats Markdown for MkDocs projects,…
- mkdocs-llmstxtMkDocs plugin that generates an /llms.txt file at your documentation…
- mdformat-footnoteAdds footnote parsing and formatting support to mdformat, enabling…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also mdformat-gfm-alerts · mdx-truly-sane-lists · pymdown-extensions · mdformat-footnote · mdformat_deflist · mdformat · mkdocs-github-admonitions-plugin · markdown-callouts · mdformat-front-matters · mkdocs-techdocs-core