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 → TextResult
Waiting for inputWhat 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:
| Error | What it means | How to fix it |
|---|---|---|
| Invalid characters | The 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 problem | Padding = characters are missing or in the wrong place. | Add padding manually, or copy the string from a source that preserves it. |
| Not valid UTF-8 | The 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.