PowerPoint to Markdown

Turn a .pptx deck into clean Markdown, slide by slide. Every slide title becomes a numbered ## Slide 3: … heading, bullets keep the indent levels you set in PowerPoint, tables stay tables, and speaker notes come across as a blockquote you can switch on or off. It runs entirely in your browser and shows you the token comparison before you paste anything into a chatbot.

Drag & drop a .pptx file, or click to browse

Every slide becomes a numbered Markdown heading, with nested bullets, real tables and speaker notes intact. Your deck is read inside your browser and never uploaded.

Why convert slides to Markdown before asking an AI about them?

Handing a chatbot a deck is harder than handing it a document, because a slide has no reading order. A .pptx is a ZIP of XML in which every text box is an independent shape with its own position on a canvas. Extract that naively and you get a pile of disconnected phrases: no headings, no idea which bullet sat under which, no slide boundaries, and table cells strung out one per line with no columns. The model can read the words but cannot see the deck.

Markdown fixes that with a handful of characters every model has seen millions of times in training. That is why powerpoint to markdown for ai workflows have caught on for anyone pasting decks into Claude, ChatGPT, Gemini, DeepSeek or Grok - it is the cheapest way to reduce tokens for ai with markdown while keeping the structure the model needs. This converter shows you the estimated before-and-after count for your own file rather than asking you to take it on faith.

The slide numbering matters more than it sounds. Because each heading is written as ## Slide 5: Regional Breakdown, you can ask “what does slide 5 claim about EMEA?” and the model knows exactly where to look. Numbers always match the original deck, so slide 5 here is slide 5 in PowerPoint even when hidden slides are left out of the output.

What this converter actually preserves

  • Slide titles, read from the real title placeholder in the slide XML (<p:ph type="title">) rather than guessed from font size, so a big bold text box is not mistaken for a heading.
  • Nested bullets, at the level PowerPoint stored them (<a:pPr lvl="2">), indented so every Markdown parser reads sub-bullets as children rather than siblings. Auto-numbered lists come out as numbered lists.
  • Tables, as GitHub-flavoured Markdown tables. Pipe characters inside a cell are escaped, merged cells stay in the grid as blanks so the columns never shift, and every row is padded to the same width.
  • Speaker notes, as a labelled blockquote under each slide - a ppt to markdown with speaker notes conversion that you can turn off in one click when you only want what was on screen.
  • Images, extracted as real image files and referenced by filename, bundled with the .md in a ZIP.
  • Hyperlinks, as [text](url), and partial bold or italic inside a line.

Things a slide can hold that Markdown genuinely cannot - charts, SmartArt diagrams, and text baked into a picture - are marked with a placeholder and listed in the per-slide breakdown. Nothing is dropped silently: the breakdown tab tells you at a glance which slides converted cleanly and which were only ever a picture.

Frequently asked questions

Why does Markdown use fewer tokens than the raw slide text?

Two reasons, and this tool measures both for your own file. First, a naive dump keeps everything a deck accumulates - the blank paragraphs people leave behind, slide-number and footer chrome repeated on every slide, and the hidden backup slides you never actually present - because a flat text extraction has no way to tell those apart from content. This converter drops them. Second, structure that would otherwise cost you a paragraph of explanation is encoded in one or two characters: # for a heading, - for a bullet, | for a table column. On a short deck the two can come out about the same size, and the tool says so honestly rather than inventing a saving; on a real 20-to-40-slide deck with an appendix, the Markdown is usually meaningfully smaller. Counts are an estimate of roughly four characters per token, not a specific model's tokenizer.

Is my presentation uploaded to a server?

No. The .pptx is unzipped and its XML parsed entirely in your browser, and the images are extracted in memory. Nothing is sent anywhere, which means you can convert an internal board deck, a client pitch or an unreleased roadmap without a data-handling conversation.

What happens to speaker notes?

They are read from the deck's notes pages and written under each slide as a blockquote labelled Speaker notes, so a model can tell what you said out loud apart from what was on screen. There is a toggle to leave them out entirely - useful when you want the model to see only what the audience saw. The notes-page slide-number field is filtered out, so a stray page number never leaks into the notes text.

Are nested bullets really kept, or flattened?

Really kept. PowerPoint stores an outline level on every paragraph, and this converter maps that level directly to Markdown list indentation, up to nine levels deep. A sub-bullet stays a child of the bullet above it. The slide breakdown tab reports the deepest nesting level found on each slide so you can confirm it at a glance rather than reading the whole output.

What about hidden slides?

Hidden slides are skipped by default, since they are usually backup or appendix material you did not intend to present, and skipping them is often where most of the token saving comes from. There is a toggle to include them, in which case they are labelled (hidden) in the heading. Either way the slide numbering follows the original deck, so leaving slide 5 out does not renumber slide 6.

What happens to images on my slides?

Markdown is a plain-text format, so it can only ever reference an image by filename - it cannot embed one. This tool pulls every embedded image out as its own file (image1.png, image2.jpg, and so on), writes matching ![](image1.png) references into the Markdown, and gives you a ZIP containing the .md plus all the images. An image used on several slides is extracted once and referenced from each. If the deck has no images, you get a single .md file instead.

What if a slide is just a picture with no text?

It is flagged rather than silently emitted as an empty section. The slide keeps its number and its image reference, and the breakdown tab marks it Image only so you know the text on that slide was never extractable in the first place. If the words are baked into the picture, run that image through an OCR tool and paste the result in yourself.

Can it open .ppt files from PowerPoint 97-2003?

No, only the modern .pptx (and .pptm) format. The old .ppt format is a binary container that cannot be read in a browser. Open the file in PowerPoint, Keynote or Google Slides and save it as .pptx first - the tool tells you this instead of failing silently if you drop a .ppt or an .odp on it.

How do I use the result with ChatGPT, Claude or Gemini?

Click Copy Markdown and paste it straight into the chat. Because the slide structure survives, you can then ask things like "summarise slides 4 to 9", "turn the table on slide 3 into a bullet list" or "which slide contradicts the revenue claim on slide 2?" and the model knows exactly what you are pointing at - which is not true of a flat text dump. If your deck had images, unzip the bundle first so the image files sit next to the .md.

Related tools