Markdown to Slides
Write presentations the way you write READMEs: Markdown headings, bullet lists, code blocks, separated by --- horizontal rules into slides. The tool renders your deck live using Reveal.js (themes: black, white, simple, solarized), supports speaker notes with Note:, nested vertical slides with --, and exports to a self-contained HTML file or a print-ready PDF.
How Markdown becomes a slide deck
-
1
Write Markdown
Use `---` to separate slides. Standard headings, lists and code blocks work as usual.
-
2
Add speaker notes
Prefix a paragraph with `Note:`: it's shown only in presenter mode.
-
3
Preview the deck
Live preview shows the deck with arrow-key navigation.
-
4
Pick a theme
Black, white, league, sky, simple, solarized: any Reveal.js theme.
-
5
Export
Self-contained HTML file or PDF via browser print.
The slide syntax
# Opening slide
Subtitle text here
---
## Second slide
- Bullet one
- Bullet two
- Bullet three
Note: these are speaker notes only visible in presenter mode.
---
## Code slide
\`\`\`python
def hello(name):
return f"Hi {name}"
\`\`\`
---(three dashes on their own line) starts a new horizontal slide.--(two dashes) starts a vertical slide inside the current slide column, press down-arrow to descend.Note:at the start of a paragraph becomes a speaker note.
Keyboard navigation
| Key | Action |
|---|---|
| Right / Space | Next slide |
| Left | Previous slide |
| Down / Up | Navigate vertical stack |
s |
Open speaker view |
o |
Slide overview |
f |
Fullscreen |
? |
Help dialog |
Layout tricks
- Two-column layout: use raw HTML inside a slide,
<div class="columns">...</div>. - Fragment reveal: bullet lists animate in one at a time with the
{.fragment}attribute when using Reveal.js directly. Add as raw HTML if you need it. - Background images: slide-level attribute
<!-- .slide: data-background="url" -->sets a full-bleed background. - Auto-animate between slides: Reveal 4 supports smooth transitions for matching elements, turn it on in theme settings.
Exporting to PDF
From the live preview, open ?print-pdf in your browser URL and use the browser’s print dialog. Choose A4 landscape, background graphics on, margins minimal. Reveal.js outputs one slide per page with speaker notes on optional additional pages.
When Markdown-based slides shine
- Tech talks with a lot of code samples.
- Content-first decks where layout is secondary.
- Docs-as-slides, keep presentations next to project README in git.
- Version-controlled training material.
When it doesn’t
- Design-heavy keynotes with precise image placement.
- Slides that need complex animations or embedded video timing.
- Brand-governed decks where templates dictate every detail.
Frequently Asked Questions
Yes, regular Markdown image syntax works. Use absolute URLs or upload images first so they’re reachable from the exported HTML.
Yes, optionally. The Reveal print mode supports “notes as separate page”, each slide becomes two PDF pages, one with the slide, one with notes.
No. Rendering is local in your browser. The Markdown source and exported HTML never leave your machine.
Yes. Add a <style> block at the top of your Markdown or link an external stylesheet in the theme settings. It’s injected into the Reveal.js output.
The exported HTML is a self-contained file that runs on any static host, GitHub Pages, Netlify, S3. Upload the HTML and you’re done.
Related Tools
ASCII Table Reference
Full ASCII table from 0 to 127 with decimal, hex, octal, binary, standard names and HTML numeric-reference notation, including NUL, LF and DEL.
Color Palette Generator
Generate monochromatic, analogous, complementary, triadic or tetradic color palettes from a base HEX color and export copy-ready CSS variables.
HTML Character Reference
Searchable list of HTML entities, their named and numeric codes, and a one-click copy for special characters and symbols.
FPS Counter
Measure browser FPS with requestAnimationFrame, smoothing, min/max frame rate, warnings and an optional graph. Runs locally with no upload or API.
HEX Color Picker
Pick or enter a HEX colour and get RGB, HSL, approximate CMYK, relative luminance and contrast ratios against white and black.
JSON Formatter
Paste JSON to pretty-print with 2 or 4 spaces, minify it to compact output, or run a quick syntax check before copying the result.
Tool available in other languages
- Markdown till bildspel [SV]
- Markdown을 슬라이드로 변환 [KO]
- Markdown zu Folien [DE]
- แปลง Markdown เป็นสไลด์ [TH]
- Markdown a Presentaciones [ES]
- Markdown ke Slide [ID]
- Markdown をスライドに変換 [JA]
- Markdown naar slides [NL]
- Markdown sang Slide [VI]
- تحويل ماركداون إلى شرائح عرض [AR]
- Markdown na slajdy [PL]
- Markdown vers Diapositives [FR]
- Markdown para Apresentações [PT]
- Markdown in Diapositive [IT]
- Markdown в слайды [RU]
- Markdown'dan Slaytlara [TR]
- 将 Markdown 转换为幻灯片 [ZH]