How to make a reveal.js deck from Markdown
Generate a web-native reveal.js presentation from Markdown — how slide breaks map, what reveal.js adds over plain slides, and how to present and share it.
reveal.js is the framework behind countless conference talks: presentations that run in a browser, scale to any screen, and need no installed software. Markdown to reveal.js turns your Markdown into a complete, self-contained reveal.js deck.
How slide breaks map
reveal.js has two axes, and Markdown can drive both:
- Horizontal slides (your main flow) are separated by a horizontal rule —
---on its own line. - Vertical slides (optional sub-slides you nest under a main point) use a different separator the deck recognizes, so you can drill down and come back up.
A heading becomes the slide title; the content beneath it — bullets, code, quotes, images — fills the slide body. You author exactly as you would for any Markdown slide deck; reveal.js just renders it as an interactive HTML slideshow.
What reveal.js adds over plain slides
- Smooth transitions between slides, in the browser.
- A speaker view with notes and a timer (open the deck and press the speaker-notes key).
- Fragments — reveal bullets one at a time instead of all at once.
- Keyboard and touch navigation, an overview mode, and deep links to any slide.
Presenting and sharing
The output is HTML. To present, open it in any modern browser and go full screen — no app, no account. To share, the deck is just files: host them on any static host, attach the single page, or keep it in a repo and open it locally. Because it's the open web, it works the same on the venue laptop as on yours.
When to choose reveal.js
Pick it when you want a presentable, interactive deck and you're comfortable with the web: developer talks, internal demos, anything you'll publish online afterward. If you only need static slides to export or print, plain Markdown slides are simpler. And if you ever inherit a reveal.js deck and want the content back as text, reveal.js to Markdown extracts it.
Write the talk in Markdown; ship it as a browser-native presentation.