Encode text to Base64 or decode Base64 to text
Our Base64 Encoder/Decoder works entirely in your browser using JavaScript. This means your data is processed locally and never leaves your device, ensuring complete privacy and security for sensitive information.
Furthermore, our tool fully supports UTF-8 encoding. This means you can safely encode and decode text containing emojis, special characters, and non-Latin scripts (like Arabic, Chinese, or Cyrillic) without data corruption—a common issue with older Base64 tools.
Base64 represents binary data using 64 printable characters: A–Z, a–z, 0–9, + and /, with = as padding. Every 3 bytes of input become 4 characters of output, so encoded data is about 33% larger. It exists so that binary data, such as images, file attachments and keys, can travel safely through systems built for text, like email, JSON and HTML.
Anyone can decode Base64; it provides no security. That's why decoding a JWT's middle section, or a Basic authentication header, reveals readable data. Never use Base64 to protect passwords or secrets. Use real encryption, and keep the keys secret.
data:image/png;base64,....Authorization header carries username:password in Base64.URL-safe Base64 (used in JWTs) replaces + with - and / with _, and often drops the = padding. To decode it here, replace - with + and _ with / first.
Learn more in our guide: How Base64 encoding works