Back
Docs

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.

Dragon's Rage Channeler
UR Delver — Timeless

A worked example deck primer: Izzet Tempo for the Timeless format, showing off every layout and slide feature.

Open

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.

AttributeValuesEffect
layoutcentered, grid, hero, stackCard arrangement (default: grid)
colsintegerGrid columns (grid layout only)
gapinteger (px)Spacing between grid cards
rotateinteger (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
```
Brainstorm
Ponder
Preordain

The classic UR cantrip package

gap

```cards {layout=grid cols=3 gap=2}
Island
Island
Island
```
Island
Island
Island
```cards {layout=grid cols=3 gap=32}
Island
Island
Island
```
Island
Island
Island

rotate

```cards {layout=stack rotate=4}
Brainstorm
Ponder
Preordain
```
Brainstorm
Ponder
Preordain
```cards {layout=stack rotate=20}
Brainstorm
Ponder
Preordain
```
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.

Lightning Bolt

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.

Lightning Bolt
×4
Counterspell
×2

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.

Mana Crypt
Sol Ring
Mana Vault

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.

Brainstorm
Brainstorm

All modifiers together

```cards {layout=hero}
! 1 Brainstorm (mmq) 60
4 Ponder
4 Preordain
```

Order is !, quantity, name, optional (set) number.

Ponder
×4
Brainstorm
Preordain
×4

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.

Delver of Secrets
Huntmaster of the Fells

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)
  • backgroundlight or dark

Dark background

---
background: dark
---

# Midnight tempo

## Counter, draw, win.

```cards {layout=grid cols=3}
Counterspell
Brainstorm
Delver of Secrets
```

Midnight tempo

Counter, draw, win.

Counterspell
Brainstorm
Delver of Secrets

Light background

---
background: light
---

# Plains and prayers

```cards {layout=grid cols=3}
Swords to Plowshares
Path to Exile
Wrath of God
```

Plains and prayers

Swords to Plowshares
Path to Exile
Wrath of God

Combined: dark hero

---
background: dark
---

# The finisher

```cards {layout=hero}
! Griselbrand
Lotus Petal
Dark Ritual
Cabal Ritual
```

The finisher

Lotus Petal
Dark Ritual
Griselbrand
Cabal Ritual

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.

Brainstorm
Ponder
Preordain

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

Delver of Secrets
Ragavan, Nimble Pilferer

Slide 3 of 3

The answers

Lightning Bolt
Counterspell
Force of Negation

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:

  1. Parse the list into mainboard / sideboard / commander / companion
  2. Fetch every card from Scryfall in a single batch request
  3. Group mainboard cards by type (Creatures, Instants & Sorceries, Artifacts, Enchantments, Planeswalkers, Lands, Other)
  4. 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

KeyAction
/ Space / PageDownNext slide
/ PageUpPrevious slide
HomeFirst slide
EndLast slide
EscExit 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.