$npx skillfedfor your agent

markdownify

Convert HTML to markdown.

Worth itPyPI UtilitiesReleased Jun 202688.6M downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — markdownify-1.2.3-py3-none-any.whl
v1.2.3 · released 2026-06-30 · 2 runtime deps: beautifulsoup4, six

Yes. Markdownify is a well-maintained, actively developed library with low install friction, no security vulnerabilities, and a permissive MIT license. It solves a clear problem (HTML to Markdown conversion) with extensive configuration options and extensibility. The two-dependency footprint and pure-Python distribution make it suitable for most Python environments. Install it if you need reliable HTML-to-Markdown conversion.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low friction: pure Python wheel with only two runtime dependencies (beautifulsoup4 and six).
  • Active maintenance—last release 45 days ago, repository has 2235 stars and no archived status.

License · maintenance · safety

permissive license (permissive) — MIT license (permissive). No restrictions on commercial or private use; you may modify and distribute freely under the same terms.

last release 2026-06-30 (45 days) · last repo commit 2026-06-30 · 2,235 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 88,556,136 downloads/mo, #385 on PyPI

Verify before relying

pip install markdownify

from markdownify import markdownify as md
result = md('<b>Yay</b> <a href="http://github.com">GitHub</a>')
print(result)  # '**Yay** [GitHub](http://github.com)'
  • Whether the package actively supports Python versions beyond 3.8 (classifiers list 3.8 as the latest, but requires_python is unspecified).
  • Performance characteristics when converting large HTML documents or deeply nested structures.
Same gist for agents: .md · .json

What it is and what it does

Markdownify is a Python library that converts HTML markup into Markdown syntax. It parses HTML using BeautifulSoup and outputs semantically equivalent Markdown, preserving structure like links, bold/italic text, headings, lists, code blocks, and tables. The conversion is highly configurable: you can exclude specific tags, include only certain tags, choose heading styles (ATX, SETEXT, etc.), customize bullet characters, control how emphasis symbols are rendered, and adjust whitespace handling. It also supports custom converters by subclassing MarkdownConverter to override tag-specific conversion logic.

The package is useful for workflows that need to transform web content, API responses, or rich text into plain Markdown—common in documentation generation, content migration, and static site building. It depends on beautifulsoup4 for HTML parsing and six for Python 2/3 compatibility, though the classifier list suggests modern Python 3 versions are the primary target. A command-line interface is also provided for batch conversion of HTML files.

Use it for

  • Convert HTML email or web content to Markdown for documentation or archival purposes.
  • Extract and reformat web-scraped HTML into Markdown for static site generators or wikis.
  • Transform rich-text HTML from CMS or API responses into clean Markdown for further processing.
  • Batch-convert HTML files to Markdown via the command-line tool for content migration projects.
  • Customize HTML-to-Markdown conversion in a subclass to handle domain-specific tags or formatting rules.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes.

Markdownify is a well-maintained, actively developed library with low install friction, no security vulnerabilities, and a permissive MIT license. It solves a clear problem (HTML to Markdown conversion) with extensive configuration options and extensibility. The two-dependency footprint and pure-Python distribution make it suitable for most Python environments. Install it if you need reliable HTML-to-Markdown conversion.

Install

markdownify on PyPI

Before you install

Low friction: pure Python wheel with only two runtime dependencies (beautifulsoup4 and six). Active maintenance—last release 45 days ago, repository has 2235 stars and no archived status.

License in practice

MIT license (permissive). No restrictions on commercial or private use; you may modify and distribute freely under the same terms.

Quickstart

pip install markdownify

from markdownify import markdownify as md
result = md('<b>Yay</b> <a href="http://github.com">GitHub</a>')
print(result)  # '**Yay** [GitHub](http://github.com)'

Verify before relying

  • Whether the package actively supports Python versions beyond 3.8 (classifiers list 3.8 as the latest, but requires_python is unspecified).
  • Performance characteristics when converting large HTML documents or deeply nested structures.

Package facts

Licensepermissive license permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependencies
2 packages
beautifulsoup4six
MaintenanceActively maintained 45 days since the last release
Last repo commit
First released
Downloads88,556,136 / month, #385 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Environment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 2.5Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Utilities

Evidence: markdownify-1.2.3-py3-none-any.whl

Tags

Capabilities
html to markdown converterconvert html markdown pythonhtml markdown transformationparse html output markdownstrip html tags markdownbeautifulsoup markdownweb scraping markdown export
Topics
html-parsingcontent-conversionmarkup-transformation

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 › “html markdown transformation”

  • markdownifyConverts HTML to Markdown, with fine-grained control over which tags…
  • html-to-markdownConverts real-world HTML—including malformed tags, broken entities,…
  • pandocPandoc Python Library wraps the Pandoc document model to analyze,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Utilities packages

idna Worth it
PyPI · Python Modules · released Jun 2026

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.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
charset-normalizer Worth it
PyPI · Utilities · released Aug 2026

Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.

permissive licensepure Python · 3.7+
1.7Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

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.

MITpure Python · 3.10+
1.6Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
Pygments Worth it
PyPI · Utilities · released Mar 2026

Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.

Install it if you need to display or transform source code.

BSD-2-Clausepure Python · 3.9+
1.3Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo

See also django-markdownify · mdutils · telegramify-markdown · strip-markdown · prettierfier · soup2dict · md2pdf · notion2md · jira2markdown · notion-to-md-py