Base64 Encoder
Encode any text to standard Base64 in your browser, emoji and accented letters included.
Decode Base64 back to readable text in your browser, Unicode included, and get a plain error message when the input is broken.
Updated
Your browser is preparing the tool. It runs 100% locally.
Base64 Decoder turns a Base64 string back into readable text, in your browser. It decodes the Base64 to bytes and reads them as UTF-8, so text with emoji, accents, or non-Latin scripts comes back intact. Stray whitespace around your input is trimmed, and a string that is not valid Base64 gets an error message instead of garbled output. Your input stays on your device.
Paste a Base64 blob from a config file, a token, an API response or a header, and the original text appears, ready to copy.
It reads the decoded bytes as UTF-8, so it correctly reconstructs Unicode text, and it is forgiving about surrounding whitespace: leading and trailing spaces or line breaks are trimmed before decoding.
The tool first decodes the Base64 characters back into the raw bytes they represent. It trims your input first, so stray spaces or newlines from copying do not trip it up.
It then reads those bytes as UTF-8 text, reversing the usual encoding step, so emoji and accented or non-Latin characters come back correctly.
The Base64 you paste is decoded in your browser and is not uploaded, so whatever the string contains stays on your machine.
The decoder keeps no history. Clear the box or close the tab and the input and the decoded text are gone.
| Direction | Base64 → text |
|---|---|
| Alphabet | Standard Base64 (A-Z a-z 0-9 + /) |
| Unicode | Full (bytes read as UTF-8) |
| Input | Whitespace trimmed automatically |
| Errors | Clear message on invalid Base64 |
| Upload | None; decoding happens on your device |
Decoding is exact: valid standard Base64 returns the original bytes, and reading them as UTF-8 gives back the exact text that was encoded, emoji and accents included.
It expects standard Base64 (the + and / alphabet). URL-safe Base64, which uses - and _ instead, will not decode as it is. Swap - for + and _ for / first. Wrong or missing = padding can also cause a failure.
The tool does not guess at broken input. If the string has characters outside the Base64 alphabet, or the bytes are not valid UTF-8, you get an error message. That usually means the string was cut short or was never Base64.
Base64 is not encryption, so decoding reveals whatever was encoded with no key needed. Treat any hidden-looking value in Base64 as effectively public.
Decode a Base64 token, header, or config value to see the text inside.
Turn a Base64 field back into readable content.
Confirm a string from the Base64 Encoder decodes back to the original.
Get the plain text out of a Base64 blob from a log or message.
For URL-safe input, swap - and _ back to + and / first; to turn a Base64 image back into a file, use the Base64 to Image tool; to encode, use the Base64 Encoder.
Written from the decoder's code: it trims, decodes and reads the bytes as UTF-8. The URL-safe Base64 limit and the error on bad input are stated as the tool behaves.
Encode any text to standard Base64 in your browser, emoji and accented letters included.
Paste messy or minified JSON and get it back pretty-printed with 2-space indentation. The same step tells you whether the JSON is valid.
Turn percent-encoded text back into readable characters: %20 becomes a space and %26 an ampersand. It uses the browser's decodeURIComponent.
Get the MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of any text at once, updated as you type, with a plain note on which ones are still safe for security work.
Generate up to 500 random version 4 UUIDs at once, the 128-bit identifiers used for database keys, from your browser's secure random generator.
Percent-encode a value so it can sit safely inside a URL. Spaces, ampersands, slashes and other special characters become %-codes, using the browser's encodeURIComponent.
Paste or pick your input at the top of the page. The conversion runs on this device and needs no account.