What is MDeck?
MDeck turns standard markdown files into polished presentations. No proprietary formats, no complex setup — just write markdown and present.
- Any
.mdfile is instantly presentable — layout is inferred from content structure - 16 visualization types — bar charts, diagrams, Gantt charts, word clouds, and more
- AI image generation — generate slide images from text prompts
- Built in Rust — fast, lightweight, GPU-accelerated rendering
- Export to PNG — share slides without the tool
Installation
Homebrew (macOS / Linux)
Pre-built binaries
Download from GitHub Releases — available for macOS (Intel + ARM), Linux, and Windows.
Cargo
Build from source
Quick Start
# Present a markdown file
# Export slides as PNG images
# Show all commands
Write a file called talk.md:
title: "My Talk"
@theme: dark
This is my first MDeck presentation.
- --
```@diagram
- --
Then present it: mdeck talk.md
Features
Automatic Layout Inference
MDeck detects what kind of slide you're writing and picks the best layout:
| Content | Layout |
|---|---|
| Heading + subtitle | Title |
| Lone heading | Section divider |
| Heading + bullet list | Bullet |
| Heading + code block | Code |
| Blockquote + attribution | Quote |
| Single image | Full-screen image |
| Bullets + image | Split layout |
+++ separator |
Two-column |
@diagram code block |
Diagram |
@barchart, @piechart, etc. |
Visualization |
Override with @layout: name when needed.
Visualizations
Write data visualizations directly in markdown using fenced code blocks:
| Type | Tag | Example |
|---|---|---|
| Bar chart | @barchart |
- Python: 48 |
| Line chart | @linechart |
- Revenue: 100, 150, 200 |
| Pie chart | @piechart |
- Frontend: 35% |
| Donut chart | @donut |
- Complete: 78 |
| Stacked bar | @stackedbar |
- Product A: 40, 45, 50 |
| Scatter plot | @scatter |
- Alice: 80, 90 |
| Radar chart | @radar |
- Speed: 9, 7, 5, 3 |
| Funnel | @funnel |
- Visitors: 10000 |
| KPI cards | @kpi |
- Revenue: $4.2M (trend: +12%) |
| Progress bars | @progress |
- Design: 100% |
| Timeline | @timeline |
- 2024: Project launch |
| Word cloud | @wordcloud |
- AI (size: 50) |
| Venn diagram | @venn |
- Set A & Set B: Overlap |
| Org chart | @orgchart |
- CEO -> CTO |
| Gantt chart | @gantt |
- Design: 8d, after Research |
| Diagram | @diagram |
- Client -> Server |
All visualizations support progressive reveal with + markers.
Diagrams
Architecture and flow diagrams from text:
```@diagram
- --
- -
Features: grid positioning, 20+ built-in icons, 5 arrow types (->, <-, <->, --, -->), labeled connections, and AI-generated custom icons.
Themes
Built-in themes: light, dark, solarized, dracula, nord, gruvbox, and more.
Set globally in frontmatter or per-slide:
---
@theme: dark
@transition: spatial
---
Transitions
Smooth animated transitions between slides: fade, slide, spatial, and none. Cycle with T during presentation.
Slide Splitting
Three mechanisms create slide breaks (all combine):
---separator with blank lines on both sides- Three blank lines between content
- Heading inference — headings automatically start new slides
Smart heading inference: if your file has one # title and uses ## for sections, both levels split. Control explicitly with @slide-level: 2 in frontmatter.
AI Features
MDeck integrates AI for image and icon generation. Configure with mdeck ai enable.
Generate Images for a Presentation
Add image placeholders to your markdown:
- -

Then generate all images at once:
MDeck scans for image-generation markers, generates images using AI, saves them to an images/ directory, and rewrites your markdown with the actual file paths.
Style Control
Control the visual style of generated images:
---
@image-style: "Cinematic photography, vivid colors, dramatic lighting"
@icon-style: "Clean minimalist icon, subtle 3D feel"
---
Or manage named styles:
Ad-Hoc Image Generation
Generate individual images from the command line:
Diagram Icons
Generate custom icons for diagram nodes:
```@diagram
- -
Run mdeck ai generate to create and cache the icons.
Commands
Keyboard Controls
| Key | Action |
|---|---|
| Space / N / Right | Next slide |
| P / Left | Previous slide |
| Up / Down | Scroll overflowed content |
| G | Grid overview |
| D | Cycle theme |
| T | Cycle transition |
| F | Toggle fullscreen |
| H | Toggle HUD |
. |
Blackout screen |
| Esc Esc | Quit |
Shell Completions
# Static completions
# Dynamic completions (recommended)
Documentation
- Gallery — Visual showcase of all layouts and visualizations
- Format Specification — Complete reference for the MDeck markdown format (also available via
mdeck spec) - Changelog — Release history and what's new
The format spec is embedded in the binary and available via mdeck spec. It covers all slide layouts, directives, visualization syntax, diagram features, and keyboard shortcuts.
Development
License
MIT