About Base64 Decoder
Base64 appears anywhere bytes have to travel through a text-only channel: data URIs, email attachments, JSON payloads and JWT segments. Decoding it by hand is error-prone, and the browser's own atob function returns Latin-1, which turns accented text, Chinese and emoji into mojibake.
This decoder converts through UTF-8 properly and also handles the variations people actually paste: URL-safe letters, wrapped lines, spaces and missing padding. If the decoded bytes are not text, it says so, shows a hex preview and lets you save the bytes under a file name you choose.
What this tool does
UTF-8-safe text output
Bytes pass through TextDecoder, so accents, Chinese, Japanese and emoji decode correctly instead of becoming garbled Latin-1 characters.
Accepts real-world Base64
URL-safe dashes and underscores are normalized, spaces and line breaks are ignored, and missing padding is restored before decoding.
Binary payload detection
When the bytes are not valid UTF-8, the tool shows a hex preview instead of pretending they are text.
Save decoded bytes as a file
Small binary payloads can be written to a local file under a name you choose, which is handy for images or archives sent as Base64.
Specific error messages
Invalid characters, bad padding and truncated input each produce a message that names the problem instead of a generic failure.
Copy and sample
Copy decoded text in one click, or load a sample string containing accents and an emoji to see how UTF-8 decoding works.
How to use Base64 Decoder
- 01
Paste the Base64
Paste the encoded string into the input; line breaks, spaces and URL-safe characters are all accepted.
- 02
Press Decode
The decoder validates the alphabet, normalizes padding and converts the bytes, showing an error if the string is not valid Base64.
- 03
Read the decoded text
If the bytes are valid UTF-8, the readable text appears in the output box and can be copied with one click.
- 04
Save binary payloads
For image, archive or other non-text payloads, give the file a sensible name and use Download file to save the bytes locally.
Supported formats and limits
- Input
- Base64
- Output
- TXT
- Processing
- Client-side, in your browser. Nothing is uploaded.
- Maximum size
- Up to 4 million Base64 characters
- Requirements
- Chrome, Edge, Firefox or Safari · JavaScript enabled
Limitations worth knowing
- Input is capped at four million characters, and very large strings are limited by the memory available to the browser tab.
- Base64 contains no file type information, so the decoder cannot choose the right extension for a binary payload for you.
- Non-UTF-8 text, such as legacy single-byte encodings, is reported as binary rather than guessed.
Privacy and file handling
Decoding happens in this browser tab. The Base64 string and the decoded bytes never leave your device, nothing is stored or logged, and downloaded files are created locally by the browser.
Read the full privacy policy