Base64 Encode / Decode
Convert text to and from Base64 with full Unicode support. Fast, private and entirely client-side — your data never leaves the browser.
Runs locally · nothing uploadedResult will appear here.
About Base64
Base64 is an encoding that represents arbitrary binary data using 64 printable ASCII characters (A–Z, a–z, 0–9, +, /, plus = padding). It’s used wherever binary needs to travel through text-only channels — data URIs, email attachments, HTTP Basic authentication, JWTs and JSON payloads. Encoding inflates the size by roughly a third, so it’s about transport safety, not compression.
A common pitfall is that the browser’s built-in btoa only accepts Latin-1 characters and throws on anything else. This tool avoids that by first turning your text into UTF-8 bytes with TextEncoder, Base64-encoding those bytes, and reversing the process with TextDecoder on decode. The result is fully Unicode-safe — emoji and non-Latin scripts round-trip without corruption. Everything runs on your device with no network calls.
Frequently asked questions
Is my data sent to a server?
TextEncoder, TextDecoder and the native btoa/atob functions. Nothing you type is uploaded, logged or stored.Does it handle Unicode and emoji?
btoa breaks on non-Latin1 characters. This tool encodes your text to UTF-8 bytes first, then Base64-encodes those bytes — so accented letters, CJK text and emoji round-trip correctly.What counts as invalid Base64 when decoding?
A–Z a–z 0–9 + / =. When that happens the status turns red and no output is produced. Whitespace and line breaks are ignored.Is this URL-safe Base64?
+ and /). For URL-safe Base64 you would replace + with - and / with _ and drop padding. Standard Base64 is what you need for data URIs, HTTP Basic auth and most APIs.