What is Base64 decoding?
Base64 decoding converts the 64-character text representation back into its original bytes, then (here) interprets those bytes as UTF-8 text. It's how you inspect encoded API payloads, data URIs, basic-auth headers, and config secrets, remembering that Base64 is an encoding anyone can reverse, not encryption.
Edge cases & gotchas
- URL-safe Base64 (
-/_, no padding) fails in naiveatob()decoders. This tool normalizes it automatically. - Missing padding is repaired before decoding.
- Binary output (images, hashes) isn't valid UTF-8 text and is reported as an error rather than shown as garbage.
How to use
- Paste Base64 into the Input pane: standard or URL-safe alphabet, padded or not.
- The decoded text appears instantly; JSON payloads render with syntax colors.
- Whitespace and line breaks in the input are ignored (common in copied blocks).
- Copy or download the result.
Examples
Decode to text
aGVsbG8=
hello
URL-safe, unpadded (JWT-style)
Pz8-Pg
??>>
Decode JSON
eyJhIjoxfQ==
{"a":1}FAQ
Which Base64 variants are supported?
Standard (+ /) and URL-safe (- _), with or without = padding, and with whitespace/line breaks anywhere.
Why do I get an error about UTF-8?
The input decoded to bytes that aren't valid UTF-8 text, likely binary data (an image, a hash). This tool targets text/JSON payloads.
Can I decode a JWT with this?
You can decode individual segments, but the JWT Decoder splits all three parts and pretty-prints header + payload in one step.
Is my data uploaded?
No. Decoding runs entirely in your browser. Verify zero network requests in DevTools.