# Install mdformat with Homebrew, apt, Nix, pacman

CommonMark compliant Markdown formatter. Version 1.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:mdformat
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install mdformat
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install mdformat
```

  Evidence: Debian stable package indexes: mdformat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#mdformat
```

  Evidence: nixpkgs package indexes: pkgs/by-name/md/mdformat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S mdformat
```

  Evidence: Arch Linux sync databases: mdformat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:mdformat
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/mdformat>
- **Version:** 1.0.0
- **Source summary:** CommonMark compliant Markdown formatter
- **Homepage:** <https://mdformat.readthedocs.io/en/stable/>
- **Repository:** <https://github.com/hukkin/mdformat>
- **Upstream docs:** <https://mdformat.readthedocs.io/en/stable>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/3f/05/32b5e14b192b0a8a309f32232c580aefedd9d06017cb8fe8fce34bec654c/mdformat-1.0.0.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mdformat (cli)
- mdformat (alias)

## Dependencies

- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.0.0
- Local data: ok
- Upstream repository: https://mdformat.readthedocs.io/en/stable/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

mdformat is an opinionated CommonMark-compliant Markdown formatter available as both a Unix-style command-line tool and a Python library. It formats Markdown documents in place, checks formatting in CI, and exposes plugin hooks for parser extensions and code-block formatting.

### Project history

The project was published to PyPI in July 2020 as version 0.1.0 and is developed in the hukkin/mdformat GitHub repository. Its README describes the core pitch as enforcing a consistent Markdown style while preserving CommonMark-rendered output.

The changelog shows steady maturation of the 0.7 series: configuration in `.mdformat.toml` arrived in 0.7.10, plugin interfaces evolved in 0.7.19, and version 1.0.0 later removed older Python support, added markdown-it-py v4 support, and added CommonMark 0.31.2 support.

### Adoption history

mdformat's adoption is tied to Python packaging and automated formatting workflows. Its official docs show installation with pipx, Python API use, and use as a pre-commit hook by referencing the GitHub repository and pinning a revision.

The plugin docs document a broader ecosystem of mdformat-* packages for GitHub Flavored Markdown, MyST, front matter, table-of-contents generation, code-block formatting with Black, shfmt, gofmt, rustfmt, and related tools. The input facts list availability in Homebrew, Debian, Nix, and Arch-style packaging.

### How it is used

Common CLI usage is `mdformat README.md CHANGELOG.md`, `mdformat .` for recursive formatting, `mdformat -` for standard input, and `mdformat --check` in CI. The tool also exposes a Python API through `mdformat.text()` and `mdformat.file()`.

Configuration is resolved from a TOML file named `.mdformat.toml`, searched upward from the formatted file or from the current working directory for standard input. Command-line arguments take precedence over configuration values.

### Why package nerds care

mdformat is a useful package-history marker for the shift from Markdown rendering tools to Markdown style enforcement. It fills a similar cultural role for Markdown that Black filled for Python: fewer formatting arguments, more reproducible diffs.

Its plugin model matters to packagers because optional behavior is split across separately distributed Python packages. That keeps the core package small but makes environment composition important for users who need GFM, MyST, front matter, or code-block formatters.

### Timeline

- 2020: Version 0.1.0 published to PyPI.
- 2021: Version 0.7.10 added `.mdformat.toml` configuration.
- 2025: Version 1.0.0 published with Python support and CommonMark updates.
- 2026: Homebrew formula tracked stable version 1.0.0.

### Related projects

- The README explicitly compares mdformat with Prettier for Markdown formatting and discusses CommonMark-focused behavior.
- The plugin ecosystem includes mdformat-gfm, mdformat-black, mdformat-toc, mdformat-myst, mdformat-frontmatter, and other official-doc-listed extensions.

### Sources

- <https://github.com/hukkin/mdformat#readme>
- <https://mdformat.readthedocs.io/en/stable/users/changelog.html>
- <https://mdformat.readthedocs.io/en/stable/users/configuration_file.html>
- <https://mdformat.readthedocs.io/en/stable/users/installation_and_usage.html>
- <https://mdformat.readthedocs.io/en/stable/users/plugins.html>
- <https://pypi.org/project/mdformat/>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .mdformat.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** mdformat
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - mdformat - 0.7.22-1: normalized package name match | Debian stable package indexes: mdformat from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | CommonMark compliant Markdown formatter
- Nix - mdformat: normalized package name match | nixpkgs package indexes: pkgs/by-name/md/mdformat/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - mdformat - 1.0.0-2: normalized package name match | Arch Linux sync databases: mdformat from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | CommonMark compliant Markdown formatter | https://github.com/hukkin/mdformat


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [fprettify](https://www.automicvault.com/pkg/brew/fprettify/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters, python.
- [snakefmt](https://www.automicvault.com/pkg/brew/snakefmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters, python.
- [yapf](https://www.automicvault.com/pkg/brew/yapf/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters, python.
- [beautysh](https://www.automicvault.com/pkg/brew/beautysh/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.
- [black](https://www.automicvault.com/pkg/brew/black/) - Shares av.db curated category or tags: cli, developer-tools, formatter, pre-commit, python.
- [buildifier](https://www.automicvault.com/pkg/brew/buildifier/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.
- [cljfmt](https://www.automicvault.com/pkg/brew/cljfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.
- [dfmt](https://www.automicvault.com/pkg/brew/dfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, formatters.
- [djhtml](https://www.automicvault.com/pkg/brew/djhtml/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, commit, developer, developer-tools, formatter.
- [gersemi](https://www.automicvault.com/pkg/brew/gersemi/) - Both packages touch the same language runtime or ecosystem. Shared terms: cli, commit, developer, developer-tools, formatter.

## Combined YAML source

View the package source record on GitHub. [combined/mdformat.yml](https://github.com/automic-vault/db/blob/main/combined/mdformat.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
