# Markdown to Slides (PDF and HTML)
> Turn Markdown into a clean slide deck — PDF with embedded fonts and a single-file HTML presentation. 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.
Part of usefulweb.site (https://usefulweb.site/). Part of [Deckwright](https://deckwright.usefulweb.site/) (ownerApp: deckwright). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows.
## Use it
- Human interface: https://deckwrightmarkdowntodeck.usefulweb.site/ (interactive tool at https://deckwrightmarkdowntodeck.usefulweb.site/tool)
- JSON API: POST https://deckwrightmarkdowntodeck.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://deckwrightmarkdowntodeck.usefulweb.site/api/v1/tool)
- OpenAPI: https://deckwrightmarkdowntodeck.usefulweb.site/openapi.json
- MCP (Streamable HTTP): https://deckwrightmarkdowntodeck.usefulweb.site/mcp - tool `deckwright_markdown_to_deck`
## Inputs
- markdown (textarea): Deck in Markdown - 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: .
- theme (select): Theme
- aspect (select): Slide shape
- lang (text): Deck language (BCP 47, e.g. en, de, ar) - Leave empty to use “lang:” from the front matter (English if not set).
- dir (select): Text direction
## Method
- 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.
## Limits
- 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.