Base64 Encoder / Decoder

Encode and decode Base64 with full Unicode support, including emoji, which naive encoders break on.

Output updates as you type.


Result will appear here.

Features

  • Encode and decode in both directions
  • Full Unicode and emoji support via UTF-8
  • URL-safe alphabet for query strings and JWTs
  • Optional 76-character line wrapping (MIME style)
  • Encode any file to a Base64 data URI

How to use it

  1. Choose whether you're encoding or decoding.
  2. Paste your text into the input box.
  3. The result updates as you type.
  4. Copy it, or press Swap to run the reverse operation.

Why Unicode support matters

The browser's built-in btoa() only accepts characters in the Latin-1 range. Feed it an emoji or a Cyrillic character and it throws an InvalidCharacterError. Many online encoders hit exactly this wall and either fail or silently mangle your text.

This tool converts your input to UTF-8 bytes with TextEncoder before encoding, and decodes back through TextDecoder. That round-trips any string correctly, including emoji, accented Latin, CJK characters and right-to-left scripts.

One thing worth remembering: Base64 is an encoding, not encryption. Anyone can decode it in a second. Never use it to protect a secret.

Frequently asked questions

Yes, entirely. No limits on input size, no account, no paid tier.
No. Encoding and decoding both happen in your browser using the built-in btoa and atob functions wrapped in TextEncoder and TextDecoder. Nothing is transmitted or stored. You can verify this in your developer tools Network tab.
The browser's built-in btoa function only accepts characters in the Latin-1 range. Feed it an emoji, a Cyrillic character or a CJK character and it throws an InvalidCharacterError. Many online encoders hit exactly this limit and either fail or silently mangle the text. This tool converts your input to UTF-8 bytes with TextEncoder before encoding and decodes back through TextDecoder, which round-trips any string correctly including emoji, accented Latin, CJK and right-to-left scripts.
No, and this is an important distinction. Base64 is an encoding, not a cipher. Anyone can decode it instantly with no key, that is the entire point of it. Never use Base64 to protect a password, token or anything else confidential. If you need actual protection, use encryption.

Related tools

Further reading

📖 Base64 Encoding Explained: What It Is and When to Use It

Read the full guide on the 123MiniApps blog.

Pick a theme

Ten hand-tuned palettes.