Base64 Encode / Decode
Convert text to Base64 and back, with proper UTF-8 handling for emoji and non-Latin scripts. Nothing you type leaves your browser.
How to use this tool
- Choose Encode to convert text to Base64, or Decode to convert Base64 back to text.
- Type or paste your input — the result appears instantly.
- Copy the result with one click.
How it works
Base64 represents binary data using 64 safe characters (A–Z, a–z, 0–9, +, /), turning every 3 bytes into 4 characters — which is why encoded output is about 33% larger than the input. This tool encodes text as UTF-8 bytes first, so emoji and non-Latin scripts round-trip correctly (naive btoa-only tools corrupt them).
Base64 is an encoding, not encryption: anyone can decode it. It exists so binary data can travel through text-only channels like JSON, email, and data URLs.
Frequently asked questions
Can I convert a file to Base64 or turn Base64 back into a file?
Yes — File → Base64 reads a local file (up to 25 MB) and outputs its Base64, optionally as a data URL ready for CSS or HTML embedding. Base64 → file decodes pasted Base64 (or a data URL) and saves it as a download. Both directions run entirely in your browser.
Why is Base64 output about 33% larger than the original?
Base64 represents every 3 bytes of binary data as 4 text characters, so encoded output is 4/3 the size of the input. That's the cost of making binary data safe to embed in text formats like JSON, HTML, and CSS.
Is Base64 encryption?
No. Base64 is a reversible encoding anyone can decode — it provides zero secrecy. If you need confidentiality, you need actual encryption.
Why is Base64 output longer than the input?
Every 3 bytes become 4 characters, so output is roughly 133% of the input size, plus up to two = padding characters.
What is URL-safe Base64?
A variant that replaces + with - and / with _ so the encoded string can live in URLs without percent-escaping. It's common in JWTs and web APIs.