Encode text to Base64 or decode Base64 back to text. Full Unicode support, instant results, nothing is uploaded to a server.
The 10-second test: switch off your Wi-Fi (or turn on airplane mode) and use this tool anyway. It keeps working — because there is no server doing the work.
The technical check: open your browser's developer tools, go to the Network tab, and run the tool. Your file is never sent anywhere.
Measured live on this page — files transmitted: 0 · file data sent: 0 bytes
This counter hooks the browser's own networking functions, so it would rise the instant any file data left this page. The only thing this site ever transmits is the contact form, if you choose to send one.
Select files
or drag & drop — pasting works too (Ctrl+V)
Working…
Processed on your device — 0 bytes uploaded
Thanks — feedback received!
Base64 turns any text or binary data into plain letters, digits and a couple of symbols, so it can travel safely through systems that only handle text - email, JSON, data URLs, config files.
Paste your input and press Encode or Decode. Unicode is handled correctly, so accents, emoji and non-Latin scripts survive the round trip.
It converts arbitrary data into a set of 64 safe characters so it can travel through systems that only handle plain text — email bodies, JSON payloads, data URLs, YAML config, HTTP headers. That is the entire purpose. It is a transport format, not a compression format: encoded output is about 33% larger than the input.
Base64 is trivially reversible by anyone in one second. It provides no confidentiality whatsoever. Storing a password Base64-encoded is equivalent to storing it in plain text with a very thin disguise, and it is a genuine and common security mistake. If data needs protecting, encrypt it.
Naive Base64 implementations break on anything outside basic Latin — the classic symptom being mangled accents or emoji after a round trip. This encodes to UTF-8 first, so accented characters, emoji, and non-Latin scripts survive encoding and decoding intact.
Two usual causes. The input is not actually Base64 — a truncated string, or one with stray characters. Or it is valid Base64 of binary data such as an image, in which case decoding to text correctly produces nonsense, because it was never text to begin with.
No, and this matters: Base64 is encoding, not encryption. Anyone can decode it in a second. Never use it to protect passwords or secrets.
The input was probably not valid Base64, or it encoded binary data such as an image rather than text.
No. Encoding and decoding happen in your browser, which is why it works with sensitive strings such as tokens or config values.
Thanks — we read everything and reply when it matters.