What is a data:image URL?
A data URL embeds a file in one string: data:image/png;base64, followed by Base64 payload. Browsers render it in <img src> without HTTP. This decoder accepts the full URI or only the payload after the comma.
Decoding uses browser atob with chunked Blob assembly. Base64 never uploads. SVG previews use <img> only — never inline markup. Strings over 40 MB are blocked for memory safety.
Paste, preview on a checkerboard canvas, and download—PNG, JPG, WebP, GIF, SVG, AVIF, and more. Everything runs in your browser.
Need to encode instead? Image to Base64
Runs in your browserNothing is uploaded
Paste a Base64 string, data URL, or open a .txt / .b64 file to begin.
Supports PNG, JPG, GIF, WebP, SVG, AVIF, and more. Whitespace and JSON wrappers are stripped automatically.
Your image appears here
Paste Base64 in step 1 to decode
Base64 to Image decodes Base64 strings and data:image URLs into downloadable image files entirely in your browser—nothing is uploaded.
Base64 to Image is a free browser decoder that turns Base64 text, data URLs (data:image/png;base64,…), and Base64url into real image files you can preview and download. Paste from Chrome DevTools, REST APIs, Slack, or .txt exports; the tool strips whitespace, unwraps JSON, detects MIME from prefixes or magic bytes, and shows live metadata.
Supports PNG, JPEG, GIF, WebP, SVG, BMP, ICO, TIFF, and AVIF. Pair with Image to Base64 for encoding and Image Compressor if the decoded binary is still too large.
Decode locally, preview on a checkerboard canvas, then download or copy—never paste sensitive API images into cloud decoders.
Concise answers for common searches — definitions, steps, and comparisons.
A data URL embeds a file in one string: data:image/png;base64, followed by Base64 payload. Browsers render it in <img src> without HTTP. This decoder accepts the full URI or only the payload after the comma.
Base64 maps 3 bytes to 4 ASCII characters. After decode, the downloaded file matches original binary size.
Right-click an image → Copy image as data URI → paste here. Preview updates live; download a normal file for editing.
Copy the value of the image field (e.g. "thumbnail": "iVBOR…"). Paste here—JSON quotes are stripped. Preview confirms the API returned valid image bytes.
Paste a data URL, raw Base64, or Base64url string—or open a .txt / .b64 file. Drag text or drop an image to encode-then-decode. Whitespace and JSON wrappers are stripped automatically.
The checkerboard preview shows transparency. Badges display format, MIME, file size, dimensions, and aspect ratio. Use zoom or fullscreen for detail inspection.
Download with a smart filename (.png, .webp, etc.) or copy as raw Base64, data URL, or bitmap. If copy image fails in Safari, use Download instead.
Base64 is ~33% larger than binary. After download, use Image Compressor or Image Resizer if the file must meet email or CMS limits.
Common real-world scenarios where this tool saves time.
Decode image fields in REST or GraphQL responses to verify thumbnails, avatars, or receipt scans without a script.
Copy image as data URI from Network or Elements, paste here, preview, and download a normal file for design or QA.
Turn Base64 snippets from Slack, Jira, or logs into viewable images for tickets.
Recover PNG/JPG from CMS exports, legacy configs, or email templates stored as Base64 columns.
Step-by-step chains that connect related tools for common tasks.
Input
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==Output
PNG file · 1×1 px · ~70 bytesStandard test pixel for verifying decode correctness. Use Try PNG example in the tool.
Input
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==Output
PNG file · magic-byte detectionWhen the data:image prefix is missing, the iVBORw0KGgo signature identifies PNG.
Input
data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiNmMDAiLz48L3N2Zz4=Output
SVG file · 100×100 pxSVG dimensions are parsed from markup; preview renders via <img> only.
Input
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBD…Output
JPEG file · dimensions from image headerPaste only the API field value—the tool strips JSON quotes and detects image/jpeg.
Input
data:image/webp;base64,UklGRhoAAABXRUJQVlA4TA4AAAAvAAAAEAcQERGIiP4HAA==Output
WebP file · UklGR signatureWebP magic bytes (UklGR) are recognized when the prefix is omitted.
Input
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7Output
GIF file · 1×1 pxGIF decodes like other raster formats; animated GIFs preview the first frame.
Input is normalized (whitespace stripped, JSON wrappers removed, Base64url mapped to standard +/). Format is detected from the data: MIME prefix or magic-byte signatures. Decoding uses chunked atob in 4 KB-aligned slices on the main thread or in a Web Worker for inputs over 1 MB. Output is a Blob; preview uses object URLs to reduce memory pressure. SVG renders through <img src> only—never as inline DOM markup.
| Input style | Example prefix | Format detection | When to use |
|---|---|---|---|
| Full data URL | data:image/png;base64, | From MIME in prefix | DevTools, HTML img src, CSS |
| Raw Base64 only | iVBORw0KGgo… | Magic-byte signatures | API bodies, logs |
| Base64url | iVBORw0KGgo-_ | Normalized to standard | JWT-adjacent, URL-safe APIs |
| Whitespace-wrapped | Multi-line PEM blobs | Stripped automatically | Configs, certificates |
| Tool | Direction | Typical source |
|---|---|---|
| Base64 to Image (this page) | Text → file | APIs, data URLs, logs |
| Image to Base64 | File → text | Embedding in HTML, CSS, JSON |
Use Base64 to Image when you have a string and need a file. Use Image to Base64 for the reverse. Compress or convert after download when portals require smaller or different formats.
| Related tool | Use this tool when | Use related tool when |
|---|---|---|
| Image to Base64 | You received Base64 or a data URL and need to preview or download a real image file. | You have an image file and need a data URL or raw Base64 string for HTML, CSS, or JSON. |
| Image Compressor | You are decoding API or form payloads and need to inspect the image first. | The decoded file exceeds upload or email size limits and must be reduced before sending. |
| Image Converter | Format detection from Base64 is enough and you only need the native format. | You need PNG, JPG, or WebP output after decoding an uncommon format. |
| Base64 Encoder Decoder | The payload is definitely an image (data:image prefix or image magic bytes). | You are decoding non-image Base64 text or need URL-safe encode/decode without image preview. |
data:image/png;base64, ensures correct MIME. Raw Base64 still works via magic-byte detection when the prefix is missing.
Copy the value after "thumbnail": or "image":—the tool strips quotes and wrappers automatically.
Do not ship multi-megabyte data URLs in HTML. Decode here, compress with Image Compressor, then host the binary file.
Sample validation may miss corruption in very long strings. Strict mode verifies the entire payload.
Paste only the Base64 or data URL. The tool strips common JSON wrappers automatically.
Enable strict validation for full-string checks. Sample validation may miss errors in very long strings.
Safari often blocks ClipboardItem image copy. Use Download instead.
This tool runs locally with size guards. Never paste sensitive API images into upload-based decoders.
Likely cause: Truncated string, wrong charset, or mixed URL encoding with Base64.
Fix: Re-copy the complete value from source. Enable strict validation. Check for stray % or HTML entities in the string.
Likely cause: String exceeds 40 MB hard limit or strict validation failed on tail bytes.
Fix: Confirm the full payload was copied. For very large images, request the binary file from the API instead of Base64.
Likely cause: Missing data URL prefix and ambiguous magic bytes, or corrupted header.
Fix: Include the full data:image/…;base64, prefix when possible. Compare preview with expected dimensions.
Likely cause: Malformed SVG XML or zero-dimension markup.
Fix: Download the file and open in a browser tab. Validate the source SVG before encoding.
Likely cause: Multi-million-character strings stress memory and decoding.
Fix: Preview auto-disables above 5M characters. Use worker-backed decode; avoid pasting entire album archives as one string.
Use Base64 Encoder Decoder for plain text, certificates, or arbitrary binary without image preview.
Prefer HTTP image URLs for large assets—Base64 inflates size ~33% and bloats JSON payloads.
This tool is built for interactive paste-and-preview. Script with your language's Base64 library for bulk jobs.
Continue the workflow with the right follow-up tool.
Advertisement
Yes. Magic-byte signatures detect PNG, JPEG, GIF, WebP, SVG, BMP, ICO, TIFF, and AVIF when the prefix is missing.
Yes. Characters - and _ are normalized to + and / automatically when standard Base64 validation would fail.
Yes. Use Open .txt / .b64 or drag the file onto the drop zone. The file is read locally with FileReader—nothing uploads.
PNG, JPEG, GIF, WebP, SVG, BMP, ICO, TIFF, and AVIF. Unknown payloads default to PNG for download.
Under 15 MB decodes smoothly. 15–40 MB shows warnings. Over 40 MB is blocked. Preview may be disabled above 5 million characters.
Usually strict validation or a corrupted tail segment. Enable strict validation to find errors, or re-copy the complete string from source.
Often no—Safari limits ClipboardItem for images. Use Download image instead; it works in all modern browsers.
Yes. Format is auto-detected from the data URL or magic bytes. Download saves the correct extension (.png, .jpg, .webp, etc.).
All Base64 decoding runs in your browser. Strings and images are never uploaded to EverydayTools servers.
Format detection uses data URL prefixes and RFC 4648 Base64 decoding; output matches browser atob behavior.
Chunked atob builds a Blob locally. Previews use object URLs. Large inputs decode in a Web Worker when over 1 MB.
Try the built-in PNG example to confirm decode. Compare downloaded file size with the estimated binary size shown in preview badges.
Limitations: Not for batch server-side pipelines. SVG is previewed as raster via <img>—not edited as markup here.
Part of Image Tools
More free tools for the same workflow.
Free image converter — convert JPG, PNG, WebP, HEIC, BMP, and TIFF to any format in your browser. Batch conversion supported. Files never sent to a server. No signup required.
Free image resizer—scale by pixels or %, lock aspect ratio, export JPG/PNG/WebP. Runs locally in your browser; no upload or signup.
Advertisement
Reviewed by EverydayTools Editorial Team on 2026-06-02.