If you've decided to write your presentations in Markdown (smart choice), you've probably narrowed it down to two tools: Marp vs Slidev. Both convert Markdown files into beautiful slide decks. Both are open source. Both are loved by developers. But they take fundamentally different approaches to what a "Markdown presentation" should be.
Marp is minimal by design — it converts Markdown to slides with as little complexity as possible. Slidev is feature-rich — it layers Vue.js components, animations, and developer tooling on top of Markdown. The right choice depends on what you value more: simplicity or power.
Quick Overview
Marp in 30 Seconds
Marp (Markdown Presentation Ecosystem) converts Markdown files to HTML slides or PDF. It works as a VS Code extension, CLI tool, or part of a CI/CD pipeline. The philosophy is "write Markdown, get slides." No JavaScript, no components, no build tools. Just text.
Slidev in 30 Seconds
Slidev is a presentation tool built on Vue 3 and Vite. You write slides in Markdown but can include Vue components, code blocks with live execution, and complex layouts. It requires Node.js and provides a hot-reloading development server. The philosophy is "developer-first presentation experience."
Syntax and Slide Creation
Marp's Approach
Marp uses standard Markdown with a YAML frontmatter header for configuration. Slides are separated by --- (horizontal rules). You can add directives for background images, text alignment, and theme selection. Here's what a typical Marp slide looks like:
A frontmatter block sets the theme and enabling pagination, then each --- creates a new slide. You write headings, lists, and images using standard Markdown syntax. That's it. If you know Markdown, you know Marp.
Slidev's Approach
Slidev also uses --- separators and YAML frontmatter, but extends Markdown significantly. Each slide can have its own frontmatter for layout selection. You can embed Vue components inline, use Windi CSS classes for styling, and add click animations to reveal content step by step.
Slidev's syntax is more powerful but requires learning its extensions on top of standard Markdown.
Theming and Design
Marp Themes
Marp ships with three built-in themes: default, gaia, and uncover. You can create custom themes using CSS, which Marp applies during conversion. The theming system is straightforward — write CSS, reference it in frontmatter — but the out-of-the-box options are limited. Custom themes require CSS knowledge, and the community theme ecosystem is small.
Slidev Themes
Slidev has a richer theming system. Themes are npm packages that can include layouts, components, and styles. The community has built dozens of themes that you can install with a single command. Slidev also supports UnoCSS (Windi CSS) out of the box, so you can use utility classes directly in your Markdown for quick styling adjustments.
Winner: Slidev. More themes, more flexibility, easier to customize without writing raw CSS.
Interactivity and Components
Marp: Static Only
Marp generates static slides. There's no JavaScript execution in the output (unless you inject it manually). This means no interactive charts, no live code execution, no click animations. What you write in Markdown is exactly what appears on screen. For many presentations, this is perfectly fine — and the simplicity is a feature, not a bug.
Slidev: Full Vue.js Power
Slidev lets you use any Vue component in your slides. This enables:
- Click animations: Reveal bullet points one at a time with
v-click - Live code: Run and edit code directly in slides with Monaco Editor
- Interactive charts: Embed Chart.js, D3, or any JavaScript visualization
- Custom components: Build reusable slide components in Vue
- LaTeX math: Built-in KaTeX support for equations
- Diagrams: Mermaid.js integration for flowcharts and sequence diagrams
Winner: Slidev. If you need any interactivity, Slidev wins decisively.
Developer Experience
Marp's Workflow
- Install the VS Code extension (or CLI)
- Create a
.mdfile - Write slides with live preview in VS Code
- Export to HTML, PDF, or PPTX
Total setup time: 2 minutes. No Node.js required for the VS Code extension path. No build step, no dev server, no dependency management.
Slidev's Workflow
- Install Node.js (if not already)
- Run
npm init slidev - Edit
slides.mdwith hot reload in the browser - Add components, themes, and configurations as needed
- Export to PDF, PNG, or deploy as a SPA
Setup takes 5-10 minutes. The hot-reload dev server is excellent — changes appear instantly in the browser as you type. But you need Node.js and a package manager.
Winner: Marp for simplicity. Slidev for development experience once set up.
Export and Deployment
Marp Export Options
- HTML (self-contained single file)
- PDF (via Chrome headless rendering)
- PowerPoint (.pptx) — useful for sharing with non-technical people
- PNG/JPEG images of individual slides
Slidev Export Options
- SPA (single-page app) for web deployment
- PDF (via Playwright)
- PNG images
- Deploy to Netlify, Vercel, or GitHub Pages as a web app
Winner: Marp for PPTX export. Slidev for web deployment.
Performance and File Size
Marp output is lightweight — a typical 20-slide deck exports to a self-contained HTML file under 100KB. Slidev's output is a full Vue.js SPA, which starts around 500KB and grows with dependencies. For sharing via email or loading on slow connections, Marp's smaller footprint is an advantage.
When to Choose Marp
- You want the simplest possible Markdown-to-slides workflow
- You present text-heavy content (talks, lectures, internal updates)
- You need PPTX export for non-technical audiences
- You don't want to manage Node.js dependencies
- You prefer VS Code as your editor
- Minimal setup and maintenance matter more than features
When to Choose Slidev
- You want interactivity: click animations, live code, charts
- You're comfortable with Vue.js and Node.js
- You need rich theming with community theme support
- You want to deploy presentations as websites
- You're giving technical talks with live demos
- You want the best hot-reload development experience
The Third Option: HTML Templates
Both Marp and Slidev are excellent for developers who prefer writing in Markdown. But there's a middle ground worth considering: starting from a professionally designed HTML template. You get the visual quality of a design tool with the code control of an HTML approach — no Markdown conversion quirks, no framework limitations.
For more on choosing between frameworks, see our in-depth Slidev vs Reveal.js comparison, or explore why developers are switching to HTML presentations entirely.
Skip the Framework Setup
Start with a beautiful HTML template. Full control, professional design, zero configuration.
Browse HTML Templates →Marp and Slidev are both excellent tools that reflect different philosophies. Marp says "slides should be simple." Slidev says "slides should be powerful." Neither is wrong — the best choice is the one that matches how you work and what your presentations need.