Base64 Decoder for Plain Text
Decode Base64 back into readable text.
// When a string will not decode
- >Characters outside the alphabet — Only A-Z, a-z, 0-9, +, / and = belong here; whitespace is ignored, but quotes, surrounding text or a data: prefix reject the value.
- >Impossible length — A single leftover character cannot stand for a byte, so a truncated copy is rejected. Paste the complete value.
- >Missing padding — Values without their trailing = signs still decode; the decoder adds them to reach a multiple of four characters.
- >Valid Base64, unreadable text — If the result is full of �, the bytes were written in an encoding other than UTF-8 rather than the Base64 being wrong.
// One string before and after decoding
IN
8J+YgA==
OUT
😀
Eight characters carry four bytes: the trailing == pad the last group, and UTF-8 reads those bytes as a single emoji.
// Questions about decoding
Is Base64 encryption?
No. It is a reversible encoding that makes bytes safe to carry through text channels. Anyone can decode it, so it must never replace encryption or protect a password.
Why does the decoded text look like broken characters?
Base64 stores bytes, not characters. This page reads those bytes as UTF-8; bytes written in another encoding can only partly convert and show up as replacement characters, even though the Base64 itself was valid.
Does it accept URL-safe Base64?
Yes. Values that use - and _ instead of + and / are converted before decoding, and missing = padding is added automatically.
Can it turn Base64 back into a file?
No. Decoding returns text. The bytes of an image or a PDF do not map to readable characters, so this page cannot rebuild the original file for download.