Base64 Encoder
Encode any text, including emoji and accents, to a Base64 string.
Turn a Base64 string back into readable text.
Line breaks, spaces and missing padding are handled automatically. Both the standard and URL-safe alphabets are accepted.
Base64 Decoder reverses Base64 encoding and gives you back the original text. Paste the encoded string and the decoded version appears below. Decoding is UTF-8 aware, so strings containing accented characters, non-Latin scripts and emoji come back exactly as they went in rather than as a row of question marks.
Real-world Base64 is often untidy. Strings copied from logs arrive with line breaks in them, strings from URLs use the URL-safe alphabet with hyphens and underscores, and strings from some APIs have had their padding stripped. The decoder handles all three automatically: it removes whitespace, accepts both alphabets and restores missing padding before decoding.
When a string genuinely cannot be decoded, you get a plain-language explanation rather than a raw browser exception. The most common cause is that the text was never Base64 to begin with, or that a character was lost when it was copied.
The base64 decoder is used by writers, developers, students, marketers and anyone else who needs the job done once without installing software. Common cases include:
Either it is not Base64, or characters were lost when it was copied. Base64 contains only letters, digits, plus, slash and equals, or hyphen and underscore in URL-safe form. Any other character means the string has been altered or truncated.
The encoded data was probably binary, such as an image or a compressed archive, rather than text. Binary decoded as text produces nonsense. This tool is built for text payloads.
No. If equals signs are missing, the decoder works out how many are needed and adds them before decoding.
You can decode the individual parts. A JWT is three URL-safe Base64 sections separated by full stops; paste one section at a time to read the header or payload. The signature is binary and will not render as readable text.
No. Decoding happens in your browser and the result is discarded when you close the tab. Nothing is logged or uploaded.
No. Base64 carries no signature or checksum. Decoding tells you what the bytes say, not whether they came from a trustworthy source.
If the base64 decoder is not quite what you need, these other free tools solve closely related problems.
Encode any text, including emoji and accents, to a Base64 string.
Decode %20 and other percent escapes back into normal characters.
Pretty-print and validate JSON, with the exact line and column of any error.
Escape angle brackets and quotes to HTML entities, or decode them back.
Escape spaces, symbols and non-ASCII characters for use in URLs.