Encode and decode Base64 with full Unicode support — instantly, in your browser
Base64 represents binary data using 64 text characters (A–Z, a–z, 0–9, + and /), so it can travel safely through systems designed for text — email, JSON, XML, URLs.
Emoji, accents and non-Latin scripts are encoded as UTF-8 first, matching what modern APIs and browsers expect — many older tools corrupt these characters.
Standard Base64 uses + and /, which clash with URL syntax. The URL-safe flavour (RFC 4648) swaps them for - and _ — used in JWTs and web tokens.
Encoding a file with the data: prefix produces a string you can paste straight into an <img src> or CSS url() — the file embeds directly in your page.
Base64 is an encoding, not a cipher — anyone can decode it instantly. Never use it to "hide" passwords or secrets.
Base64 output is about 33% larger than the original data (every 3 bytes become 4 characters). That's the price of being text-safe.