Marp to Editable PPTX
Install from VS Code Marketplace →
A VS Code extension that exports Marp Markdown presentations to editable PowerPoint (.pptx) files.
Each text box, image, and shape is individually placed — not embedded as a flat image — so you can freely edit the slide content in PowerPoint or LibreOffice.
Release notes: CHANGELOG.md
Requirements
- A Chromium-based browser (Google Chrome or Microsoft Edge) — no other software needed
Usage
- Open a Marp Markdown file (
.md) in VS Code
- Press
F1 and run Marp: Export to Editable PPTX
- Choose a save location in the dialog
- The editable
.pptx file is generated
Visual Quality
Each image shows HTML (Marp) on the left and exported PPTX on the right.
All 63 slides from src/native-pptx/test-fixtures/pptx-export.md — auto-updated by CI.
All slide comparisons (63 slides)
How it works
- Converts the Markdown to HTML using @marp-team/marp-cli
- Launches a headless browser to render each slide and extract precise layout information (position, font, color, images, background)
- Builds an editable
.pptx where each element is individually placed as a native PowerPoint shape
See src/native-pptx/README.md for architecture details, ADR log, and the visual diff improvement workflow.
For contributors
# Install dependencies
npm install
# Build (extension + native-pptx bundle)
npm run build
# Run unit tests
npm test
# Run the visual fidelity comparison locally (Windows, requires PowerPoint)
node src/native-pptx/tools/gen-pptx.js src/native-pptx/test-fixtures/slides-ci.html dist/compare-out.pptx
node src/native-pptx/tools/compare-visuals.js src/native-pptx/test-fixtures/slides-ci.html dist/compare-out.pptx
# → report at dist/compare-slides-ci/compare-report.html
License
MIT