Skip to content
Bai
EspañolEnglishEuskara Get started →

Tools

Base64 decode

Base64 decode to text

Decode a Base64 string and get the original text back.

Private by design
Text is encoded as UTF-8, so accents, ñ and emoji survive the round trip. When decoding, line breaks, the URL-safe variant (- and _) and missing = padding are accepted.

About this tool

If you come across a string like SG9sYQ== in some JSON, an HTTP header, an email or a token payload, this is where you find out what it says. It helps when debugging integrations, checking which credentials a Basic auth header carries, reading the contents of a JWT (its first two parts are URL-safe Base64) or recovering text someone sent you encoded.

Paste the string into “Base64 to decode” and the text appears straight away under “Decoded text”. It doesn’t matter if it is split across several lines, uses - and _ instead of + and /, or is missing its trailing = padding: the tool sorts that out. If the string isn’t valid you’ll see a warning in red. “Switch to encode” goes the other way.

Everything happens in your browser: the string is never sent to a server, which matters if it contains keys or personal data. The result is read as UTF-8 text; if the Base64 holds a binary file such as an image or a PDF you’ll see garbled characters, because this tool shows text and doesn’t download files.

Frequently asked questions

How can I tell if a string is Base64?

It usually contains only letters, digits, + and / (or - and _ in the URL-safe variant), has a length that is a multiple of 4 and often ends in = or ==. The real test is to decode it and see whether something meaningful comes out.

Why do I get strange symbols after decoding?

Because the content isn’t UTF-8 text: it may be a binary file, compressed data or text saved in another encoding such as Latin-1. The Base64 is fine, it just doesn’t represent readable text.

Can I decode a JWT here?

You can paste the header or the payload separately (the parts between the dots) and read their JSON. Bear in mind that decoding does not verify the signature.

What should I do if it says the string is invalid?

Check that you copied all of it and that it has no characters outside the Base64 alphabet, such as quotes, % signs or accented letters. Strings cut off halfway are the usual cause.

Related tools