64 symbols · RFC 4648 · ~33% overhead
The workhorse of binary-to-text encoding: A–Z a–z 0–9 + / with = padding. Used in email/MIME, data URIs, JWTs, and virtually every web API. Also includes the URL-safe variant (-_ instead of +/).
Text / File → Base64 box — the encoding appears instantly in Base64 output.Load File or drag & drop a file to encode its raw bytes — handy for building data: URIs.Copy result to grab the encoded string (used in data URIs, JWTs, and MIME email).Base64 → Text — URL-safe -/_ input is also accepted.Clear any time to reset a box.Binary attachments and inline images in email are sent as Base64.
Embed files directly in HTML/CSS using data:image/png;base64,… — encode any file to build them.
JWT header and payload segments are Base64URL. You might also like the JWT decoder better.
The standard way to carry binary data inside text-only JSON payloads.
See exactly what is inside the Base64 you find in URLs, cookies, and network traffic.
Everything runs in your browser. Nothing is uploaded, logged, or sent to a server.
A–Z a–z 0–9 + / with = padding — the RFC 4648 standard alphabet.
It swaps + and / for - and _ so strings survive URLs. This tool accepts both when decoding.
About 33% — every 3 input bytes become 4 output characters.
It pads the final block to a full group of 4 characters when the input is not a multiple of 3 bytes.
No. Base64 is fully reversible and offers no security — it is a representation, not protection.
Yes. Text is encoded as UTF-8 first, then converted to Base64.
Yes. Click Load File or drag & drop a file onto the input panel. The file's raw bytes are read locally and encoded — the same technique behind data:image/...;base64,… URIs.
Never. All conversion happens locally in JavaScript.