Base64 Decoder – Decode Base64 to Plain Text

Paste any Base64 string and get the original text back instantly. Full UTF-8 support, automatic URL-safe Base64 detection, and clear error messages when input is invalid. Free, private, and runs entirely in your browser.

Input

Base64 → Text

Tip: Base64 is an encoding, not encryption. If the decoded bytes aren't valid text, you'll get a clear error instead of garbled output.

Result

Waiting for input
Decoded text
—

What is a Base64 decoder?

A Base64 decoder takes a Base64-encoded string — a sequence of characters drawn from A–Z, a–z, 0–9, +, /, and = — and turns it back into the original plain text or binary data. Decoding is the exact reverse of encoding, and it never requires a password, key, or any secret. Any Base64 string you encounter can be decoded in a single step.

This decoder is built for text. It uses a strict UTF-8 decoder internally, which means it will correctly recover emojis, accented characters, and non-Latin scripts like Hindi, Chinese, and Arabic — and it will tell you clearly when the underlying bytes aren't valid text, instead of silently producing garbage.

Everything runs locally in your browser. The strings you paste never leave your device, there's no signup, and there are no usage limits.

Common reasons a Base64 string fails to decode

Most decode failures fall into a small number of categories. This tool tells you which one applies, so you can fix the input instead of guessing:

ErrorWhat it meansHow to fix it
Invalid charactersThe string contains something outside the Base64 alphabet — often a stray quote, comma, or JSON fragment.Re-copy just the Base64 value, without surrounding punctuation.
Invalid length (4n+1)The character count is a multiple of 4 plus 1, which is impossible in valid Base64.The string is truncated — you're missing at least one character.
Padding problemPadding = characters are missing or in the wrong place.Add padding manually, or copy the string from a source that preserves it.
Not valid UTF-8The Base64 decoded fine, but the bytes represent binary data (image, PDF, ZIP, encryption output).This is a text decoder. Use a binary-aware Base64 tool for those payloads.

URL-safe Base64 — auto-detected

Standard Base64 uses + and /, which are unsafe inside URLs. RFC 4648 §5 defines a URL-safe variant (also called Base64url) that replaces those with - and _, and typically strips the trailing = padding. This is the format used in JWTs, OAuth tokens, and anywhere a Base64 value has to sit in a URL or filename.

This decoder auto-detects URL-safe input: if the string contains - or _, it's treated as Base64url. You can also force the option with the toggle if you have an edge case where the input happens to use neither of those characters.

Frequently asked questions

A Base64 decoder takes a Base64-encoded string — a sequence of characters drawn from A–Z, a–z, 0–9, +, / and = — and turns it back into the original plain text or binary data. Decoding is the exact reverse of encoding, and it never requires a password or key.
No. Base64 is an encoding, not an encryption. Anyone can decode a Base64 string in a single step without any secret. If the data behind the Base64 is sensitive, then that data should have been encrypted before being encoded — Base64 alone provides no confidentiality.
Common causes are: the string contains characters outside the Base64 alphabet (for example a stray space, quote, or newline inside the data); its length is a multiple of 4 plus 1, which is impossible in valid Base64; padding has been lost or added incorrectly; or the decoded bytes are not valid UTF-8 because the original data was binary (for example a JPEG or ZIP). This decoder reports the specific reason instead of silently producing garbage.
Yes. If the input contains the URL-safe characters '-' or '_' (used instead of '+' and '/'), the decoder automatically treats it as Base64url and decodes it correctly. You can also force URL-safe mode manually with the toggle.
It means the Base64 decoded successfully into a sequence of bytes, but those bytes are not valid UTF-8 text — typically because the original data was a binary file like an image, PDF, ZIP, or an encryption output. This tool is a text decoder, so it cannot display binary data. Use a Base64-to-image or Base64-to-file tool for binary payloads.
Yes. Decoding uses a strict UTF-8 decoder, so any Base64 that was originally produced from UTF-8 text — including emojis, accented letters, Hindi, Chinese, Arabic, and other scripts — decodes correctly.
Yes, completely free. No signup, no watermark, no hidden charges. Decode as many strings as you want for personal or commercial use.
Absolutely. Everything runs in your browser. The Base64 strings you enter never leave your device — there is no server processing, no logging, and no data storage.