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 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.

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, paragraph, and list rules.

  • # Title - large slide title
  • ## Subtitle - smaller secondary heading
  • Plain paragraphs become body text
  • Blank lines separate paragraphs
  • - item or * item lines 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` renders code
  • ~~strikethrough~~ renders strikethrough
  • [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.

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)
  • background - light 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

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 tilt in 3D as you move the pointer over them, and tapping any card zooms it to fill the slide.

Keyboard shortcuts

KeyAction
/ Space / PageDownNext slide
/ PageUpPrevious slide
HomeFirst slide
EndLast slide
FFlip the zoomed card (DFCs only)
EscClose 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 Clear or 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 Esc on 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 F on 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.