GitPedia

Markdown it py

Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed. Now in Python!

From executablebooks·Updated June 18, 2026·View on GitHub·

[![Github-CI][github-ci]][github-link] [![Coverage Status][codecov-badge]][codecov-link] [![PyPI][pypi-badge]][pypi-link] [![Conda][conda-badge]][conda-link] [![PyPI - Downloads][install-badge]][install-link] The project is written primarily in Python, distributed under the MIT License license, first published in 2020. It has gained significant community traction with 1,326 stars and 106 forks on GitHub. Key topics include: markdown, markdown-it, markdown-parser.

Latest release: v4.2.0

markdown-it-py

Github-CI
Coverage Status
PyPI
Conda
PyPI - Downloads

<p align="center"> <img alt="markdown-it-py icon" src="https://raw.githubusercontent.com/executablebooks/markdown-it-py/master/docs/_static/markdown-it-py.svg"> </p>

Markdown parser done right.

This is a Python port of markdown-it, and some of its associated plugins.
For more details see: https://markdown-it-py.readthedocs.io.

For details on markdown-it itself, see:

See also: markdown-it-pyrs for an experimental Rust binding,
for even more speed!

Installation

PIP

bash
pip install markdown-it-py[plugins]

or with extras

bash
pip install markdown-it-py[linkify,plugins]

Conda

bash
conda install -c conda-forge markdown-it-py

or with extras

bash
conda install -c conda-forge markdown-it-py linkify-it-py mdit-py-plugins

Usage

Python API Usage

Render markdown to HTML with markdown-it-py and a custom configuration
with and without plugins and features:

python
from markdown_it import MarkdownIt from mdit_py_plugins.front_matter import front_matter_plugin from mdit_py_plugins.footnote import footnote_plugin md = ( MarkdownIt('commonmark', {'breaks':True,'html':True}) .use(front_matter_plugin) .use(footnote_plugin) .enable('table') ) text = (""" --- a: 1 --- a | b - | - 1 | 2 A footnote [^1] [^1]: some details """) tokens = md.parse(text) html_text = md.render(text) ## To export the html to a file, uncomment the lines below: # from pathlib import Path # Path("output.html").write_text(html_text)

Command-line Usage

Render markdown to HTML with markdown-it-py from the
command-line:

console
usage: markdown-it [-h] [-v] [--stdin|filenames [filenames ...]] Parse one or more markdown files, convert each to HTML, and print to stdout positional arguments: --stdin read source Markdown file from standard input filenames specify an optional list of files to convert optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit Interactive: $ markdown-it markdown-it-py [version 0.0.0] (interactive) Type Ctrl-D to complete input, or Ctrl-C to exit. >>> # Example ... > markdown *input* ... <h1>Example</h1> <blockquote> <p>markdown <em>input</em></p> </blockquote> Batch: $ markdown-it README.md README.footer.md > index.html

References / Thanks

Big thanks to the authors of markdown-it:

Also John MacFarlane for his work on the CommonMark spec and reference implementations.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from executablebooks/markdown-it-py via the GitHub API.Last fetched: 6/21/2026