Markdown to Slides (Presentation) Generator
Convert a Markdown document into an HTML slide deck — split on `---` or `## ` headings into slides, generate reveal.js-compatible HTML with theme picker, extract speaker notes from HTML comments, preview slides, and export a self-contained HTML file. Supports Marp-style directives, code highlighting hints, image embedding, and per-slide layouts. 100% client-side, zero install, zero upload.
About Markdown to Slides (Presentation) Generator
Convert a Markdown document into an HTML slide deck — split on `---` or `## ` headings into slides, generate reveal.js-compatible HTML with theme picker, extract speaker notes from HTML comments, preview slides, and export a self-contained HTML file. Supports Marp-style directives, code highlighting hints, image embedding, and per-slide layouts. 100% client-side, zero install, zero upload. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
How does the Markdown to Slides generator work?
Paste your Markdown in the editor — we split it into slides on `---` separators (Marp-style) or `## ` heading boundaries (reveal.js-style), apply the selected theme, extract speaker notes from HTML comments (`<!-- note: ... -->`), and generate a reveal.js-compatible HTML deck. Use arrow keys to navigate the live preview, then export a self-contained HTML file that runs offline.
How do I split Markdown into slides?
Two split modes are supported: (1) `---` separator (Marp convention) — each `---` on its own line starts a new slide. (2) `## ` headings — each H2 heading begins a new slide (useful for outline-driven decks). You can also use Marp directives like `<!-- _class: lead -->` or `<!-- _paginate: true -->` to control per-slide layout. HTML comments containing `note:` are extracted as speaker notes.
Which themes are available?
Eight built-in themes for the preview and exported HTML: default (white), black, league, beige, blood, night, serif, and solarized. Each theme controls background, fonts, and transition. The exported HTML is fully self-contained — no external CSS or JS dependencies, opens offline in any browser.
How do speaker notes work?
Any HTML comment in your Markdown that contains `note:` (e.g. `<!-- note: Remember to mention the Q1 numbers -->`) is extracted as the speaker note for that slide. Notes are emitted as `<aside class='notes'>` elements in the exported HTML (reveal.js convention) so they appear in presenter mode when the deck is opened in reveal.js, and they're listed in a 'Notes' panel in our preview.
What extra features does this tool have versus Marp or reveal.js?
(1) Two split modes (`---` or `## ` headings). (2) 8 built-in themes. (3) Speaker notes extraction from HTML comments. (4) Marp directive passthrough (`_class`, `_paginate`, `_backgroundColor`). (5) Live preview with arrow-key navigation. (6) Self-contained HTML export (no external deps, opens offline). (7) Per-slide title extraction. (8) Stats (slide count, total chars, notes count). (9) Code block syntax hints preserved. (10) Image embedding via Markdown image syntax. (11) Reveal.js fragment markers (`<!-- .element: class="fragment" -->`). (12) History (localStorage, last 20). (13) Shareable URL with the source encoded. 100% client-side — no Node toolchain, no upload, no account.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.