Data URL Parser
Inspect a data: declaration, decoded byte count, and UTF-8 text preview
Paste one Data URL and parse it first to inspect MIME, the base64 flag, and decoded preview; header details are available in Advanced mode.
The full guide also includes pitfalls, worked examples, snippets, FAQs, and related tools for checking results or troubleshooting.
About this tool
Paste a data: URL to separate its declaration from the embedded payload. The tool reads the declared MIME, detects a trailing Base64 marker, decodes Base64 or percent-encoded bytes, and counts the complete decoded payload. Its preview and copy output show up to 8,000 UTF-16 code units as UTF-8 text. Advanced mode shows the original header. It does not render images, execute HTML or SVG, detect a file signature, or export the decoded bytes as a file.
Suggested Workflow
Failure Clinic (Common Pitfalls)
The declared MIME is not detected from the payload
Cause: In data:image/png;base64,..., image/png comes from the header. The decoder does not validate a PNG signature or render an image.
Fix: Treat the declaration and the decoded byte count as separate facts. Use a format-aware application to inspect an actual file.
A byte count can be correct while the text looks unreadable
Cause: The preview always uses UTF-8, even when a different charset is declared. Binary bytes such as %FF%00 are not ordinary text.
Fix: Use the full decoded byte count for size inspection. Preview and copy stop at 8,000 UTF-16 code units and are not a binary-file export.
Production Snippets
Two encodings of the same five bytes
text
data:text/plain;base64,SGVsbG8=
data:text/plain,Hello
Both preview: Hello
Both decoded sizes: 5 bytes
Encoded payload lengths: 8 and 5Frequently Asked Questions
What if a data URL omits its media type?
The default is text/plain;charset=US-ASCII. For example, data:;base64,SGVsbG8= is Base64 text with the default type, not a media type named base64.
Does + turn into a space?
No. The payload uses percent decoding, not form-style query decoding. A literal + stays +; use %20 for a space. In Base64 mode + is part of the Base64 alphabet.
Is a payload draft saved?
The input is saved in local storage in this browser and restored on return. Clear removes the saved input. Decoding does not upload the payload.
Keep browsing