Fix it now
- Drop the file
- Repair runs locally
- Download the result
What a .pptx actually is
Rename a .pptx to .zip and you can open it: underneath, it is an ordinary ZIP archive following Microsoft's Office Open XML (OOXML) layout. Inside you'll find [Content_Types].xml (which declares the type of every part), a _rels/ folder of relationship files that wire the parts together, and the presentation body under ppt/: ppt/presentation.xml (the deck's backbone and slide order), one ppt/slides/slide1.xml, slide2.xml… per slide, plus slideLayouts/, slideMasters/, theme/, and a ppt/media/ folder holding the embedded images, audio and video as ordinary files.
That structure is why the error is usually survivable. Your text lives as readable XML inside the slide parts; your pictures are whole files in ppt/media/. If the ZIP's central directory (its table of contents at the end of the file) was damaged by a truncated download, or one XML part is malformed, PowerPoint stops — but the vast majority of the parts are still intact and extractable.
How slides are wired — and why one bad part breaks everything
The reason a single fault can down the whole deck is that PowerPoint parts don't reference each other by filename — they reference by relationship ID, and the chain has to hold end to end. ppt/presentation.xml lists the deck as a <p:sldIdLst> of <p:sldId id="256" r:id="rId2"/> entries. That r:id isn't a file path; it's a key looked up in ppt/_rels/presentation.xml.rels, which maps rId2 → slides/slide2.xml. So slide order and slide existence are stored in two different places, and they can break independently:
- An intact
slide2.xmlwhoser:idor<p:sldId>entry was lost becomes orphaned — physically present, but invisible to PowerPoint. - A
<p:sldId>pointing at a relationship whose target is missing is a dangling reference — and hitting one is a classic trigger for "found a problem with content".
It gets more fragile because slides inherit. Each slideN.xml has its own _rels pointing to a slideLayout, which points to a slideMaster, which points to the theme. That's a shared dependency: damage one slideMaster or slideLayout and every slide built on it fails at once — which is why a deck can refuse to open over what looks like a single broken part. Repair therefore isn't just "recover the slides"; it's rebuilding the relationship graph so the surviving parts can find each other again.
How the in-browser repair recovers your slides
The tool treats the .pptx as what it is — a ZIP/OOXML package — and works at three levels. First, the container: if the ZIP index is broken or missing, it scans the file for the local headers of each stored part and rebuilds the archive from the entries that survived. Second, the parts: it checks the key XML pieces ([Content_Types].xml, presentation.xml, the slide parts) and keeps every one whose XML is well-formed. Third, the relationships: it repairs the _rels graph — re-referencing orphaned slides back into the sldIdLst and dropping dangling links — so PowerPoint opens the package instead of choking on a broken pointer.
This is more surgical than PowerPoint's own "Open and Repair", which, when it succeeds, silently discards whatever it can't read and shows a "Repaired Records" recovery log — often meaning slides quietly vanished. Rebuilding the package instead preserves each part that's genuinely intact.
Honest limits apply. The most fragile parts are embedded objects: a chart carries its own data as an .xlsx workbook inside ppt/embeddings/ (a spreadsheet nested in a presentation), and OLE objects sit there as .bin blobs — if one of those embedded files is the malformed part, the chart or object may be lost even when its slide recovers. If a specific slideN.xml is itself corrupted beyond parsing, that slide's editable content may be gone though its images often survive in ppt/media/. And bytes a truncated download never delivered can't be recreated — re-download the original if you can. Everything here runs in your browser, so a confidential deck is never copied to a server just to be repaired.
What this can and can't fix
Can fix
- A .pptx whose ZIP central directory was damaged or truncated — parts that were fully written are rebuilt
- Orphaned slides (intact slideN.xml with a lost r:id or sldIdLst entry) re-referenced back into the deck
- A deck downed by one damaged slideMaster/slideLayout shared across many slides — the relationship graph is repaired
- Recovering slide text and layout from slide parts whose XML is still well-formed
- Recovering embedded images and media that survived in ppt/media/
Can't fix
- An individual slide whose own XML is corrupted beyond parsing (its editable content may be unrecoverable)
- An embedded chart workbook (ppt/embeddings/*.xlsx) or OLE object corrupted beyond parsing
- Parts of the file that a truncated download never delivered (re-download the original if you can)
- Password-encrypted .pptx files when the password isn't supplied
- Files that read as 0 bytes or mostly zeros
If a repair fails, we tell you why (missing data versus broken structure), and you are never charged for a failed repair.