Base64 represents any data using only 64 safe characters (A–Z, a–z, 0–9, + and /, with = as padding). Use this tool to encode text to Base64 or decode a Base64 string back to text. It handles UTF-8 properly, so accented letters, non-Latin scripts and emoji survive the round trip, and it runs entirely in your browser.
Examples: hello encodes to aGVsbG8=, and héllo ✓ encodes to aMOpbGxvIOKckw==.
Authorization: Basic … header is username:password in Base64, which is why Basic auth must only be used over HTTPS.data:image/png;base64,….The browser's built-in btoa() only accepts characters in the Latin-1 range and throws an error on anything else. This tool first converts text to UTF-8 bytes, then encodes those bytes, which is what servers and other languages expect. Decoding does the reverse.
+ with - and / with _; swap them back before decoding here.No. Base64 is a reversible encoding with no key. Anyone who has the string can decode it, so it gives no protection to passwords or other secrets.
Base64 encodes 3 bytes as 4 characters. When the input length isn't a multiple of 3, the output is padded with one or two = signs to complete the last group.
Every 3 bytes become 4 characters, so Base64 output is about 33% larger than the input.
Base64 converts any data into a fixed 64-character alphabet. URL encoding leaves most text readable and only replaces characters that have a special meaning in URLs, such as spaces and &.