Creating slides with Markdown using Marp

Need to make a presentation, but don’t like using a GUI app? Take a look at Marp, the Markdown Presentation Ecosystem.

Many folks like to knock slides as a format for conveying information. I don’t dislike slides as a way to convey and present (some) information. But I have never loved using apps like PowerPoint, Google Slides, or LibreOffice Impress. Converting Markdown to slides, though, is a great way for me to knock out a first draft of a presentation.

When I work on work documents, I’ll often revert to Vim + Markdown to do a first draft. The important thing in a first draft is to get the outline in place and then fill out the text. Markdown offers enough formatting that I can do the headings (outline), bullets, minimal formatting, and links without needing to fuss with all the formatting options in a word processor.

After I’m happy enough with a first draft I can run things through Pandoc and then plop that into Google Docs or Word or whatever tool I need to move to the next step.

Marp makes it possible to do the same thing with presentations. Note: Marp produces slides that are images rather than, say, a PPTX file that you can edit in PowerPoint or Google Slides. However, Pandoc will happily take the same Commonmark file Marp uses and generate an editable preso to start from.

It’s not the only game in town for producing slideware outside of a slide app. If you prefer LaTeX, there’s Beamer (for example). But I find LaTeX to be overkill. (You can, if you want, go the Pandoc to Beamer route…) There’s other text to slides tools, too, but Marp has a few things I really like:

  • Simple format but you can produce some nice slides and tweak the layout nicely if you want to do that.
  • Marp-cli has a nice preview mode and even offers a presentation + speaker notes mode that’s good enough for presenting.
  • Cross-platform, your choice of Windows, Linux, or macOS + a VS Code plugin if that’s your tool of choice.
  • Starting with Markdown means it’d be easy to convert a presentation to prose or vice-versa. Converting a Google Slides deck to Google Docs, for example, much less straightforward.
  • Again, because it’s basically Markdown with a few extra formatting tweaks, it should be easy to migrate to another Markdown -> slides tool in the future if needed.
  • Marp is MIT-licensed, which is nice.

Marp is at top of mind for me today because I spent some quality time working on a draft deck today that was slow going in Google Slides. Popping open Vim instead of Google Slides was a productivity booster.

Have a favorite open source text to slides tool? I’m all ears.


Leave a Reply