Base64 turns arbitrary bytes into text made only of A–Z, a–z, 0–9, + and /, with = as padding, so binary data can travel safely inside JSON, email, HTTP headers or data URLs. “Hi” becomes “SGk=”. Because every 3 bytes become 4 characters, the encoded output is roughly a third larger than the input. Keep in mind that Base64 is encoding, not encryption: anyone can decode it, so it offers no protection for passwords or secrets.
This encoder converts your text to UTF-8 before encoding, which means accented letters, Chinese, Japanese and emoji round-trip correctly — the classic “InvalidCharacterError” from calling btoa() on non-Latin text is exactly what this step avoids. Besides Base64 the tool supports four other formats: URL encoding (percent-encoding, where a space becomes %20 and “é” becomes %C3%A9), plain hexadecimal, Unicode escape sequences like \u00E9 that you see in JSON and source code, and UTF-8 bytes in hex for debugging encoding problems.
Typical jobs include decoding a Base64 value from an API response or config file, peeking inside a JWT segment (JWTs use URL-safe Base64, so you may need to swap - and _ back to + and / and add = padding), building a query string that contains non-ASCII characters, or figuring out what kind of garbled string you are looking at. If decoding fails, the tool tells you the input is not valid Base64, URL, hex or Unicode.
The converter works on text only; it does not turn images or files into Base64. Everything runs locally in your browser, so the strings you paste are never uploaded.