Base64 Encode / Decode
Convert text to and from Base64 — UTF-8 safe, in your browser.
Files are processed in memory and never stored.
Encode any text to Base64, or decode a Base64 string back to readable text. Handles full Unicode correctly (emoji and accented characters included), and runs entirely on your device so sensitive values never leave the page.
How to use it
- Open the Base64 tool and paste your input.
- Choose Encode (text → Base64) or Decode (Base64 → text).
- The result updates as you type.
- Copy it with one click.
What Base64 is for
Base64 represents binary or text data using only 64 safe ASCII characters. It's used wherever arbitrary data needs to travel through a text-only channel: embedding a small image in CSS or HTML as a data URI, putting credentials in an HTTP Authorization header, encoding email attachments, or storing a binary blob in JSON.
It is important to understand that Base64 is an encoding, not encryption. It scrambles nothing and provides no security — anyone can decode it instantly. It simply makes data safe to transport as text.
Why UTF-8 handling matters
Naive Base64 tools break on non-ASCII characters because the browser's built-in btoa() only accepts Latin-1. This tool first encodes your text as UTF-8 bytes, so 'héllo', '日本語' and '✓' all round-trip perfectly. Decoding reverses the process, giving you back exactly what you started with.
Frequently asked questions
Is Base64 secure?
No. It's an encoding, not encryption — anyone can decode it. Never use it to protect secrets.
Does it work with emoji and accents?
Yes. The tool is UTF-8 safe, so all Unicode characters encode and decode correctly.
Is my input uploaded?
No. Everything happens in your browser; nothing is sent to a server.
What's a data URI?
A way to embed a file directly in markup as Base64, e.g. data:image/png;base64,…, avoiding a separate request.
Why did decoding fail?
The input isn't valid Base64 — check for missing characters or accidental spaces.
Is it free?
Yes — free, no account, no limits.