100% on-device
Compress a PowerPoint deck
A .pptx is heavy because of the pictures on its slides — not the slides. This shrinks the pictures and leaves everything else exactly as it was.
How it works
- Drop your .pptx. It is unpacked in this tab. A .pptx is a ZIP full of XML and images — no upload needed to look inside one.
- Pick a target. Email (1024px) · Balanced (1600px) · Sharp (2200px) — the ceiling applied to every picture on your slides.
- Download. Each image is re-encoded, the deck is zipped back up, and it opens in PowerPoint as before.
In our own test, an 8.0 MB deck came out at 729 KB — 91% smaller — in about a second, and opened in real PowerPoint with all four pictures intact.
A .pptx is a ZIP, and the slides are the small part of it
Unzip a deck and ppt/slides holds a few kilobytes of XML per slide, already Deflate-compressed inside the archive. Next to it, ppt/media holds every picture, video and sound at whatever size it arrived. Nothing in the text, the layout or the animations is worth attacking; sorting ppt/media by size tells you the whole story in one look.
PowerPoint earns its reputation as the worst of the Office formats through how decks get made. Cropping a picture on a slide is non-destructive, so the cropped-away pixels stay in the file. A photo used as a background sits at full sensor resolution behind a slide nobody will inspect. Template masters often carry images no slide even displays.
Embedded media and fonts are the two things this cannot reach
A deck with an embedded video has that whole video file sitting inside the ZIP, and it is usually most of the weight; recompressing pictures leaves it exactly as it was. Saving with embedded fonts adds the font files themselves, and choosing to embed all characters rather than only the used subset can add megabytes per typeface.
What stays sharp is anything vector. Shapes, SmartArt, charts and the built-in icon set are geometry in XML, so they are already tiny and resolution-independent. For the pictures that remain, pick the ceiling by how the deck will be seen: a projector or a video call is around 1,920 pixels wide, and anything beyond that is bytes nobody can look at.
Questions
Is my deck really not uploaded?
Yes — and not as a policy, as a fact of how it is built. There is no upload endpoint: the file is read straight into this browser tab and compressed by code running on your own machine. You can watch the Network tab while it works, or pull your Wi-Fi out mid-compression and it will still finish. Nothing is stored, nothing is queued, and there is no account.
Will it wreck my slides?
It cannot: the tool never opens your slide XML. It reaches only into the media folder inside the .pptx, re-encodes the images it finds there, and zips the file back up. Your text, layout, fonts, speaker notes, transitions and animations come out byte-for-byte identical, because they were never touched. We verified the output opens in real PowerPoint with every picture in place.
What about my logo — will it turn into a blurry mess?
No. Every image is checked individually, and a re-encode is kept only if it actually beats what was already in the file. Logos, icons and flat graphics are already efficient, so they lose that check and stay exactly as they were. The savings come from the photos and screenshots, which is where the megabytes were.
Why is my deck so big in the first place?
Almost always one culprit: a photo or screenshot pasted straight in at full resolution. PowerPoint keeps the original pixels — a 12 MP phone photo shown two inches wide on a slide is still a 12 MP photo inside the file. Screenshots pasted as PNG are the other classic; this tool converts those to JPEG when they have no transparency, which is where the biggest single win usually comes from.
It says my file is not a .pptx?
The old .ppt format (pre-2007) is not a ZIP and cannot be read this way, and neither can a password-protected file. Open it in PowerPoint, "Save As" .pptx, and try again.
Other formats
The same workbench handles all of them — pick a tab above, or start from its own page: