MarpToPptx 1.0.1

dotnet tool install --global MarpToPptx --version 1.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local MarpToPptx --version 1.0.1
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=MarpToPptx&version=1.0.1
                    
nuke :add-package MarpToPptx --version 1.0.1
                    

MarpToPptx

Build NuGet Version NuGet Downloads .NET 10

✨ 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.0.1 45 3/8/2026
1.0.0 45 3/6/2026
0.2.0 51 3/4/2026
0.1.1 57 3/4/2026
0.1.0 52 3/3/2026