A Base64 decoder that does not mangle your Unicode

Most Base64 tools are correct for ASCII and quietly wrong for everything else. The moment an accented character, a non-Latin script or an emoji goes through one, you find out whether it understood that Base64 encodes bytes rather than characters - and which bytes it decided those characters were.

Open the Base64 Encoder →

base64decode.org and Softland, side by side

 base64decode.orgSoftland
Unicode textHandled, with a charset you chooseUTF-8 throughout, in both directions
Legacy character setsSeveral availableUTF-8 only
Data URIsNot the focusRecognised and handled as a unit
Where the conversion runsServer-sideIn your browser
AdvertisingAd-supportedNone

Base64 encodes bytes, and text is not bytes until you say so

This is the source of nearly every mangled result. Before a string can be Base64 encoded it must first become a sequence of bytes, and that requires a character encoding. Choose UTF-8 and a pound sign is two bytes; choose Latin-1 and it is one; choose wrongly on the way back and you get a question mark, a black diamond, or the famous pair of characters that appear wherever UTF-8 has been read as something else.

This tool encodes and decodes through UTF-8 in both directions, which is the encoding the web has standardised on and the one your API, your database and your JSON payload almost certainly use. Round-tripping an emoji, a Cyrillic name or a Japanese address gets you back exactly what you put in.

Data URIs are the other half of what people paste

A great deal of the Base64 that arrives in front of a developer is not a bare string - it is a data URI, with a media type and a comma in front of the payload. Feed the whole thing to a naive decoder and it fails, because data:image/png;base64, is not valid Base64. Strip the prefix by hand and you lose the one piece of information that told you what the bytes were.

Recognising the prefix rather than choking on it means you can paste what you actually have: the attribute value out of an HTML email, the inline image from a CSS file, the avatar embedded in an API response.

Base64 is not, and has never been, encryption

It is worth stating plainly because the mistake is common and expensive. Base64 is a reversible encoding with no key, designed to move binary data through channels that only accept text. Anyone can decode it. A password, a token or an API key stored Base64-encoded is stored in plain sight with a thin coat of paint over it.

The legitimate uses are the ones it was built for: an attachment inside an email, a small image inline in a stylesheet, a binary field inside a JSON document, a credential in an Authorization header where the transport rather than the encoding provides the secrecy.

When base64decode.org is the better choice

  • You are working with a legacy character set - Latin-1, Windows-1252, Shift-JIS - and need to choose the encoding explicitly rather than assume UTF-8.
  • You are decoding a large binary file to download rather than a string to read.
  • You want a URL you can link a colleague to with the input already in it.

Frequently asked questions

Is Base64 a form of encryption?
No. It is a reversible encoding with no key. Anything Base64-encoded can be read by anyone who copies it, so it protects nothing on its own.
Why does my Base64 string fail to decode?
Usually one of three things: it is a data URI and still has its prefix attached, it is URL-safe Base64 using dash and underscore rather than plus and slash, or whitespace and line breaks were introduced when it was copied.
Does it handle emoji and accented characters?
Yes. Both directions go through UTF-8, so anything that round-trips through a modern web stack round-trips here unchanged.
What are the equals signs at the end?
Padding. Base64 works in groups of three bytes, and one or two equals signs mark an input whose length was not a multiple of three. They carry no data.

Try it yourself

Encode and decode Base64, including data URIs.

Open the Base64 Encoder

base64decode.org is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by base64decode.org. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check base64decode.org’s own site for its current terms.