How to Use This Tool
Paste or Load Base64
Paste a raw Base64 string or a full data URI (e.g. data:image/png;base64,...) into the Base64 or Data URI textarea. You can also click "Load from file" to import a .txt, .b64, .base64, or .pem file, drag and drop a file directly onto the tool, or click Paste to load the contents of your clipboard. Whitespace and line breaks inside the payload are stripped automatically.
Decode & Preview
Click Decode & Preview. The tool decodes the Base64 in your browser, detects the MIME type from the data URI prefix or by sniffing magic bytes, and renders an inline preview for images, audio, video, PDFs, text, and JSON. The file info panel shows the detected MIME type, extension, and decoded file size.
Inspect the File
Toggle Show Hex Dump to inspect the first 512 bytes of the decoded data with offset, hex columns, and ASCII representation - useful for verifying magic bytes and confirming the file type. Text previews include a Copy text button for the first 2000 characters.
Download
Edit the Filename field if needed - if your filename has no dot, the correct extension is auto-appended based on the detected MIME type. Click Download File to save the decoded binary to your device. Click Clear to wipe the input, preview, and persisted data and start fresh.
Frequently Asked Questions
Is my Base64 data uploaded to a server?
▼
No. Your Base64 string is never sent to our servers - all decoding, MIME detection, preview rendering, and hex dump generation happens directly in your browser on your device using JavaScript.
What types of Base64 input are supported?
▼
Both raw Base64 strings and full data URIs (e.g. data:image/png;base64,...) are supported. Whitespace and line breaks inside the Base64 payload are stripped automatically before decoding, so wrapped or formatted strings work fine.
How is the file type detected when there is no data URI prefix?
▼
The decoder sniffs the first bytes of the decoded data against known magic byte signatures - PNG, JPEG, GIF, WebP, PDF, ZIP, MP3, and MP4 are detected this way. If no signature matches, the MIME type falls back to application/octet-stream and the file is treated as raw binary.
What is the maximum input size?
▼
The Base64 input is capped at 50MB of text. That decodes to roughly 37MB of binary output. If the input exceeds this limit you will see an "Input exceeds the 50MB limit" error before decoding starts.
Which file formats can be previewed in the browser?
▼
Images (PNG, JPEG, GIF, WebP, SVG) render inline as an <img> tag, audio plays in an <audio> control, video plays in a <video> control, PDFs render in an embedded iframe viewer, and text or JSON is displayed in a monospace pre block (first 2000 characters). Anything else is shown as a binary placeholder and can still be downloaded.
Can I load Base64 from a file instead of pasting?
▼
Yes. Click "Load from file" to import a .txt, .b64, .base64, or .pem file - the contents are read locally with FileReader. You can also drag and drop a file directly onto the tool to load it.
Will my work be lost if I refresh the page?
▼
No. The current Base64 input and filename are saved to your browser's IndexedDB and restored automatically when you reopen the tool. Click Clear to wipe the input, the preview, and the persisted data immediately.
How is the download filename and extension chosen?
▼
Edit the Filename field to whatever you like. If your filename has no dot, the tool auto-appends the correct extension (.png, .jpg, .gif, .webp, .svg, .pdf, .txt, .html, .css, .json, .zip, .mp3, or .mp4) based on the detected MIME type. If your filename already contains a dot, it is left untouched.
Decode Base64 to File Online Free - No Upload Required
Decode Base64 strings and data URIs back to their original files online for free with this browser-based Base64 to file decoder. Paste a raw Base64 payload or a full data URI, preview the decoded image, audio, video, PDF, or text instantly, and download the recovered binary - all directly in your browser. Your Base64 data is never sent to our servers. No registration or software installation required.
This online Base64 file decoder supports inputs up to 50MB and automatically detects the MIME type from the data URI prefix or by sniffing magic bytes for PNG, JPEG, GIF, WebP, PDF, ZIP, MP3, and MP4. Features include inline previews for images, audio, video, PDFs, and text/JSON, a hex dump inspector for the first 512 bytes, drag-and-drop file loading, paste from clipboard, custom output filenames with auto-extension for 13 common formats, and IndexedDB persistence so your work is restored after a refresh. No registration needed to start decoding instantly.
Features Explained
Data URI Support
▼
Paste a full data URI like "data:image/png;base64,..." and the tool automatically extracts the MIME type from the prefix and decodes the payload that follows. The MIME type from the data URI is trusted directly and used for both the preview renderer and the auto-extension.
Raw Base64 Support
▼
Plain Base64 strings without a data URI prefix work too. Whitespace, tabs, and line breaks inside the payload are stripped automatically before decoding, so wrapped, indented, or multi-line Base64 from emails and config files just works.
Magic-Byte MIME Detection
▼
When no data URI prefix is present, the decoder sniffs the first bytes of the decoded data against known signatures and detects PNG, JPEG, GIF, WebP, PDF, ZIP, MP3, and MP4 automatically. If no signature matches, the type falls back to application/octet-stream and the file is treated as raw binary.
Inline Image Preview
▼
PNG, JPEG, GIF, WebP, and SVG decode into a blob URL and render as an inline <img> tag inside a bordered preview panel, scaled to fit a max height of 320px. The original resolution is preserved in the downloaded file.
Inline Audio Preview
▼
audio/* MIME types render in a native <audio controls> player so you can play the decoded MP3 or other audio file directly in the browser before downloading - useful for verifying TTS output and audio API responses.
Inline Video Preview
▼
video/* MIME types render in a native <video controls> player. MP4 files decoded from Base64 can be scrubbed and played back without leaving the page.
Embedded PDF Viewer
▼
application/pdf decodes into a blob URL and renders inside a 500px-tall <iframe>, giving you a scrollable preview of the entire document so you can verify the right PDF before downloading.
Text & JSON Preview
▼
text/* and application/json MIME types decode through a TextDecoder and display in a monospace pre block (first 2000 characters) with a Copy text button for quickly grabbing the decoded contents.
Hex Dump View
▼
Toggle Show Hex Dump to view the first 512 bytes of the decoded file in a classic offset / hex / ASCII three-column layout. Each line shows an 8-digit offset, two groups of 8 hex bytes, and the printable ASCII characters - ideal for verifying magic bytes and inspecting binary headers.
File Info Panel
▼
After decoding, a horizontal info bar shows the detected MIME type, the current file extension (or em-dash if none is set yet), and the exact decoded file size formatted as B, KB, or MB so you know what you are about to download.
Live Input Size Estimate
▼
As you type or paste, the tool shows the cleaned Base64 character count and an Output: ~size estimate of the decoded binary, so you can spot oversized payloads before clicking Decode.
Drag & Drop File Loading
▼
Drag any .txt, .b64, .base64, or .pem file directly onto the tool. A highlighted overlay appears while dragging and the file is read locally with FileReader.readAsText - the contents replace the textarea instantly. Nothing is uploaded.
Load from File Button
▼
Click "Load from file" next to the textarea to open a file picker scoped to .txt, .b64, .base64, and .pem extensions. The selected file is read locally and loaded into the input.
Paste from Clipboard
▼
Click the Paste button to read Base64 directly from your system clipboard via the Clipboard API - faster than focusing the textarea and pressing Ctrl+V, especially on long payloads.
Custom Filename with Auto-Extension
▼
Type any name in the Filename field (default: decoded-file). If your filename has no dot, the correct extension is auto-appended based on the detected MIME type for 13 supported formats: .png, .jpg, .gif, .webp, .svg, .pdf, .txt, .html, .css, .json, .zip, .mp3, .mp4. If the filename already contains a dot it is left untouched.
50MB Input Limit
▼
Base64 inputs up to 50MB of text are accepted (roughly 37MB of decoded binary). Oversized inputs are rejected before decoding with a clear "Input exceeds the 50MB limit" error so the browser tab does not freeze on huge payloads.
IndexedDB Persistence
▼
Your current Base64 input and filename are saved to your browser's IndexedDB and restored automatically on the next visit. Refreshing the page or closing the tab will not lose your work. Click Clear to wipe the input, preview, and persisted data immediately.
Who Is This Tool For?
Web Developers
Convert data URIs from CSS and HTML back into image, font, and SVG files for editing or asset extraction.
Backend Developers
Decode Base64 payloads from JSON request bodies, message queues, and database BLOB columns to verify their actual contents.
API Developers
Inspect Base64-encoded file fields returned by REST and GraphQL endpoints and confirm the file type, size, and content before integrating.
Mobile App Developers
Decode Base64 image and document fields exchanged between mobile clients and APIs to debug upload and sync flows.
Browser Extension Developers
Recover binary assets and screenshots that extensions store as Base64 in storage.local or messages between content scripts.
QA Engineers
Verify that file uploads, downloads, and Base64-encoded API responses produce the exact bytes expected by the test plan.
DevOps Engineers
Decode Base64 secrets, certificates, and config blobs from Kubernetes manifests, Helm values, and CI/CD environment variables.
Site Reliability Engineers
Pull file payloads out of log lines and crash reports that store binary data as inline Base64 for postmortem analysis.
Security Researchers
Decode Base64 payloads found in malware samples, phishing emails, and obfuscated scripts to inspect the underlying binary safely in the browser.
Penetration Testers
Recover files from intercepted requests, JWT claims, and HTTP headers that smuggle binary data inside Base64 strings.
Bug Bounty Hunters
Quickly preview Base64 blobs found in JavaScript bundles, source maps, and API responses while triaging reports.
Forensic Analysts
Reconstruct files extracted from email headers, chat logs, and memory dumps that store attachments as Base64.
Email Administrators
Recover MIME-encoded attachments from raw email source for archival, evidence, or troubleshooting bounced messages.
System Administrators
Decode certificate, key, and config files distributed as Base64 in vendor portals, ticket attachments, and deployment scripts.
Cryptography Engineers
Inspect Base64-wrapped keys, signatures, and ciphertext blobs by decoding them and viewing the raw bytes in the hex dump.
IT Auditors
Verify the actual contents of Base64 fields stored in audit logs, exports, and compliance reports without command-line tools.
Reverse Engineers
Carve binary artifacts out of strings tables, resource bundles, and embedded scripts that pack assets as Base64.
CTF Players
Decode Base64 challenges layered with data URIs, magic bytes, and hidden file types - hex dump and inline previews speed up the workflow.
Data Engineers
Inspect Base64-encoded file columns in ETL pipelines, Kafka messages, and Parquet files to validate ingestion logic.
Tech Support Staff
Recover screenshots and log files that customers paste as Base64 in support tickets and chat sessions.
Open Source Maintainers
Reproduce bug reports that include Base64 file fixtures by decoding them straight in the browser instead of writing a one-off script.
Computer Science Students
Learn how Base64, data URIs, MIME types, and magic bytes work by experimenting with real files in a visual, browser-based decoder.
Educators & Trainers
Demonstrate Base64 encoding, MIME sniffing, and binary file structure during web, security, and networking lessons.
Technical Writers
Pull example assets out of data URIs in documentation, tutorials, and API references to update or replace embedded media.
Tips for Decoding Base64
Prefer the full data URI when you have it
If your source already includes a "data:<mime>;base64," prefix, paste the whole thing. The MIME type comes straight from the prefix, which is more reliable than magic-byte sniffing for ambiguous formats like SVG and JSON.
Don't worry about whitespace or line wraps
The decoder strips spaces, tabs, and newlines automatically before calling atob(), so wrapped Base64 from emails, PEM files, and pretty-printed JSON works without manual cleanup.
Use the hex dump to verify magic bytes
Toggle Show Hex Dump and check the first few bytes against known signatures (89 50 4E 47 for PNG, 25 50 44 46 for PDF, FF D8 FF for JPEG). If they don't match the expected type, the file may be corrupt or wrongly labeled.
Set the filename before decoding
If you type a filename without an extension first, Decode & Preview will auto-append the correct extension once it knows the MIME type. If you add an extension yourself, the tool leaves it alone.
Recover email attachments fast
Open the raw source of an email, copy the Base64 block from the attachment part, and paste it here. The decoder strips the line wrapping and hands you back the original file in seconds.
Convert CSS and HTML data URIs to real files
Copy a "url(data:image/...;base64,...)" value from CSS or an inline <img src="data:..."> attribute and paste it whole. The tool extracts the data URI, previews the image, and downloads it with the correct extension.
Inspect PEM keys and certificates
Load a .pem file with the file picker. The tool reads it as text and decodes the Base64 body so you can browse the raw DER bytes in the hex dump and confirm the format.
Use Paste for long clipboard payloads
Long Base64 strings can be slow to highlight and paste manually. Click Paste to pull the clipboard contents straight into the textarea via the Clipboard API.
Watch the input size readout
The Input: chars (size) line under the textarea shows how big your Base64 is. The 50MB limit kicks in at the input level - if you're getting close, decode in chunks instead.
Your work persists across refreshes
The current input and filename are saved to IndexedDB. Reload the tab or come back tomorrow and they're still there. Click Clear when you want a clean slate.
Use Clear to remove sensitive payloads
When you're done with a Base64 secret, certificate, or private file, click Clear to wipe the input, preview, and persisted IndexedDB data so nothing lingers in the browser.
Unknown types still download cleanly
If the MIME type cannot be detected from a data URI prefix or magic bytes, the file falls back to application/octet-stream and shows a binary placeholder instead of a preview - but Download File still saves the exact decoded bytes, so unusual or proprietary formats are not blocked.
Supported Input Formats
The textarea accepts Base64 text only. You cannot paste, drop, or load an actual image, audio, video, or PDF file into the input - the input must already be a Base64-encoded string. Two text formats are accepted:
| Input Format | Example | How It's Handled |
|---|---|---|
| Raw Base64 string | iVBORw0KGgoAAAANSUhEUgAA... | Whitespace and line breaks are stripped automatically before decoding. The MIME type is then sniffed from the first bytes (PNG, JPEG, GIF, WebP, PDF, ZIP, MP3, MP4) or falls back to application/octet-stream. |
| Data URI | data:image/png;base64,iVBOR... | The MIME type is parsed straight from the prefix (the part between data: and ;base64,) and trusted, so even text-based formats like SVG, JSON, HTML, and CSS are detected reliably. |
You can get Base64 text into the textarea four ways:
- Type or paste directly into the textarea.
- Paste button - reads Base64 text from your system clipboard via the Clipboard API.
- Load from file - opens a file picker scoped to
.txt,.b64,.base64, and.pemfiles. The file is read locally as text with FileReader. - Drag and drop - drop a text file containing Base64 onto the tool. The contents are read as text and loaded into the textarea. Dropping a binary file (like an actual
.png) will not work because the file is read as text, not as bytes.
Maximum input size: 50MB of Base64 text (roughly 37MB of decoded binary). To go the other direction - turning a real file into a Base64 string - use the companion File to Base64 Encoder tool first, then paste its output here.
Privacy & Security
This free Base64 to file decoder runs entirely in your browser. Your Base64 strings, data URIs, and decoded files are never sent to our servers - all decoding, MIME detection, preview rendering, and hex dump generation happens on your device using JavaScript.
Your current input and filename are stored safely in your browser's IndexedDB so they persist across page refreshes. This data lives only on your computer. Click Clear to remove all stored input and the persisted IndexedDB data immediately. We have no logs, no analytics, no tracking, and no database.