Our take
Activeregular commits and releases- Activity
- 63
- Community
- 50
- Issues
- 53
- Pull requests
- 39
+2 stars in the last 15 days
- Slower to merge pull requests than 83% of the projects we track
Mistune is an actively maintained Python Markdown library, though its development depends heavily on one contributor.
Good fit if
- You need Markdown-to-HTML conversion in a Python application and can use Python 3.10 or newer.
- You want plugin and renderer customization, or the default raw-HTML escaping behavior.
- You are comfortable with a BSD-3-Clause licensed dependency and the project’s concentrated contributor base.
Look elsewhere if
- Your application cannot run on Python 3.10 or newer.
- You need a Markdown parser implemented for a language other than Python.
- You require a project whose development is not concentrated around one contributor.
All health signals
| Last commit | 2026-10-16 (1 day ago) |
|---|---|
| Commits, last 90 days | 58 |
| Releases, last 12 months | 8 (latest v3.3.4, 2026-07-22) |
| Contributors | 68 (top contributor: 87% of commits) |
| Issues closed, last 90 days | 2 |
| Pull requests merged, last 90 days | 15 (typically merged in 3 days) |
| Project age | 12 years |
Checked on 2026-10-18 with the GitHub API.
Overview
Mistune is a Markdown parser built for Python applications. It converts Markdown text to HTML and provides renderers and plugins so developers can tailor how content is processed and rendered.
The default create_markdown() setup escapes raw HTML, which is useful when processing untrusted input. The project also provides a legacy mistune.html() helper that enables raw HTML and several plugins, intended for trusted content or output that is sanitized separately.
Key Features
- Convert Markdown text to HTML with
create_markdown(). - Customize parsing and rendering with plugins and renderers.
- Escape raw HTML by default with the standard setup.
- Use the legacy
mistune.html()helper for compatibility with raw HTML and several plugins. - Install directly from PyPI with pip.
Use Cases
- Python web applications that need to render user-authored Markdown while escaping raw HTML by default.
- Documentation tools that convert Markdown files into HTML.
- Applications that need plugins or custom renderers to adapt Markdown output to their own requirements.
- Existing Python projects that need a Markdown parser and want to use Mistune's compatibility helper for trusted input.
What you need
Detected in the repository
- Python >=3.10 (from pyproject.toml)
- A test suite and automated checks on GitHub Actions
License in plain words
BSD-3-Clausepermissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice; the authors' names cannot endorse your product
- Share your changes: no
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Install Mistune with pip:
pip install mistune
See the README for usage details and plugin documentation.
Alternatives
- markdown: Python-Markdown prioritizes compatibility with John Gruber’s reference implementation and extensions, while Mistune emphasizes configurable renderers and plugins.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| mistune | Python | BSD-3-Clause | 3.1k | Active |
| markdown | Python | BSD-3-Clause | 4.3k | Active |
Considerations
Mistune requires Python 3.10 or newer. Recent commits and releases indicate ongoing maintenance, but most contributions come from one person, which is a continuity risk for teams adopting it. The supplied health data also records few issues closed recently, while pull requests continued to be merged. For untrusted Markdown, use the default create_markdown() behavior; the legacy helper enables raw HTML, so use it only with trusted content or sanitize its output externally. Review the BSD-3-Clause license obligations before distribution.
Found this useful?
Share it with someone who would like mistune.