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 with a holographic tilt effect.
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 and paragraph rules.
# Title— large slide title## Subtitle— smaller secondary heading- Plain paragraphs become body text
- Blank lines separate paragraphs
# Lightning Bolt ## An iconic red instant Deal 3 damage to any target. For one mana, you cannot beat the rate.
Lightning Bolt
An iconic red instant
Deal 3 damage to any target. For one mana, you cannot beat the rate.
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
--- background: dark ---
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 gain a holographic foil shine and a 3D tilt that follows your pointer.
Keyboard shortcuts
| Key | Action |
|---|---|
→ / Space / PageDown | Next slide |
← / PageUp | Previous slide |
Home | First slide |
End | Last slide |
Esc | 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.
Scryfall & caching
Card data and images come from the public Scryfall API. Lookups are cached in your browser's localStorage for 7 days, so reopening a presentation is instant and works offline once the cards have been fetched once.
Decklist import batches lookups through Scryfall's /cards/collection endpoint (75 cards per request) to stay friendly to their servers.
MTG Presenter is not affiliated with Wizards of the Coast. Magic: The Gathering is © Wizards of the Coast.