Base64 Decode
Read what a base64 string actually says.
About this converter
Paste base64 in, read what it says. Usually the reason is a token, a config value or a header you have been handed and need to see inside.
Both alphabets are accepted without being asked which you have. The URL-safe variant uses - and _ where the standard one uses + and /, and it usually arrives without its trailing = padding — a JWT segment, for instance, always does. Both are normalised before decoding, so a value copied straight out of a URL or a token works.
If the result is binary rather than text — an image, a zip, a compiled file — that is said plainly rather than shown as replacement characters. Base64 carries bytes, and bytes are not always words.
Frequently asked questions
Why does it say "not valid base64"?
Usually a stray character from copying: a line break in the middle is fine and is stripped, but a quote mark, a trailing comma or a truncated string is not. Base64 uses only letters, digits and two symbols, with = at the end. Check you copied the whole value.
It decoded to gibberish. What went wrong?
Nothing, probably — you have decoded binary data rather than text. Base64 is often used to carry images, compressed files or encrypted blobs, none of which are readable as characters. If the tool tells you it is binary rather than showing you symbols, that is the reason.
Can I decode a JWT here?
You can decode one segment at a time, but the JWT decoder does the whole token at once, separates the header from the payload and turns the timestamp claims into dates.
Does what I paste get sent anywhere?
No. The conversion runs in your browser, on your own machine — that is why the result appears as you type rather than after a wait. Nothing is uploaded, nothing is logged, and closing the tab is the end of it. This matters more here than on most pages: tokens, keys and internal data get pasted into tools like this constantly, and most of them are a form that posts to a server.