Base64
Encoder and decoder
What Base64 actually does
Base64 rewrites arbitrary binary data using 64 printable characters, so it can travel through channels that only reliably carry text — email bodies, JSON fields, HTML attributes, config files. It costs about 33% in size, since every three bytes become four characters.
It is not encryption. Anyone can decode it instantly, as this page demonstrates. Encoding a password or an API key in Base64 hides it from nobody.
Unicode, and why other converters mangle it
The browser's built-in btoa() only accepts characters in the 0–255 range,
so it throws on anything outside Latin-1 — accents, most punctuation dashes, CJK, and
every emoji. Plenty of online converters wrap btoa() directly and either
fail or silently corrupt the result.
This tool encodes text to UTF-8 bytes first, then Base64-encodes those bytes, and
reverses the process when decoding. café and 🔑 round-trip
correctly.
When to use URL-safe
Standard Base64 uses + and /, which both have meaning inside
a URL, and = padding, which is awkward in a query string. The URL-safe
alphabet substitutes - and _ and drops the padding. It is
what JWTs use. Decoding here accepts either form automatically, so you don't need to
know which one you were handed.
This tool runs entirely in your browser. Nothing you type, paste or open is sent to util.quest or anywhere else — there is no upload and no request to make one. You can disconnect from the network and it will keep working.
Encode text to Base64 or decode it back, with correct handling of accents, emoji and any other non-ASCII characters — the thing most online converters quietly get wrong. Supports the URL-safe alphabet and encoding files to data URIs.
It's one of the free tools in the util.quest collection — nothing to install, and no account needed. Found a bug or want a feature? Reach out at [email protected].