UnQTools
Developer Runs in your browser

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.

100% Private Works Offline Instant

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

  1. Enter your input in the tool above.
  2. Adjust any options to your preference.
  3. Use the Copy or Download buttons to save the result.
  4. 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.

Search tools and actions

Search across all 616 tools, categories, and quick actions.