Base64, base64url, hex and URL encoding, both directions, plus file to data URI.
This runs entirely in your browser. Nothing you paste, type or drop here is sent anywhere — there is no server on the other end of it.
Five encodings, both directions, in one place: base64, base64url, hex, and the two flavours of URL escaping. Everything routes through bytes rather than string manipulation, which is why non-ASCII text — accents, emoji, any language that is not English — survives a round trip here instead of coming back as mojibake.
No. It is an encoding, not a cipher — there is no key and anyone can reverse it in a second. It exists to move binary safely through channels that only expect text. If you need something kept secret, you need encryption.
Almost always a UTF-8 problem: something encoded the text one byte per character before base64ing it, which mangles anything outside ASCII. This tool encodes to UTF-8 bytes first, so accented characters and emoji round-trip intact.
It represents three bytes as four characters, so the output is roughly 133% of the input, plus padding. That overhead is the price of being text-safe, and it is why inlining large images as data URIs is usually a mistake.
Choose base64url rather than base64 — JWT segments use the URL-safe alphabet and drop their padding. Or use the JWT decoder, which splits the three segments for you.