Base64 Encoder
Encode and decode Base64 strings
About This Tool
When you're debugging a JWT token, embedding an image as a data URI, or sending binary content through a system that only handles text — that's when Base64 shows up. It's not encryption, just a way to represent bytes as readable ASCII characters. Paste your text or Base64 string here and get the result instantly. Chinese, Emoji, and all Unicode characters work correctly.
Features
- ✓Unicode characters just work — Uses TextEncoder / TextDecoder under the hood, so Chinese, Japanese, Korean, Emoji — all Unicode — encodes and decodes correctly, not just ASCII.
- ✓Paste and get results — Switch between Encode and Decode tabs, type or paste your input, and the result appears immediately. No button needed.
- ✓Bad input gets flagged — Invalid Base64 strings are detected and surfaced as an error, so you don't get silently garbled output.
- ✓Stays on your device — All encoding and decoding runs locally in your browser. Nothing is transmitted anywhere, so pasting sensitive tokens is fine.
- ✓One-click copy — Copy the result to your clipboard instantly, ready to paste into code, config files, or API tools.
FAQ
- Is Base64 encryption?
- No — this is probably the most common misconception about it. Base64 is just a different way of writing the same data, with no key and no secret. Anyone who sees a Base64 string can decode it immediately. If you need to protect data, use actual encryption like AES. Base64 is just a format change.
- Why does Base64-encoded data get larger?
- Base64 converts every 3 bytes into 4 ASCII characters, so the output is about 33% larger than the input. That's the normal trade-off — readability and text-safe transport at the cost of some size.
- What are the = or == at the end?
- Padding. Base64 works in groups of 3 bytes, and if the input isn't a multiple of 3, it adds = signs to make the output length a multiple of 4. One = means 1 byte was padded, two == means 2 bytes. They're valid and handled automatically when decoding.
- Why does the decoded output look like garbled text?
- Almost always a character encoding mismatch. This tool uses UTF-8. If the original Base64 data was encoded from GBK, Latin-1, or another charset, the decoded output will look wrong. Check what encoding the source used.