Skip to content
EDGE·THIRTEENSubscribe

For JetBrains IDE users

Write your slides in Markdown. Preview them without leaving the IDE.

Marp turns a Markdown file into a slide deck, and until now there was no Marp support for JetBrains IDEs at all — the bundled Markdown preview reads --- as a horizontal rule and shows a deck as one long page. This plugin adds a real slide-by-slide preview, and exports the deck to a single self-contained HTML file you can present or print to PDF.

Install the plugin from the JetBrains Marketplace first — the slide preview is free and works on its own. Pro unlocks deck export.

A deck is just a Markdown file

Three dashes start a new slide. Directives in the front matter or in an HTML comment set the theme, pagination, headers and backgrounds. It stays a plain text file in your repo, diffs like code, and needs no binary format or web app.

What it has never had is IDE support. A plugin search for “marp” on the JetBrains Marketplace returns nothing, while the same extension has over 850,000 installs on the other side of the fence. That is the whole reason this exists.

---
marp: true
theme: gaia
paginate: true
footer: 'Q3 review'
---

# Deck title

---

<!-- _class: lead -->

## One idea per slide

---

![bg left:40%](chart.png)

## Split layout

What the free preview gets right

  • Page breaks, properly. A --- inside a fenced code block is code, not a new slide — get that wrong and a deck silently splits in half.
  • All three directive scopes. Global front matter, spot directives that apply from their slide onward, and local _class-style directives that apply to one slide only. Each slide carries a flattened snapshot, so page 7 looks the same whether or not you have visited page 6.
  • Marp's extended image syntax. ![bg](hero.png) becomes a full-bleed background; ![bg left:40% fit](side.jpg) becomes a split panel. An ordinary image stays in the slide body where it belongs.
  • YAML block scalars. A style: | block with your own CSS is read in full and applied last, so your CSS always wins.
  • Ordinary HTML comments survive. Marp stores speaker notes as plain comments — a parser that eats every comment eats your notes.

Frequently asked

What does the free tier include?

The whole preview. A Slides tab appears on any Markdown file whose front matter says marp: true, showing one slide at a time with arrow-key navigation, live as you type. Page breaks, the three Marp directive scopes (global, spot and local), headers, footers, pagination, backgroundColor, custom style: blocks and background images including ![bg left:40%](...) splits are all resolved per slide.

What does Pro add?

Export Marp Deck to HTML: the whole deck as one self-contained file — no CDN, no Node install, no Marp CLI. Arrow keys and clicks move between slides, and the page is styled so the browser's own print-to-PDF gives you one slide per sheet. Paste your licence key once when prompted; it stays valid while the subscription is active.

Do I need the Marp CLI or Node installed?

No. The parser and both renderers are plain Java inside the plugin. Nothing is downloaded, nothing is shelled out to, and export works with no network connection.

Why not just use the bundled Markdown preview?

Because it does not know what Marp is. In Marp a top-level --- is a page break; CommonMark reads it as a thematic break, so a ten-slide deck renders as one scrolling page with nine grey lines in it. Directives, which Marp hides inside HTML comments, are invisible to it too.

Does the preview use an embedded browser?

No. It paints through Swing, so there is no JCEF process to fail — the preview also works over SSH and JetBrains Remote Development, on Wayland, and on Linux setups where a browser-backed preview shows a blank pane.

Which IDEs does it work in?

Any IntelliJ-platform IDE from 2023.3 onward — IDEA (Community or Ultimate), PyCharm, WebStorm, GoLand, PhpStorm, RubyMine, CLion, Rider, DataGrip and Android Studio. There is no declared compatibility ceiling, so it will not stop installing when the next IDE ships.

Is this affiliated with Marp?

No. Marp is an open-source project (MIT); this is an independent plugin that reads the same format. It implements the format from its specification rather than bundling any Marp code.

The plugin only reads the file you have open. It does not sync your slides anywhere, does not touch your project's build, and can be disabled without restarting the IDE. The licence check sends only your licence key, and caches its answer so an offline laptop keeps working.