> Source: https://txtfetch.com/tools/ppt-to-text > Plain-text twin — every page on txtfetch.com has one. https://txtfetch.com/text --- # Your old .ppt deck, as text. No code required. Drop a real PowerPoint 97-2003 deck below. See every slide's text, and its speaker notes where present, come out right here, in your browser. No PowerPoint install, nothing uploaded. Drop a legacy Word (.doc), Excel (.xls), or PowerPoint (.ppt) file below to see the actual text it extracts to. These 97-2003 binary formats get read right here in your browser. Nothing is uploaded. ## whats-hard-about-ppt Saving a .ppt doesn't rewrite the file. It appends to it. A deck that's been edited a few times physically contains several complete generations of its own slides, all still sitting there. Nothing about a slide's records says whether it's the current one. The file settles the question in a separate index called the persist directory. That's a table mapping each slide to the byte offset of its live copy, rebuilt on every save. Read the records in the order they appear and you get old drafts mixed in with current slides. This tool resolves that directory the way PowerPoint itself does, so you get the deck as it stands, in its real presentation order. A slide's text isn't in one place either. Title and body-placeholder text is normally kept as "outline" text in a list attached to the presentation. Text boxes and table cells live in the slide's own shape tree instead, and which one a given deck uses varies. Plenty of real decks put every word in the outline and leave the slide's shape tree with no text in it whatsoever. A reader that only walks the shapes returns an empty slide for a deck that's clearly full of writing. Both have to be read and stitched together. Then there's the junk that looks exactly like content. Every slide carries PowerPoint's own version tag, a string literally reading "\_\_\_PPT10", in a records subtree next to the real text. The slide and notes masters hold the template's prompt text: "Click to edit Master title style". It sits in containers with the same record type a real notes page uses. Collect every string under a slide and all of it lands in your output. On a deck whose slides are mostly images, that internal marker can end up being the entire extraction. Telling them apart means knowing which subtree is which, not filtering on the text itself. ## what-to-do-next Got the text out and want the API call for it directly? The panel above already has it, with your file's real name. Extracting many decks, or files bigger than this browser tool's 25 MB cap? [See the full legacy-Office extraction guide (.doc, .xls, .ppt) →](https://txtfetch.com/extract/legacy-office) ## faq **Does this tool upload my deck anywhere?**: No. The whole read happens in your browser. The file's bytes never leave your machine. Only the finished text ever leaves, and only if you choose to copy or download it. **Are speaker notes included?**: Yes, labelled "Speaker notes:" under the slide they belong to. Each notes page is matched to its slide by the slide id the page itself records, not by position in the file. That matters because the notes MASTER is stored with the same record type as a real notes page. The MASTER is the template page holding "Click to edit Master text styles". Matching by position lands that template text on slide 1. Matching by id leaves it out, where it belongs. **Does it get the slide order right?**: Yes. Order comes from the deck's own persist directory, the index PowerPoint rebuilds on every save to track which copy of each slide is current. That also means a deck that's been edited repeatedly doesn't come back with old drafts mixed in. Reading the records in plain file order is what causes that. If a deck's persist directory can't be read, this tool falls back to record order. It says so in the results, rather than presenting a guess as fact. **Does it read SmartArt diagrams or chart data labels?**: No. Those live in their own separate structures this reader doesn't walk. Plain text boxes and titles are covered. **What about text on the slide master?**: It's left out, on purpose. The master is where PowerPoint keeps the template prompts, such as "Click to edit Master title style". Including it would put that boilerplate in front of you on every slide. The trade-off is that anything genuinely typed onto a master, such as a standing footer or disclaimer, is skipped along with it. A deck whose real content lives on the master can come back empty. The results say so rather than leaving you to work it out. **Does it handle an encrypted or password-protected .ppt?**: Yes, in the sense that it tells you. An encrypted deck's content is ciphertext, so there's nothing to read. Rather than report an empty deck, this tool checks the file's own encryption marker first and says plainly that it's password-protected. Neither this tool nor txtfetch's API can open it without the password. **What text encodings does it handle?**: Both of the two text-atom forms .ppt uses: a plain UTF-16 form, and a narrower single-byte form used when a run doesn't need Unicode. Missing either one silently drops roughly half of a typical deck's text, so this reader handles both. **Is there a file size limit?**: This tool reads up to 25 MB entirely in your browser. It has its own caps on how many records it will walk. So a malformed or hostile file can't hang the tab. Larger decks, or a batch you want to automate, go through the same extraction via the API, which has no such limit. ## That was one file. The API does the queue. This page read your PPT on your own machine. The API reads a folder of them. [Read the quickstart →](https://txtfetch.com/docs) [Get an API key →](https://app.txtfetch.com/signup)