Base64 Encoder / Decoder
Paste on one side, read the result on the other. Encoding and decoding happen as you type, with proper Unicode handling and errors written in plain English.
Converts as you type. Unicode is handled properly, so emoji and accented characters survive the round trip.
What Base64 is actually for
Base64 rewrites arbitrary bytes using 64 safe characters so they can travel through systems that only expect text: email bodies, JSON fields, data URLs, JWT payloads and config files. It is an encoding, not encryption: anyone can decode it in a second, so never use it to hide a secret.
Expect the output to be about a third larger than the input, since every three bytes become four characters. Trailing = characters are padding that rounds the output up to a multiple of four.
Decoding here also accepts the URL-safe alphabet (- and _ in place of + and /) and tolerates missing padding, which covers most tokens you will meet in the wild.
Does this work with emoji and accented characters?
Yes. Text is converted to UTF-8 bytes before encoding, so anything you can type survives the round trip intact.
Why does my decode say the result is not valid UTF-8?
The Base64 was fine, but the bytes underneath are not text, usually an image, an archive or encrypted data. This tool only displays text results.
Is my input uploaded anywhere?
No. The conversion runs in your browser, so pasted tokens and payloads never leave your device.