lecture.studio

Marp in Obsidian: the two plugins and what to expect

Two community plugins bring Marp into Obsidian: Marp Slides (samuele-cozzi, version 0.46 in 2026) previews a note as slides and exports HTML, PDF, PPTX and images through the Marp CLI API, with a folder for custom themes; Obsidian Marp Plugin (JichouP, last released 2023) previews in a split tab and exports by running marp-cli through npx. Both read standard Marp Markdown, so a deck moves between tools unchanged.

This guide is written from the two plugins' documentation as of September 2026, not from a test inside Obsidian; what Marp itself does with the Markdown was tested on marp-cli 4.5. It covers install, preview, export, themes, images and Wikilinks, and the workflow that keeps a course's decks in a vault.

Which plugin

Marp Slides Obsidian Marp Plugin
Maintained active (0.46.1, April 2026) last release August 2023
Preview slide preview panel preview in a split tab, auto-reload on save
Export HTML, PDF, PPTX, images via the Marp CLI API PDF, PPTX, HTML via npx marp-cli; Node.js required; output always to the Downloads folder
Custom themes a themes folder setting a MarpTheme folder in the vault (restart after adding CSS)
Images vault paths Wikilinks and Markdown paths, embedded as Base64 on export
Transitions as Marp HTML in HTML export

For a new setup, Marp Slides is the one being maintained; its documentation site covers getting started, preview, export and themes.

The Markdown is plain Marp

A note becomes a deck with the same front matter as anywhere else:

---
marp: true
theme: default
paginate: true
---

# First slide

---

## Second slide

Directives, ![bg] images, notes as comments, math and code highlighting behave as in marp-cli, because both plugins render with Marp Core. The cheat sheet applies.

Obsidian's ![[image.png]] embeds are Obsidian syntax, not Markdown; Marp outside Obsidian does not understand them. The Obsidian Marp Plugin's README says it accepts both Wikilinks and CommonMark image syntax and embeds the files on export. For decks that must also build with marp-cli or open in another editor, use the Markdown form with a path relative to the note (![w:600](assets/figure.png)), which works in both places.

Themes

Both plugins load custom theme CSS from a folder in the vault. Write the theme as usual (/* @theme name */, @import 'default', your rules) or generate one with the theme builder, save it in the configured folder, and name it in the deck's theme:. Obsidian Marp Plugin's README notes a restart after adding CSS.

Exporting

Marp Slides exports from its own commands. Obsidian Marp Plugin shells out to marp-cli through npx, so Node.js must be installed and the first export downloads the CLI; its output goes to the Downloads folder. In both cases the result is the same HTML, PDF or PPTX that marp-cli would produce, with the PDF needing a browser on the machine.

A course in a vault

Keeping decks in Obsidian makes sense when the readings, notes and decks are already there: a folder per course, a note per week with marp: true, the readings linked from the deck's notes. The limits are Obsidian's: no presenter view of its own (present from the exported HTML with P, or from a PDF), and the Wikilink question above if anything else must read the files. Lecture Studio takes the other approach, a plain folder of Marp files with its own presenter mode; the two coexist on the same folder as long as the decks use Markdown image paths.

FAQ

Can I use Marp in Obsidian?

Yes, with a community plugin: Marp Slides (maintained) or Obsidian Marp Plugin. Both preview a note as slides and export through Marp.

How do I export a Marp deck from Obsidian to PDF?

Marp Slides has export commands (HTML, PDF, PPTX, images). Obsidian Marp Plugin runs marp-cli via npx, which needs Node.js, and saves to Downloads.

Inside Obsidian Marp Plugin, yes (embedded on export). Outside Obsidian, no; use ![alt](path) so the deck also works in marp-cli and other editors.

Can I use a custom theme in Obsidian Marp?

Yes: put the theme CSS in the folder the plugin's settings name and reference it with theme: in the deck.