Apps Part of Deckwright

Markdown to Slides (PDF and HTML)

Turn Markdown into a clean slide deck — PDF with embedded fonts and a single-file HTML presentation.

Slides are separated by a line ---; without separators every # or ## heading starts a slide. Charts: ```chart blocks with options and CSV; diagrams: ```diagram or ```mermaid blocks; speaker notes after a line Notes:. Images: ![alt text](data:image/png;base64,…).

More options

Leave empty to use “lang:” from the front matter (English if not set).

Try an example: · ·

More about this tool

How it works

Write slides in Markdown (headings, lists, tables, code, quotes, images, CSV charts and flowchart/sequence/mind-map diagrams, speaker notes) and get a 16:9 or 4:3 deck in one of six themes: a vector PDF with embedded, searchable fonts (Latin, Cyrillic, Greek, Arabic, Devanagari, Chinese, Japanese, Korean), a self-contained HTML presentation and a PNG of the first slide. Right-to-left decks are mirrored.

  • Slides are split at lines of three dashes (or, without any, at # and ## headings); the first heading of a slide is its title. A slide with only a level-1 heading and a short paragraph becomes a title or section slide.
  • Text is shaped with the embedded Noto fonts (Arabic joining, Devanagari reordering, bidirectional text), wrapped by words (Chinese, Japanese and Korean by characters) and shrunk in steps down to 14 pt when it does not fit; slides that still overflow are reported.
  • Charts are drawn by the same chart engine as the RavingDesk data desk (Okabe–Ito colours, dash patterns, generated description); diagrams by the same Mermaid-subset layout as the diagram tool. Both become vector shapes and real text in the PDF.
  • The HTML file is self-contained: semantic slides (headings, lists, tables, inline SVG with data tables, images as data URLs), speaker notes, a presenter mode with keyboard control, and its own Content-Security-Policy that allows only its single style and script by SHA-256 hash.

One font weight (Noto Sans Regular): bold and links are shown in the accent colour in the PDF; HTML and PowerPoint keep real bold. Web images are not downloaded; embed them as data URLs or add them in the app.

Sources

Part of Deckwright

Related tools

How to use Markdown to Slides (PDF and HTML)

Turn a Markdown outline into a slide deck with charts, diagrams and speaker notes, and download it as a PDF, a single-file HTML presentation and a PNG preview.

What it is for

You already have your talk as an outline: headings, bullet points, a small table, maybe a few numbers. This tool turns that Markdown into finished slides without a slide editor. A line with three dashes starts a new slide, ## makes the slide title, - makes bullets. A fenced chart block with CSV becomes a real chart, a diagram block in Mermaid-like syntax becomes a flowchart, sequence diagram or mind map, and everything after Notes: becomes speaker notes.

You get a PDF with selectable text and embedded fonts, a single-file HTML presentation that works offline and a PNG of the first slide. It does not animate builds or transitions, it cannot place things freely on a slide, and it has no web fonts other than the bundled Noto families.

Worked example

The default input is a six-slide quarterly review in the Paper theme. The tool reported 6 slides at 254 × 142.875 mm (16:9), language en, direction ltr, and no warnings. The outline shows what each slide became: slide 1 is a title slide, slide 3 “Revenue by month” holds a chart next to 16 words of bullets, slide 4 holds a diagram, slide 5 a table. The PDF was 17,923 bytes, the HTML 16,186 bytes.

The smallest text on slide 4 is 10.5 pt — the diagram labels. Body text never drops below 22 pt, table text 16 pt.

The Arabic example (lang: ar, dir: rtl, theme Slate) made 4 slides with right-aligned text, and the chart slide uses the Arabic alternative text from the Markdown. Because the title has no Latin letters, the files are called deck.pdf and deck.html.

The outline example has no --- lines at all: every # and ## heading started a slide, so it produced 5 slides; with Slide shape set to 4:3 they are 254 × 190.5 mm.

How to read the result

  • Slides and meta: number of slides, theme, shape, language and direction actually used. Settings in the tool override the deck's front matter.
  • Outline: for each slide the title, the layout (title, section or content), words, whether it has notes, its charts and diagrams, and the smallest text size in points.
  • Warnings: text that had to shrink or still does not fit, characters the fonts cannot show, charts that could not be drawn.
  • Files: the PDF, the HTML presentation and a PNG of slide 1. Open in app opens a copy in Deckwright without your speaker notes.

Tips and common mistakes

  • Give every slide a ## title — the accessibility checker and screen readers depend on it.
  • Write alt: in every chart block. Without it the tool writes a summary from the numbers, which is better than nothing but not as good as your sentence.
  • Long slides shrink to 14 pt; beyond that they are cut and you get a warning. Split them instead.
  • The HTML file contains its own CSP and no external resources; press P in it to present.
  • Images must be data URLs here; in the app you can insert image files.

FAQ

Does my text get uploaded?

The tool page runs on the server like every usefulweb tool, but nothing is stored beyond the generated files. The Deckwright app does everything in your browser.

Can I use Chinese, Japanese or Korean?

Yes. Everyday characters (GB 2312 level 1, JIS level 1, all KS X 1001 Hangul) are embedded; rarer characters produce a warning.

Why is my chart an image in PowerPoint but text in the PDF?

In the PDF and HTML, charts are vector drawings with real text. PowerPoint gets a sharp picture with alternative text; use the PPTX tool for that.

Which Markdown is supported?

Headings, paragraphs, bold, italic, code, links, nested lists, quotes, GFM tables, code blocks, images, chart and diagram blocks — no raw HTML.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://deckwrightmarkdowntodeck.usefulweb.site/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://deckwrightmarkdowntodeck.usefulweb.site/mcp · tool name deckwright_markdown_to_deck
Example request
curl -s -X POST https://deckwrightmarkdowntodeck.usefulweb.site/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{…see OpenAPI examples…}'
Feedback · ideas & bug reports welcome