QQuickKit

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.

Further Reading