PPTX to Marp Converter
A Python-based converter for turning Microsoft PowerPoint .pptx files into Marp-compatible Markdown.
Features
- Convert slide text into Markdown
- Marp frontmatter generation (
marp: true,paginate: true) - Slide separator generation (
---) - Export picture shapes into
assets/ - Convert simple tables to Markdown tables
- Command line interface
- Batch conversion with wildcard support
- Project packaging with
pyproject.toml - GitHub Action for release and PyPI publish
Installation
Install from source
git clone https://github.com/HNRobert/pptx2marp.git
cd pptx2marp
pip install -e .
Install only runtime dependency
pip install python-pptx
Usage
Command line tool
After installation, use pptx2marp:
# Convert a single file
pptx2marp demo.pptx
# Convert and write to output file
pptx2marp demo.pptx -o demo.md
# Batch conversion to output directory
pptx2marp *.pptx -o out/
# Override Marp title field
pptx2marp demo.pptx -o demo.md -t "Team Weekly Report"
# Verbose logs
pptx2marp demo.pptx -v
Python script entry
python main.py demo.pptx -o demo.md
Output structure
With default behavior, converting slides.pptx creates:
slides/
slides.md
assets/
slide001_img01.png
slide002_img01.jpg
If a slide contains no extractable content, converter outputs:
<!-- empty slide -->
Development
Build distribution artifacts:
python -m pip install --upgrade build
python -m build --sdist --wheel
License
MIT
Metadata
Release files for pptx2marp 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pptx2marp-0.0.2.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pptx2marp-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.5 kB
Release files / pptx2marp-0.0.2.tar.gz
| Download URL | pptx2marp-0.0.2.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3560222a63089a039b5ffdc3ff8d2149945025a85869644cb90c7ae378740c1d
|
|
BLAKE2b-256 checksum How to use checksums |
ccf00aba73280d67bac44869f7fdb6ff4321af5d1068c2acecce5274f9b03f0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 29, 2026.
Transparency logRelease files / pptx2marp-0.0.2-py3-none-any.whl
| Download URL | pptx2marp-0.0.2-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ac90ea349a9719f078a210132c74d1d6ba067ebf3b59f4f287592ae7ad681d5
|
|
BLAKE2b-256 checksum How to use checksums |
2e61613ffeb6b9463e68fa16f7ddb3d1f58c2b64585baefded78740b33f2f5c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 29, 2026.
Transparency log