🎪Markdown Slides - Turn Markdown into a Presentation Online
Tired of dragging text boxes around in PowerPoint? Write the content in Markdown and let a theme do the layout. Every --- line starts a new slide (except inside code blocks), and front matter at the top sets the theme, 16:9 or 4:3 aspect ratio, page numbers, header, footer and incremental lists. Each slide can carry HTML-comment directives such as <!-- class: invert --> for inverted colors, <!-- layout: title --> for a title slide, <!-- bg: #fff8e1 --> for a background, or <!-- layout: two-column --> and ||| for columns — close to Marp and reveal.js syntax. Headings, lists, task lists, tables, quotes and images work, with ![w:300] for image width, ![bg] for a full background and ![bg left:40%] for a split layout. Code blocks get syntax highlighting, and overfull slides shrink to fit automatically. Text after Note: or <!-- notes --> becomes speaker notes. Type on the left, see a live preview on the right and a thumbnail strip below; click a thumbnail to jump to its source. Present full screen and advance with the arrow keys, Space, a click or a swipe, revealing list items one at a time. Press P for a presenter window with the current and next slide, notes, an elapsed timer and a clock, synced both ways. Export a PDF with one slide per page, print a vector-text PDF, save a self-contained HTML file that plays offline, or download the Markdown. Drafts autosave in your browser and are never uploaded.
Free · No sign-up · Runs in your browserLast updated:
How to use Markdown Slides
- 1Write Markdown on the left, separating slides with ---, or start from the sample
- 2Pick a theme and aspect ratio, and use comment directives for per-slide layouts, backgrounds and notes
- 3Click Present (press P for presenter view), or export PDF or HTML
FAQ
- Is the syntax compatible with Marp or reveal.js?
- The common parts are. Slide breaks with ---, front matter, comment directives like <!-- class: ... -->,  backgrounds and  sizing follow Marp, and Note: speaker notes follow reveal.js. Lists written with * reveal one item at a time (the Marp rule), or add <!-- incremental --> to a slide to step through all its lists. Custom CSS themes and Marp plugins aren’t supported.
- How does presenter view work?
- Click Presenter view, or press P while presenting, to open a second window showing the current slide, a preview of the next one, the slide’s notes, an elapsed timer and the time. Keep that window on your screen and the presentation on the projector — advancing in either window keeps both in sync. If nothing opens, allow pop-ups for this site in your browser.
- What’s the difference between the PDF and HTML exports?
- Export PDF renders each slide as a 2× image and puts one per page, so it looks exactly like the preview. Print / vector PDF uses your browser’s print dialog — choose Save as PDF for selectable, searchable text. Export HTML creates one self-contained web page that works offline, with keyboard, click and swipe navigation; press S for notes and F for full screen. Cross-origin web images may be missing from the image PDF, so insert local images with Insert image.
- Where is my content stored? Is it uploaded?
- Everything — parsing, rendering and exporting — happens in your browser, and the Markdown autosaves only to this browser’s local storage. Inserted local images are embedded in the Markdown as data URLs, so many large images can exceed the storage limit; export the Markdown file as a backup too.