Base64 decode to text
Decode Base64 to readable text in your browser: nothing is uploaded, there is no limit on how much you decode, and accents and emoji come out correctly because the result is read as UTF-8.
How it works
-
Paste your code
Paste the code in the left box or open a file. No code to hand? Click Example.
-
Instant result
The result appears as you type. If there is an error, you see the line and character.
-
Copy or download
Copy the result with one click or save it as a file for your editor or project.
What does the decoder accept?
Plain Base64 with + and /, URL-safe Base64 (base64url) with - and _, text without the = padding at the end, and Base64 split over several lines, as in e-mail (MIME). A data URI such as data:text/plain;base64,SGFsbG8= works too: the prefix is skipped.
Is Base64 encryption?
No. Base64 only rewrites data using letters, digits and a few symbols, so it can travel safely through e-mail, JSON or a URL. Anyone can decode it. To encode text yourself, use text to Base64.
Where you meet Base64
- The value after
Basicin an Authorization header: Base64 ofuser:password. Decode it to see which account a request uses. - The middle part of a JWT, or an attachment in a raw e-mail. For a whole token, the JWT decoder shows header and payload at once.
- A data URI in HTML or CSS, a config value or an API field that carries text as Base64.
Strange characters in the result
If you see é where you expected é, the text was encoded as Latin-1 or Windows-1252 instead of UTF-8, or it was encoded twice. Decode the result a second time if it still looks like Base64. Characters that cannot be read at all usually mean the data is binary, such as an image or an archive, in which case Base64 to file is the right tool.
Is it safe to paste secrets here?
Decoding happens in your browser, so the text never reaches a server. Still, treat credentials with care: a decoded Basic auth header is a real password.
Frequently asked questions
Why does the decoder say my Base64 is invalid?
Common causes are a character that is not part of Base64, a cut-off string, or quotes copied along from JSON. The message shows where the first problem is.
Can it decode URL-safe Base64?
Yes. The characters - and _ are accepted next to + and /, and missing = padding is fine.
Why do I get unreadable characters?
The data is probably not text but a file, or it was encoded in another character set than UTF-8.
Is my text uploaded?
No. The decoding happens in your browser and nothing is sent to a server.