Document · PDF

Base64 to PDF.

Paste a Base64-encoded PDF to open it in a new tab or download as .pdf. We detect the %PDF- header so you know the bytes are actually a valid PDF before downloading.

Base64 to PDF
About this tool

PDF in Base64 commonly comes from API responses that embed generated documents (invoices, receipts, reports) inside JSON. A genuine PDF always starts with %PDF- (hex 25 50 44 46 2D). Decoded PDFs are opened via a blob URL — your file never touches a server.

Frequently asked

About this tool.

PDF is binary, but many APIs return data as JSON, which can only contain text. Base64 lets servers embed a generated PDF (invoice, receipt, report, signed document) inside a JSON response. The client decodes it back to binary and offers a download.

PDF files always begin with %PDF- (hex 25 50 44 46 2D), followed by the version number. The tool checks for this signature before offering a download.

Yes — the "Open in new tab" button creates a blob URL and opens it in a new browser tab using the browser's built-in PDF viewer. The blob URL is local to your browser; the PDF never leaves the page.

PDFs can have their own encryption layer (separate from Base64). If you successfully decode the Base64 but the PDF asks for a password to view, the encryption is in the PDF itself, not the encoding. Use a PDF tool with the password to unlock it.

Related tools

More from the toolkit.

PDF · Deep dive

Understanding Base64-encoded PDF.

Why APIs return PDFs as Base64

Modern APIs almost universally use JSON for request and response bodies, but JSON is a text format — it cannot contain raw binary data like a PDF. When a service generates a document (an invoice, a contract, a tax form, a medical report) and returns it inside a JSON response, the standard pattern is to Base64-encode the PDF into a string field. The client decodes that string back into binary bytes and either displays the PDF inline or offers it as a download.

This pattern is especially common in document signing services (DocuSign, HelloSign, Adobe Sign), invoicing platforms (Stripe Invoicing, QuickBooks, Xero), healthcare APIs (lab reports, prescriptions, claim documents), and government e-filing systems (tax returns, permits, certificates). The PDF stays opaque to the API layer — services do not need to parse it, just shuttle it through.

Recognizing a valid PDF by its bytes

Every valid PDF begins with the bytes %PDF- followed by a version number, like %PDF-1.7 or %PDF-2.0. After Base64 encoding, this header appears as JVBERi0 at the start of the string — a reliable signature that you have a PDF and not some other binary or text data mislabeled as PDF.

PDF files also end with the marker %%EOF on the last line. If you decode a Base64 PDF and the %%EOF marker is missing, the file is truncated — likely because the Base64 string itself was cut short during transfer. Our tool checks the header before offering a download; for end-of-file verification, you can use the bytes-summary output mode on our main decoder.

Encrypted vs Base64-encoded PDFs

People sometimes confuse two layers of obfuscation that PDFs can use. Base64 encoding is a transport wrapper — it converts binary bytes to printable ASCII so the PDF can travel through text-only channels. Anyone can decode it without a key. PDF encryption is a separate, content-level protection that requires a password (or certificate) to view. The two are independent.

It is entirely possible to have a Base64-encoded encrypted PDF — you decode the Base64 to get the binary PDF bytes, and then the PDF viewer prompts for a password. Our tool only handles the Base64 layer. To open password-protected PDFs, use a dedicated PDF viewer with the credentials.

How to view and verify your decoded PDF

After decoding, this tool offers two paths. Open in new tab creates a blob URL pointing to the decoded bytes and opens it in your browser's built-in PDF viewer. The blob URL is local — the PDF never touches a server, and the URL becomes invalid as soon as you close the tab. Download saves the decoded bytes as a regular .pdf file on your computer, suitable for opening in Adobe Reader, Preview, Foxit, or any other PDF application.

If the in-browser preview shows a blank document or "failed to load" message, the bytes likely do not form a valid PDF. Common causes: the Base64 string was truncated (check that it ends with multiple = characters or the bytes-summary mode shows close to the expected length), the Base64 had whitespace that was not properly stripped, or the original file was something other than a PDF.