Base64 Encoder / Decoder

Text ⇄ Base64 with proper Unicode support.

Where Base64 shows up

Base64 turns arbitrary bytes into a safe-to-transmit text alphabet (A-Z, a-z, 0-9, +, /, =). You'll meet it in HTTP Basic auth headers, data URIs, JWT token parts, email attachments and embedded config blobs. Encoding is not encryption — anyone can decode it — it's a transport format, not a security measure.

This tool uses UTF-8-aware encoding, so Chinese, emoji and other non-ASCII text round-trip correctly. URL-safe mode swaps the + and / characters for - and _, required when the encoded string travels inside URLs or file names without further escaping.

FAQ

Why does my decoded text look like garbage?

The input probably isn't UTF-8-encoded Base64 (it might be Latin-1 from an old system) or you're decoding an image's Base64 as text — images should be opened as files, not read as characters.

Why is Base64 output longer than the input?

Every 3 bytes become 4 characters — a 33% size increase. That's the cost of carrying binary safely through text-only channels.