Base64 Decoder

Turn a Base64 string back into readable text, with UTF-8 restored and invalid input flagged.

Paste a Base64 string and this tool decodes it back into readable text. It's the reverse of Base64 encoding: where encoding makes data text-safe for transport, decoding recovers the original content. It restores UTF-8 characters so emoji and accents come back intact, and it tells you clearly when the input isn't valid Base64. Everything runs in your browser.

Getting your original text back

Decoding reverses the process in two steps: it converts the Base64 alphabet back to raw bytes with atob(), then interprets those bytes as UTF-8 so multi-byte characters are reconstructed properly. That second step matters — a decoder that skips it turns emoji and accented letters into garbled symbols. If you encoded your text with a UTF-8-aware Base64 encoder, this decoder returns it character-for-character.

When decoding fails

Not every string is valid Base64. If the input contains characters outside the Base64 alphabet, has the wrong length, or is corrupted, the tool shows a clear error rather than silently producing nonsense. A common gotcha is stray whitespace or line breaks pasted in with the string — trim those if you hit an error. Remember too that Base64 is only encoding: decoding reveals whatever was encoded, so it recovers hidden-looking text but provides no security of its own.

Frequently Asked Questions

Why do some decoders turn emoji into gibberish?

Because they stop at the raw byte step and don't re-interpret the bytes as UTF-8. This tool does that second step, so emoji and accented characters that were UTF-8 encoded come back correctly.

What does the "Invalid Base64" error mean?

The input isn't decodable Base64 — usually because it contains characters outside the Base64 alphabet, has an invalid length, or picked up stray spaces or line breaks. Remove any extra whitespace and try again.

Can I decode something that was encrypted?

Only the Base64 layer. If data was encrypted and then Base64-encoded, decoding gives you the ciphertext, not the plaintext — you would still need the decryption key to read it.

Is anything I paste uploaded?

No. Decoding runs entirely in your browser, so the string you paste never leaves your device.