skillfed

pptx2md

This package converts pptx to markdown

pptx2md v2.0.6 156.5K downloads/30d#10,783 on PyPI1,266
Permissive license MIT Licence Active released

What it is and what it does

pptx2md is a command-line tool and Python library that extracts content from PowerPoint presentations and renders it as markdown or alternative markup formats. It parses slide structure, preserving hierarchy through heading levels, and reconstructs text formatting (bold, italic, color, hyperlinks), lists at arbitrary depth, embedded images, and tables with merged cells. The tool reads slides in top-to-bottom, left-to-right order and can optionally apply fuzzy matching to map slide titles to a custom hierarchy for generating structured tables of contents.

The package is designed for developers and content creators who need to migrate presentation content into documentation systems, wikis, or markdown-based workflows. It offers both a straightforward CLI (pptx2md filename.pptx) and a programmatic API through the ConversionConfig class, allowing integration into larger automation pipelines. Output can be tailored through numerous flags—disabling image extraction, escaping, notes, or color tags; constraining image width; detecting multi-column layouts; or switching to TiddlyWiki, Madoko, or Quarto markup.

Use it for:

  • Convert training or educational presentations into markdown documentation for a knowledge base or wiki
  • Extract slide content into Quarto-formatted markdown for republishing as a web presentation or report
  • Batch-convert legacy PowerPoint decks to markdown for version control and collaborative editing
  • Migrate presentation notes and speaker notes into markdown-based documentation systems
  • Generate TiddlyWiki or Madoko markup from presentations for specialized publishing workflows

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Converts PowerPoint .pptx files to markdown, preserving titles, lists, text formatting, images, tables, and hyperlinks, with support for multiple output formats including TiddlyWiki, Madoko, and Quarto.

Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a concrete problem—converting pptx to markdown—with broad format support. The MIT license is permissive. Install it if you need to programmatically or batch-convert PowerPoint files to markdown or alternative markup; skip it if you only occasionally convert presentations manually.

Install

pptx2md on PyPI

pip

pip install pptx2md

uv

uv add pptx2md

poetry

poetry add pptx2md

Installing pptx2md

Before you install

Low friction install with a pure-Python wheel. Maintenance is active with recent commits and a solid community signal (1266 stars). Requires Python 3.10 or later and seven runtime dependencies including image processing (Pillow, numpy, scipy) and text matching (rapidfuzz).

License in practice

Licensed under MIT Licence with permissive treatment, allowing broad use, modification, and distribution with minimal restrictions.

Quickstart

pip install pptx2md

from pptx2md import convert, ConversionConfig
from pathlib import Path

convert(ConversionConfig(
    pptx_path=Path('presentation.pptx'),
    output_path=Path('output.md'),
    image_dir=Path('img')
))

Requires Python 3.10 or later. For WMF image conversion on Linux, the optional wand library is recommended.

Verify before relying

  • Whether fuzzy matching score threshold of 92 is configurable or hardcoded
  • Performance characteristics with large presentations or complex multi-column layouts
  • Completeness of formatting preservation for all PowerPoint text styles and effects

Package facts

License MIT Licence (permissive)
Python support supports the current Python release (<4,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — Pillow, numpy, pydantic, python-pptx, rapidfuzz, scipy, tqdm
Maintenance actively maintained — 619 days since the last release
Last repo commit
First released
Downloads 156,457/month — #10,783 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pptx2md-2.0.6-py3-none-any.whl

License :: Other/Proprietary LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11

Tags

pptx to markdown converterpowerpoint to markdownconvert slides to markdownpptx markdown exportpresentation to markdownslide deck conversionpptx parser markdown
document-conversionpresentation-parsingmarkup-generation

More Markup packages