MarpToPptx 1.0.1
dotnet tool install --global MarpToPptx --version 1.0.1
dotnet new tool-manifest
dotnet tool install --local MarpToPptx --version 1.0.1
#tool dotnet:?package=MarpToPptx&version=1.0.1
nuke :add-package MarpToPptx --version 1.0.1
MarpToPptx
✨ Turn your Marp Markdown into real, editable PowerPoint files.
So you'd like to write your presentation slides in Markdown? It's lightweight, easy to version, and works great with AI-powered workflows. The amazing Marp ecosystem has you covered with a mature, open-source solution for authoring beautiful slide decks in plain text:
- Marp — the Markdown Presentation Ecosystem
- Marp for VS Code — live preview and export right in your editor
- Marp CLI — command-line conversion to HTML, PDF, and PPTX
- awesome-marp — community themes, tools, and examples
There's just one hangup. When you're asked to turn in a PowerPoint deck at a conference, need to share editable slides with a colleague, or want to integrate into an existing corporate deck — you need your slides in real PowerPoint format. Unfortunately, Marp's PPTX export produces uneditable image-per-slide output that you can't select, edit, or restyle.
That's where MarpToPptx comes in. 🎉 It reads your Marp-flavored Markdown and produces native Open XML PowerPoint files where every heading, bullet, table, and code block is a real, selectable, editable PowerPoint shape. The output opens cleanly in PowerPoint — no repair prompts, no surprises.
flowchart LR
A["📝 Marp Markdown"] --> B["⚙️ MarpToPptx"]
C["🎨 CSS Theme"] -.-> B
D["📊 .pptx Template"] -.-> B
B --> E["✅ Editable .pptx"]
style A fill:#4a9eff,color:#fff
style B fill:#7c3aed,color:#fff
style C fill:#f59e0b,color:#fff
style D fill:#f59e0b,color:#fff
style E fill:#10b981,color:#fff
🚀 Quick Start
MarpToPptx requires .NET 10. The fastest way to try it — no install needed:
dnx MarpToPptx slides.md -o slides.pptx
Or install it globally as a .NET tool:
dotnet tool install --global MarpToPptx
marp2pptx slides.md -o slides.pptx
Apply a Theme or Template
Use a CSS theme file for Marp-style theming:
marp2pptx slides.md --theme-css brand.css -o slides.pptx
Or reuse an existing PowerPoint template to inherit your organization's masters and layouts:
marp2pptx slides.md --template corporate.pptx -o slides.pptx
📋 Features
| Category | What's supported |
|---|---|
| Slide structure | Front matter directives, --- slide splitting, presenter notes |
| Text content | Headings, paragraphs, ordered and unordered lists, bold/italic/code spans |
| Rich content | Local images, syntax-highlighted code blocks, native tables |
| Media | Embedded MP3/M4A audio, embedded video |
| Theming | CSS-based Marp themes (fonts, colors, padding, backgrounds, typography) |
| Templates | Copy masters and layouts from an existing .pptx |
| Directives | backgroundColor, backgroundImage, header, footer, paginate, scoped overrides |
| Output quality | Open XML validated, tested to open without repair prompts in PowerPoint |
| Platform | Runs anywhere .NET 10 runs — CI-tested on Ubuntu, works on Windows and macOS |
💻 VS Code Integration
Add a one-click export task to any content repository with a .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Export to PPTX",
"type": "shell",
"command": "dnx",
"args": [
"MarpToPptx",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.pptx"
],
"group": "build",
"presentation": { "reveal": "always", "panel": "shared" },
"problemMatcher": []
}
]
}
Run Terminal → Run Task → Export to PPTX while editing a Markdown file. The .pptx appears next to your source file.
For template-based export, version pinning, team sharing, and integrating the Marp for VS Code preview extension, see doc/vscode-workflow.md.
🎯 Sample Decks
The samples/ directory contains ready-to-run Marp decks that exercise different features:
dnx MarpToPptx samples/01-minimal.md -o artifacts/samples/01-minimal.pptx
dnx MarpToPptx samples/04-content-coverage.md -o artifacts/samples/04-content-coverage.pptx
dnx MarpToPptx samples/03-theme-css.md --theme-css samples/03-theme.css -o artifacts/samples/03-theme-css.pptx
See samples/README.md for the full list and suggested progression.
🗺️ Roadmap
- Broader CSS coverage for advanced Marp theme features
- Smarter layout heuristics for dense or highly designed slides
- Multi-layout template mapping
- Improved table styling fidelity
- Expanded syntax highlighting themes
- Remote asset support
🤝 Contributing
See CONTRIBUTING.md for repository structure, conventions, building from source, packaging, and release process.
📖 Documentation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.