Markdown to presentation is the conversion engineers have been quietly using since Marp shipped in 2017. Write the deck as plain text. Render to PPTX, PDF, or HTML. Skip the dragging of text boxes around a slide canvas entirely. The trade-off was always design — Marp’s defaults are spartan. In 2026 the alternatives finally fixed that.
TL;DR
- For engineers: Marp (VS Code extension or CLI). Open source, offline, free. Spartan default themes.
- For everyone else: mdclaudy or SlideSpeak. Designed templates, drag-reorder, brand assets. Same markdown source.
- For one-off PPTX: Pandoc on the command line with a reference doctx.
- Three-line slide syntax: H1 for title,
---on its own line to advance, YAML front matter at the top. - Pick your export: PPTX (editable handoff), PDF (final deck), HTML (web-embedded).
The two camps of slide tools
Every slide tool sits on a spectrum between two poles. The visual end: PowerPoint, Keynote, Google Slides, Figma Slides, Pitch — drag text boxes onto a canvas, position by eye, no source file. The code end: Marp, Slidev, reveal.js, Beamer, Spectacle — slides are markdown or code, the tool renders them deterministically.
Markdown-to-presentation tools are the second camp. The trade-off was always the same: you give up the canvas control and the animations, you get version control, diff-able slides, no “why is this text box one pixel off”.
The 2026 development is that designed-template tools (mdclaudy, SlideSpeak) bridge the gap. You write markdown, but the template does the visual work — so the output looks like Pitch, not like Beamer.
The markdown slide syntax, in five minutes
Three rules cover most of it. A complete six-slide deck:
--- marp: true theme: default size: 16:9 title: How We Ship --- # How We Ship ### A short deck — Mohammed Agrat, 2026 --- ## The problem - Releases shipped on Fridays - Bugs found on Mondays - The cycle repeats --- ## The change We moved releases to Tuesday morning. --- ## The result - 60% fewer rollbacks - Engineering reads the on-call notes - Friday afternoons are now for thinking --- ## The code ```bash git tag -a v2.4.0 -m "release" git push --tags gh release create v2.4.0 --notes-file NOTES.md ``` --- # Thank you mohammed@example.com <!-- Speaker notes go in HTML comments like this -->
That’s a complete deck. Three rules:
- YAML front matter (the block between the first two
---) sets the theme, size, and metadata. - Three dashes on a line by themselves is a slide break.
- H1 is a slide title; H2 subdivides within a slide.
Everything else is regular markdown — lists, code blocks, links, images. Marp adds inline directives for per-slide styling (<!-- _class: lead -->); mdclaudy uses the same comment syntax for compatibility.
The tools, compared
Marp
The category leader since 2017. Open source. Two ways to use it: a VS Code extension that previews slides live as you write, or a CLI (npm install -g @marp-team/marp-cli) that exports from any markdown file. Three built-in themes — default, gaia, uncover. Custom themes are CSS files you author yourself.
Strengths: free, offline, files are plain .md that version cleanly in git. Weaknesses: the default themes are engineer-aesthetic; designed output requires CSS work; not many non-developers will install a VS Code extension to make slides.
Slidev
From Anthony Fu (Nuxt, Vite). Vue-powered, developer-focused, beautiful defaults. Slides are markdown enhanced with Vue components for interactive elements. Excellent for conference talks where the speaker is also the developer. Export to PDF or PNG; PPTX is community-supported but not first-class.
Pandoc
Pandoc’s PPTX route is undersold. Pass any markdown file and a reference doctx (a regular PowerPoint file you use as the template), get a deck back:
pandoc deck.md \ --reference-doc=brand-template.pptx \ -o deck.pptx
H1 becomes a section divider slide, H2 becomes a slide title, content beneath becomes the slide body. Underdocumented but it works.
mdclaudy
Web-first, no install. Write your deck in the editor with the same slide syntax Marp uses (forward-compatible). Pick a designed template — corporate, editorial, technical, pitch — and export to PPTX or PDF. The template handles the design work that Marp leaves to your CSS.
The honest caveat: mdclaudy’s slide templates are part of a roadmap rollout, with the first batch shipping alongside the document templates. Today, the export path is markdown → PDF slides; PPTX export ships in the next quarter.
SlideSpeak and Presenti.ai
Different category — AI-first slide generators. Prompt in, deck out. Useful when you don’t know what the slides should say yet. Less useful when you do know and want markdown to be the source. Worth mentioning because they’ll come up in the same SERPs.
PPTX vs PDF vs HTML — which export?
The choice depends entirely on what happens after you hit export.
- PPTX— pick this when the deck will be edited by someone else, presented from a Windows machine you don’t control, or merged into an existing corporate deck. Trade-off: the PowerPoint rendering of your typography won’t match the markdown tool’s preview exactly. Fonts substitute, spacing shifts a hair.
- PDF— pick this when you’ll present from your own machine and send the deck as a leave-behind. The PDF is pixel-identical to the preview. No font substitution, no spacing drift, no “why does this look different on the projector”. The most common export for technical talks.
- HTML— pick this when the deck lives on the web. A landing page that walks through a story, a conference talk embedded in a blog post, a self-paced training module. Reveal.js and Slidev both produce excellent HTML decks; Marp’s HTML output is the simplest.
A slide deck is a document with slow page breaks. Write the document first; let the tool handle the page breaks.
Speaker notes, transitions, animations
The three things that markdown-to-presentation tools handle with varying enthusiasm:
- Speaker notes. Universal support. Marp uses HTML comments at the end of a slide; Pandoc uses
::: notesfenced blocks; mdclaudy uses> [!notes]block quotes. All three round-trip to PowerPoint’s notes pane. - Transitions.Available everywhere, but markdown isn’t a great place to specify them. The tools that support transitions (Slidev, Reveal.js, mdclaudy) use YAML front matter or a per-slide directive. Use sparingly; the best transition is usually none.
- Animations.Lightweight only — fade-in for bullet reveals, slide-in for images. The dramatic animations PowerPoint ships with are not in scope for markdown tools, and the people who want them don’t want markdown either.
A real workflow: conference talk in two hours
How an engineer writes a 25-minute conference talk start to finish:
- Outline as markdown headings. Each H1 is a slide. Twenty H1s. Twenty slides. Half an hour.
- Fill in each slide. Two to four bullet points per slide, a single image where helpful. Forty-five minutes.
- Pick a template.mdclaudy’s “Technical Talk” preset. Two minutes.
- Add speaker notes. One paragraph per slide. Half an hour.
- Export as PDF — pixel-perfect, no surprises on the conference projector. Five seconds.
- Export as PPTXfor the conference’s slide-pool repository. Five seconds.
- Dry-run. Read through, time it, edit. Twenty minutes.
Related routes
Slides are one render of a piece of writing. The same markdown usually wants to be:
- A handout PDF for the audience to take home. See markdown to PDF.
- A blog post covering the same material in more depth. Render to HTML and publish.
- Social cards for promoting the talk before and after. Markdown to image covers the sizes and themes.
- A printed handout via the designed PDF templatesin mdclaudy’s library.
Frequently asked questions
The honest summary
Markdown to presentation is a category Marp opened nearly a decade ago and that the rest of the field is finally catching up to. The trade-off — give up canvas control for source control — is the right one for anyone who writes the deck and presents it themselves. The remaining gap was design; designed-template tools have closed it.
If you’re an engineer who lives in VS Code, Marp is still the answer. If you want the same markdown to also export through fifteen designed document templates and a designed slide deck, mdclaudy was built for exactly that. One source, slides included.