Base64 to PowerPoint

Decode a Base64 string into a downloadable PowerPoint (.pptx) file, or encode a .pptx to Base64 — locally. A .pptx is a ZIP archive (Office Open XML) with the PK header, which the tool checks. Nothing is uploaded.

BASE64 INPUT
Paste a Base64 string to begin

How to convert Base64 to a PowerPoint file

Paste the Base64 for your presentation into the box above — a full data URI (data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64,UEsDBB…) or just the raw payload both work. The tool decodes the bytes locally and checks that they begin with the PK signature that marks a real .pptx. Click Download .pptx to save the file as presentation.pptx, then open it in Microsoft PowerPoint, Google Slides, or LibreOffice Impress. To go the other way, flip the toggle to PowerPoint → Base64 and drop a .pptx onto the drop zone.

Why is a .pptx a ZIP file?

A modern PowerPoint deck uses the Office Open XML format, and every OOXML document is really a ZIP archive of XML parts — one entry per slide, plus slide layouts, masters, themes, relationships, and any embedded images or media. That's why the decoded bytes always start with 50 4B, the two ASCII characters PK (the initials of ZIP's inventor, Phil Katz). If your decoded bytes don't start with PK, they aren't a valid .pptx: an older .ppt uses a different binary container. The tool surfaces this check so you know before you try to open the file.

Common uses (API exports, email attachments, automation)

Base64 is how binary decks travel through text-only channels. A reporting API that generates a slide deck often returns it as a Base64 string inside JSON; email attachments are Base64-encoded in the MIME body; automation and CI pipelines stash generated .pptx files in environment variables, logs, or database columns as Base64 so they survive transports that only accept text. In every case the fix is the same: paste the Base64 here and download the reconstructed presentation.pptx. Because the decode preserves every byte, the file is identical to the deck that was encoded.

Is this private?

Yes. Both directions run entirely client-side in JavaScript. When you decode, the Base64 is turned into bytes and a downloadable blob in the browser; when you encode, your .pptx is read into memory with the FileReader API and encoded locally. The presentation is never sent to a server — which matters for confidential pitch decks, board slides, or unreleased product plans. You can confirm it in DevTools → Network: converting fires no request.

Frequently asked questions

How do I convert a Base64 string to a PowerPoint file?

Paste your Base64 into the box above and click Download .pptx. The tool decodes it to raw bytes locally, checks for the PK (ZIP) header of a valid .pptx, and saves the result as presentation.pptx — ready to open in Microsoft PowerPoint, Google Slides, or LibreOffice Impress.

Why does my PowerPoint file open as corrupted?

Usually the Base64 is truncated or picked up stray characters, so the decoded bytes are an incomplete ZIP and won't open. Confirm the bytes start with PK; if the tool warns there's no PK/ZIP header, the source may not be a .pptx at all — it could be an older .ppt or unrelated data.

How do I Base64-encode a PowerPoint file?

Switch to PowerPoint → Base64 mode and drop your .pptx (or .ppt) onto the drop zone. It reads the file locally and outputs the raw Base64 string, which you can copy into JSON, an API payload, a database column, or an email attachment field.

Why would a PowerPoint be stored as Base64?

Because Base64 is text-safe. APIs that return generated decks, JSON payloads, database columns, and email attachments (MIME) all carry binary as Base64 so it survives transports that only accept text. Decoding it here turns that text back into the original .pptx file.

Need plain Base64 encode/decode?

The main base64.dev tool handles text, files, and URL-safe mode with auto-detect.

Open base64.dev →