Developer TOOL

Base64 Decoder

Turn Base64 back into readable text, whether it came from a standard encoder, a URL-safe one, or an API that stripped the padding. When the characters are valid Base64 but the bytes are not valid UTF-8, Furtu says exactly that instead of handing back a screenful of replacement characters.

Processed locally in your browser — your file is never uploaded

DEVELOPERBase64 Decoder
Processed locally
Input
Output

Accepts a hyphen and an underscore in place of a plus and a slash, as used in tokens.

Base64 in an email or a wrapped file is often broken across lines.

UTF-8 is strict: invalid sequences are reported. Latin-1 reads the bytes one for one, which is right for old Western European text.

Your text never leaves this page.

How base64 decoder works

  1. Paste the Base64Wrapped, unpadded and URL-safe inputs are all accepted.
  2. Pick the character setLeave it on UTF-8 unless the output is obviously Latin-1.
  3. Read the resultByte count, character count and any decoding problem are shown together.

What you get

Decode Base64 to text, with a clear reason when it will not decode. Everything happens inside this page: the file is read by your browser, transformed in memory and handed straight back to you as a download. There is no upload queue, no waiting for a server, and nothing left behind when you close the tab.

Supported formats

This tool works on text you paste or type, so there is no file format to worry about. Nothing you type is sent anywhere.

Limitations, stated up front

  • Binary output is not rendered. A decoded PNG comes back as text, and Furtu will tell you it is not valid UTF-8 rather than pretending.
  • No encryption is involved in either direction, so a decoded value may be sensitive; nothing is stored, but the text is on your screen.

Frequently asked questions

What went wrong with my input?

Furtu names the first character that cannot appear in Base64 and its position, and it checks the length: a group is four characters wide, so a total length of one more than a multiple of four is always truncated or wrong. Missing padding on its own is not an error, because plenty of encoders strip it.

Why am I seeing replacement characters?

The Base64 was valid but the bytes it encodes are not valid UTF-8, which usually means the original was Latin-1 or a binary file. Switch the character set to Latin-1 to read it byte for byte, and expect the same text the original encoder started from.

Can it decode a token for me?

It will decode the middle part as text, but use the token decoder for a JWT. That tool shows the header, the payload and the expiry, and it is explicit that a decoded payload is not proof of anything.

Does it handle non-Latin text properly?

Yes. The bytes are decoded as UTF-8 in one step, so multi-byte characters reassemble instead of turning into mojibake. The naive approach of mapping each byte to a character and hoping is what produces strings full of mangled accented letters.

Is the encoded data sent anywhere?

No. Decoding happens in your browser. Base64 often carries credentials and API keys, so it is never the right thing to paste into a service you have not checked.