waylan

markdown: Convert John Gruber's Markdown to HTML

Python-Markdown converts John Gruber’s Markdown to HTML, with extensions for additional features. It is an actively maintained Python library for projects that need Markdown rendering and control over supported syntax.

ActivePythonBSD-3-ClauseLibraryMarkdownMarkdown Parser
Stars
4.3k
Forks
917
Stars, last 15 days
+2
Last commit
3 days ago
Contributors
100+

Our take

Activeregular commits and releases

Health score

61/100

How it is scored
Activity
58
Community
81
Issues
55
Pull requests
51

+2 stars in the last 15 days

  • More contributors than 77% of the projects we track

An established, actively maintained Markdown library with broad contributor participation and regular releases, though its stated known compliance issues are worth checking against your syntax needs.

Good fit if

  • Your Python project needs Markdown-to-HTML conversion and the documented syntax meets your requirements.
  • You want extension support and are comfortable using a library that requires Python 3.11 or later.
  • You value an active project with regular commits and releases, broad contributor participation, and ongoing issue and pull-request handling.

Look elsewhere if

  • You require complete compliance with the Markdown reference implementation, since the project acknowledges known issues.
  • Your environment cannot run Python 3.11 or later.
  • Your application needs a renderer for a language other than Python.
All health signals
Last commit2026-10-16 (3 days ago)
Commits, last 90 days28
Releases, last 12 months6 (latest 3.11.1, 2026-10-13)
Contributors100+ (top contributor: 46% of commits)
Issues closed, last 90 days23 (typically closed in 37 days)
Pull requests merged, last 90 days26 (typically merged in 1 day)
Project age16 years

Checked on 2026-10-19 with the GitHub API.

Overview

Python-Markdown is a Python implementation of John Gruber’s Markdown, the format it converts to HTML. It is intended for developers who need to render Markdown in Python applications, with extensions available when the core syntax is not enough.

The project describes itself as almost completely compliant with the reference implementation, while noting some known issues. Its extension system offers a way to add features beyond the core implementation.

Key Features

  • Converts Markdown text to HTML from Python.
  • Provides an extension system for additional Markdown features.
  • Aims for near-compliance with John Gruber’s reference implementation.
  • Documents supported and unsupported features on the project website.
  • Offers a Python API for rendering text in applications.

Use Cases

  • Python web applications that need to render user-authored Markdown as HTML.
  • Documentation tools that turn Markdown source into HTML output.
  • Content workflows that need Markdown rendering with selected extensions.

What you need

Detected in the repository

  • Python >=3.11 (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 the package:

pip install markdown

See the README and project documentation for usage and installation details.

Alternatives

  • mistune: Mistune is another Python Markdown-to-HTML parser, with configurable renderers and plugins rather than Python-Markdown’s extension-based architecture.
ProjectLanguageLicenseStarsStatus
markdownPythonBSD-3-Clause4.3kActive
mistunePythonBSD-3-Clause3.1kActive

Considerations

The project acknowledges that it has known differences from the reference implementation, so check its feature documentation if exact syntax behavior matters. The package requires Python 3.11 or later. It is distributed under the BSD-3-Clause license.

Found this useful?

Share it with someone who would like markdown.

Comparisons