Markdown to PowerPoint
You wrote the outline in Markdown because that is where you think. Then someone asked for a deck. This page cuts the file into slides — at --- by default, the same place Marp and reveal.js cut — and writes a .pptx. It tells you the slide count before you press Start, because finding out afterwards that your notes became forty-seven slides is the actual problem.
- No upload
- No account
- No watermark
- No file limit
Your files
A .pptx names fonts, it does not carry them. Pick what is installed where the deck will be opened.
Drop a file and the slide count appears here.
Nothing chosen yet.
Where your file goes
Nowhere. This page downloads a small program into your browser, and that program reads the file straight from your disk. The program comes from this site like any image or stylesheet — but your file only ever travels from your disk into your own browser tab.
Why this one
What you get that the big converters cannot offer.
The slide count is there before you commit
Drop the file and the number appears under it, and it changes when you change where the cut happens. A file with no --- anywhere becomes one very long slide — you see that here, not after opening PowerPoint.
It cuts where the rest of the ecosystem cuts
A --- on its own line is what Marp splits on and what the reveal.js Markdown plugin looks for by default. A file written for either of those comes out with the same number of slides here. If yours is only ## headings and no rules, switch the cut and watch the count change.
Chinese, Japanese and Korean go in the right font slot
A .pptx names fonts, it does not carry them, and PowerPoint looks up East Asian characters in a different slot from Latin ones. A file that leaves that slot empty can show boxes on a machine set up for English. Every run written here fills both slots.
The outline never leaves the machine
Unreleased numbers, a reorg, a board update. These are the decks you would rather not paste into a converter, and there is nothing here to paste them into.
How to use it
Drop your .md file in. The slide count shows up straight away.
Choose where it cuts — at --- only, or at headings as well — and which font to name for Chinese, Japanese and Korean text.
Press Start and download the .pptx. Open it in PowerPoint, Keynote, Google Slides or WPS.
When people use it
Your notes are already the talk
You worked the argument out in a Markdown file and the meeting wants slides. The content does not need rewriting, it needs cutting.
Someone else has to present it
A .pptx is what gets asked for, and notes written as HTML comments land in the notes pane, which is where the presenter will look.
A deck that is really a document
Release notes, a status update, a checklist that has to be shown on a screen. One heading per slide is all the structure it ever needed.
Questions
Where exactly does it cut?
At a --- on its own line. That is what Marp splits on, and the reveal.js Markdown plugin looks for the same thing by default, so it is as close to a standard as this has. You can ask for headings on top of that: # alone, or # and ## together. Headings are additive the way Marp headingDivider is — a --- still cuts even when heading cuts are switched on.
My file has --- under a line of text and I meant a heading
In CommonMark that is an H2, the underlined kind. Here it is a page break. Hardly anyone types it on purpose and treating it as a break is what keeps Marp files working, so that is the trade made. Write ## Like this if you wanted a heading.
What happens to images?
Only images written as data URIs are put in the deck. An image with an http address would have to be fetched, and fetching it means this page making a request to someone else’s server after telling you it makes none. Those are counted and reported instead — you get a number, so you know how many are missing rather than wondering.
Will it look the same on the machine I present from?
The text will be there; the exact face may not be. A .pptx names fonts rather than carrying them, so if the font you picked is not installed where the deck is opened, PowerPoint substitutes something else and the line breaks shift a little. Nothing here can prevent that. What it does do is fill the East Asian font slot, which is the difference between a substituted font and a row of empty boxes.
How do I write speaker notes?
An HTML comment on the slide: <!-- slow down here, they always ask about cost -->. That is the Marp convention. A line beginning Note: also works, which is what the reveal.js plugin reads. Marp directives such as <!-- paginate: true --> or <!-- _class: lead --> are recognised as directives and dropped, so they do not turn into notes or into text on a slide.
What does not survive?
Themes and slide layouts, background images, columns, footnotes, maths, emoji as pictures, and any HTML beyond <br> and comments. Headings, paragraphs, bulleted and numbered lists with their nesting levels, bold, italic, strikethrough, inline code, fenced code blocks, blockquotes, tables, links and speaker notes all come through.
Does it produce a designed deck?
No, and it does not try to. Everything lands on one plain layout — title at the top, content below, dark text on white. There is no theme picker. If the deck has to carry a brand, this gets the content into PowerPoint and you apply your template there, which takes one menu item and is the part this page would do worst.
Is the file really not uploaded?
No. The .md is read inside this tab and the .pptx is assembled inside this tab. There is no server here that could receive it.
Other tools
Compress Image
Make photos smaller without the upload
Compress PDF
Shrink a PDF without uploading it
Compress Video
Make a video file smaller
Crop Video
Drag a box over the picture and keep only that part
Video to GIF
Turn part of a video into an animated GIF
Merge PDF
Join several PDFs into one
Split PDF
Pull pages out of a PDF
PDF to JPG
Turn every page of a PDF into an image
PDF to Word
Turn a PDF into an editable .docx
Audio Cutter
Trim an audio file
Video Cutter
Trim a video without re-encoding it
Crop Image
Drag a box over it, then rotate if it needs it
Combine Images
Put several pictures into one file
HEIC to JPG
Convert iPhone photos to JPG
JPG to PDF
Turn JPG and PNG images into one PDF
Video to MP3
Pull the audio out of a video
Word to PDF
Turn a .docx into a PDF, or one PDF per page
Markdown to Word
Turn a .md file into a .docx
Image to Text
Read the text out of a picture
Split Excel Sheets
One sheet, one file
Split Excel Rows
One row, one file