Base64 Encode and Decode

Convert text to Base64 and back, with proper support for accents, non-Latin scripts and emojis (UTF-8).

Input
Result

What is Base64?

Base64 is an encoding that represents binary data with only 64 safe characters: letters, digits, + and /. It lets you carry any content through channels designed for text: email attachments, data: images embedded in CSS, HTTP authentication headers, JWT tokens and more.

Keep in mind that Base64 is not encryption. Anyone can decode a Base64 string; it does not protect confidential data.

Base64 vs Base64URL

The Base64URL variant replaces + with - and / with _, and drops the trailing = padding, so the result can be used in a URL or a file name. It is the format used by JWT tokens. The decoder accepts both variants.

Why Base64 makes data bigger

Every 3 bytes become 4 characters, so encoded content is about 33% larger than the original.

FAQ

Why do accented characters break in other tools?

Many tools encode text as Latin-1. This one converts text to UTF-8 first, the web standard, so accents, non-Latin scripts and emojis always round-trip correctly.

What are the “=” signs at the end?

They are padding characters that make the string length a multiple of 4. They are optional in the Base64URL variant.

More free tools