How it works
Contents
Overview
MTG Presenter turns markdown into slide decks featuring Magic: the Gathering cards. Write in a simple format, fetch card images automatically from Scryfall, and present full-screen with a 3-D hover-tilt on every card.
Every example on this page is rendered live with the same renderer your presentations use - what you see here is exactly what you'll get.
Example presentations
Worked examples that exercise every layout and feature documented below. Open one to flip through the slides, or use it as a template to start a new presentation with the same markdown.
UR Delver
Timeless · Izzet Tempo
A lean blue-red shell that protects cheap threats with free counters, then closes the game with prowess and delve.
A worked example deck primer: Izzet Tempo for the Timeless format, showing off every layout and slide feature.
Slides
Separate slides with a line containing only three dashes.
# First slide Some text here. --- # Second slide More text here.
See Multi-slide deck below for a fully rendered example.
Text formatting
Use familiar markdown heading, paragraph, and list rules.
# Title- large slide title## Subtitle- smaller secondary heading- Plain paragraphs become body text
- Blank lines separate paragraphs
- itemor* itemlines become a bullet list
Inline formatting works in titles, subtitles, body text, list items, and card captions:
**bold**renders bold*italic*or_italic_renders italic`code`renderscode~~strikethrough~~rendersstrikethrough[text](https://…)renders a link (http/https/mailto/relative only)- Escape a marker with a backslash:
\*literal\*
# **Lightning** Bolt ## An *iconic* red instant Deal `3` damage to any target. - Cheap: just one mana - ~~Sorcery speed~~ — it's an instant - More on the [rules](https://scryfall.com)
Lightning Bolt
An iconic red instant
Deal 3 damage to any target.
- Cheap: just one mana
Sorcery speed— it's an instant- More on the rules
Card blocks
Embed cards with a fenced cards block. Put one card name per line. The opening fence accepts attributes in curly braces.
```cards {layout=grid cols=3}
Lightning Bolt
Brainstorm
Counterspell
```Pick a layout and open the fullscreen demo to see it at full size:
Card block attributes
Every attribute is optional. Combine freely.
| Attribute | Values | Effect |
|---|---|---|
layout | centered, grid, hero, stack | Card arrangement (default: grid) |
cols | integer | Grid columns (grid layout only) |
gap | integer (px) | Spacing between grid cards |
rotate | integer (deg) | Per-card rotation (stack layout) |
caption | "quoted string" | Caption rendered below the block |
caption
```cards {layout=grid cols=3 caption="The classic UR cantrip package"}
Brainstorm
Ponder
Preordain
```The classic UR cantrip package
gap
```cards {layout=grid cols=3 gap=2}
Island
Island
Island
``````cards {layout=grid cols=3 gap=32}
Island
Island
Island
```rotate
```cards {layout=stack rotate=4}
Brainstorm
Ponder
Preordain
``````cards {layout=stack rotate=20}
Brainstorm
Ponder
Preordain
```Card references
Each line inside a cards block is a card reference. Scryfall is queried by name. You can be more specific:
Fuzzy name
```cards {layout=centered}
Lightning Bolt
```Scryfall's fuzzy matcher handles typos and short names.
With quantity
```cards {layout=grid cols=2}
4 Lightning Bolt
2 Counterspell
```Quantities show as a ×N badge in the top corner - handy for decklists.
Hero marker
```cards {layout=hero}
! Sol Ring
Mana Crypt
Mana Vault
```Prefix a card with ! to make it the hero in the layout=hero arrangement.
Specific printing (set + collector number)
```cards {layout=grid cols=2}
Brainstorm (mmq) 60
Brainstorm (ice) 61
```Pick an exact printing with the set code in parentheses followed by the collector number. The two arts will differ.
All modifiers together
```cards {layout=hero}
! 1 Brainstorm (mmq) 60
4 Ponder
4 Preordain
```Order is !, quantity, name, optional (set) number.
Double-faced cards
```cards {layout=grid cols=2}
Delver of Secrets
Huntmaster of the Fells
```The front face is fetched and displayed. The renderer uses Scryfall's normal image - flip/transform handling lives on Scryfall's side.
Slide options
Set per-slide options with YAML front matter at the very top of a slide, between two --- fences.
layout- default layout for card blocks on this slide (centered,grid,hero,stack)background-lightordark
Dark background
---
background: dark
---
# Midnight tempo
## Counter, draw, win.
```cards {layout=grid cols=3}
Counterspell
Brainstorm
Delver of Secrets
```Midnight tempo
Counter, draw, win.
Light background
---
background: light
---
# Plains and prayers
```cards {layout=grid cols=3}
Swords to Plowshares
Path to Exile
Wrath of God
```Plains and prayers
Combined: dark hero
---
background: dark
---
# The finisher
```cards {layout=hero}
! Griselbrand
Lotus Petal
Dark Ritual
Cabal Ritual
```The finisher
Mixing text and cards
A slide can hold any number of text and card blocks in any order. They render top to bottom.
# Game plan
## Turn one
Cantrip into the best answer for the matchup.
```cards {layout=grid cols=3 caption="Tier 1 cantrips"}
Brainstorm
Ponder
Preordain
```
Then deploy a threat by turn two or three.Game plan
Turn one
Cantrip into the best answer for the matchup.
Tier 1 cantrips
Then deploy a threat by turn two or three.
Multi-slide deck
Three slides separated by ---. In presentation mode you'd step through them with the arrow keys.
# Izzet Tempo
## A quick tour
---
---
background: dark
---
# The threats
```cards {layout=grid cols=2}
Delver of Secrets
Ragavan, Nimble Pilferer
```
---
# The answers
```cards {layout=grid cols=3}
Lightning Bolt
Counterspell
Force of Negation
```Slide 1 of 3
Izzet Tempo
A quick tour
Slide 2 of 3
The threats
Slide 3 of 3
The answers
Decklist import
Skip writing markdown entirely. Paste a decklist on the Import page and a presentation is generated for you. Arena, MTGO, and plain-text formats are all supported.
The importer will:
- Parse the list into mainboard / sideboard / commander / companion
- Fetch every card from Scryfall in a single batch request
- Group mainboard cards by type (Creatures, Instants & Sorceries, Artifacts, Enchantments, Planeswalkers, Lands, Other)
- Generate a title slide, one slide per type group, and a sideboard slide
Example input:
4 Lightning Bolt 4 Brainstorm 4 Ponder 4 Delver of Secrets 4 Counterspell 20 Island SIDEBOARD: 2 Blood Moon 4 Force of Negation
After import, the generated markdown is fully editable - tweak titles, reorder slides, or switch layouts just like any other deck.
Presentation mode
Hit "Present" from the editor for a fullscreen view. Cards tilt in 3D as you move the pointer over them, and tapping any card zooms it to fill the slide.
Keyboard shortcuts
| Key | Action |
|---|---|
→ / Space / PageDown | Next slide |
← / PageUp | Previous slide |
Home | First slide |
End | Last slide |
F | Flip the zoomed card (DFCs only) |
Esc | Close zoom if open, otherwise exit presentation |
Presentation mode tries to enter true browser fullscreen automatically. Hover (or move your finger) over a card to see the foil shine react.
Phone remote
The editor shows a QR code (next to the Present button). Scan it on a phone to pair the device - no account, no login, no setup. The phone syncs with both the editor and the presenter, so opening the editor on your laptop while the phone is connected just works.
Navigation
- Large
‹ Prev/Next ›buttons advance the deck. - A scrollable slide list lets you jump directly to any slide by title.
- Slide changes auto-clear the pointer trail and any open zoom.
Trackpad & pointer
Tap ◉ Trackpad to open a miniature live preview of the current slide on the phone. The preview auto-rotates to landscape when you hold the phone in portrait so the slide gets the long edge of the screen, and it renders at the same resolution as the projected slide so what you touch is what the audience sees.
- Drag to draw a glowing pointer trail on the projected slide.
- Pick from four pointer colors at the top of the trackpad.
- Toggle Fade (trail fades after lift) vs Stay (trail persists until
Clearor slide change). - Clear wipes the current trail; switching slides also clears.
Card zoom
Double-tap a card on the phone's slide preview to zoom it on the projected screen. The card animates from its position on the slide to a centered overlay (~78% of slide height) with a dimmed, blurred backdrop.
- Single tap anywhere on the phone closes the zoom (animates back to the card's source position).
- Changing slides or pressing
Escon the presenter also closes it. - The pointer still works over a zoomed card - drag on the phone to point at details.
- For double-faced cards, double-tap the phone again to flip; press
Fon the presenter for the same effect.
Respects prefers-reduced-motion: the zoom animation falls back to a quick fade-in.
Scryfall & caching
Card data and images come from the public Scryfall API. Cards are cached in your browser for 7 days, so reopening a presentation is instant and works offline once the cards have been fetched.
Decklist import fetches every card in a single batch so it is fast and friendly to Scryfall's servers.
MTG Presenter is not affiliated with Wizards of the Coast. Magic: The Gathering is © Wizards of the Coast.