Sponsor Your brand here — reach millions of users. Become a sponsor →
← All tools

Base64 Encoder & Decoder

Encode text to Base64 or decode Base64 back to text. Full Unicode support, instant results, nothing is uploaded to a server.

Your files stay on this device — 0 bytes uploaded

Encoding and decoding Base64

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.

What Base64 is for

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.

It is not encryption, and this matters

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.

Unicode is handled properly

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.

Why decoding sometimes fails

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.

Frequently asked questions

Is Base64 a form of encryption?

No, and this matters: Base64 is encoding, not encryption. Anyone can decode it in a second. Never use it to protect passwords or secrets.

Why does my decoded text look like nonsense?

The input was probably not valid Base64, or it encoded binary data such as an image rather than text.

Is my data sent anywhere?

No. Encoding and decoding happen in your browser, which is why it works with sensitive strings such as tokens or config values.

More free tools