DURL

Data URL Parser

Inspect a data: declaration, decoded byte count, and UTF-8 text preview

API & HTTP
πŸ”’ 100% client-side β€” your data never leaves this page
Maintained by Evanβ€’Updated: September 29, 2026
Options
Data URL Input

Paste one Data URL and parse it first to inspect MIME, the base64 flag, and decoded preview; header details are available in Advanced mode.

Output
Parsed result appears here
Processed locally in your browser
Page reading 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 5

Frequently 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