Encode text to Base64 or decode Base64 strings back to text. Fully supports Unicode characters including emojis and non-Latin scripts. All processing happens in your browser.
Base64 is a binary-to-text encoding scheme that represents binary data using a set of 64 ASCII characters: A-Z, a-z, 0-9, +, and /. The = character is used for padding when the input length is not divisible by 3.
Base64 encoding increases the data size by approximately 33% — every 3 bytes of input become 4 characters of output. Despite the size increase, it is invaluable when binary data needs to travel through text-only channels.
data:image/png;base64,...username:password stringThe 64 characters in standard Base64 are: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63). Each character represents 6 bits of data. Three input bytes (24 bits) map to four Base64 characters (24 bits).
Base64 is not encryption. It is a reversible encoding that provides no security. Anyone can decode a Base64 string without any key. Do not use Base64 to "protect" sensitive data — use proper encryption algorithms (AES, RSA) for that purpose.
The = padding ensures the output length is always a multiple of 4 characters. If the input has 1 remaining byte, two == are added. If it has 2 remaining bytes, one = is added. If the input is evenly divisible by 3, no padding is needed.
Base64url is a variant that uses - instead of + and _ instead of /, making it safe for use in URLs and filenames. It is commonly used in JWTs and data URIs.
Yes. This tool uses TextEncoder/TextDecoder to properly handle Unicode characters, including emojis and characters from non-Latin scripts like Chinese, Arabic, and Hindi.