Base64 to Image Converter
Paste a Base64 string or a data URI and get a previewable, downloadable image. Everything runs in your browser — nothing is uploaded.
How to decode Base64 to an image
Paste your data into the box above. You can give it a full data URI — a string of the form data:image/png;base64,iVBORw0KGgo… — or just the raw Base64 payload without the data: prefix. The tool decodes the bytes locally and figures out what kind of image it is by reading the file's magic numbers: the first few bytes that identify PNG, JPEG, GIF, WebP, or SVG. A live preview appears immediately. When it looks right, click Download image to save the file with the correct extension.
Why isn't my image showing?
If the preview stays empty or you get an error, one of these is usually the cause:
- The string is truncated. A partial copy cuts off the end of the image, so the bytes don't form a complete, valid file.
- It's URL-safe Base64 without padding. That's fine here — the tool automatically converts
-and_back to+and/and re-adds the missing=padding before decoding. - It isn't actually image data. Base64 of a text file, a PDF, or some other blob will decode into bytes, but the browser can't render it as an image.
- A copy/paste added stray characters. Line breaks and spaces are stripped automatically, but quotes, HTML entities, or a stray prefix can corrupt the payload.
Tip: if you only have a snippet, make sure you copied the entire Base64 string — these can be tens of thousands of characters long for a real image.
Is this private?
Yes. The decoding happens entirely client-side in JavaScript. The Base64 you paste is decoded into bytes in the browser and turned into an object URL locally — it is never sent to a server. You can confirm this by opening DevTools → Network: pasting and decoding fires no request.
Frequently asked questions
What image formats are detected?
PNG, JPEG, GIF, WebP, and SVG are detected from their magic bytes — the signature at the start of the file. If the signature doesn't match a known format, the tool falls back to image/png and still tries to render it.
Can I decode a data URI directly?
Yes. Paste the whole data URI including the data:image/…;base64, prefix and it's stripped automatically before decoding. Pasting just the raw Base64 payload works too.
How do I convert an image TO Base64?
Use the Image to Base64 tool to go the other way — drop an image and get a data URI you can paste into HTML or CSS.
Need to encode instead?
The main base64.dev tool handles text, files, and URL-safe mode with auto-detect.
Open base64.dev →