Base64 strings turn up constantly in developer work — inside JWTs, in HTTP Authorization headers, in data URIs, in API payloads and config files. Decoding one tells you what it actually contains.
How to use the Base64 Decoder
- Paste the Base64 string
- Click Decode
- If the result is unreadable, the original data was binary rather than text
- Copy the decoded output
Recognising Base64 in the wild
Base64 looks like a long run of mixed-case letters and digits, often ending in one or two = characters. Its length is always a multiple of 4 when padded.
Hyphens and underscores instead of plus and slash mean the URL-safe variant — most commonly a JWT, which is three Base64url segments separated by dots. For those, use the JWT Decoder, which splits the segments and formats the JSON for you.
Why decoding sometimes produces garbage
Base64 decodes to bytes. Those bytes are only readable text if the original input was text. Decode an encoded PNG and you get the file's raw bytes rendered as meaningless characters — that is correct behaviour, not a failure.
Truncated input also produces garbage or an error: because Base64 works in 4-character groups, losing characters from the middle corrupts everything after that point. If a decode looks wrong, check you copied the whole string.
Frequently asked questions
Why does my decoded output look like nonsense?
The encoded data was binary — an image, a compressed file, or a cryptographic signature. Those decode to bytes with no text representation. This is expected.
Can I decode a JWT with this?
You can decode each segment individually after splitting on the dots, but the JWT Decoder does it in one step and formats the resulting JSON.
Is the decoding done on a server?
No, entirely in your browser. Important here, because Base64 strings you need to inspect often contain tokens or credentials.
What if decoding fails with an error?
The input is not valid Base64. Common causes are a truncated copy, stray whitespace or line breaks in the middle, or characters from a different encoding scheme such as hex.