Base64 Decode
Paste a Base64 string and get the original text back instantly. Runs locally in your browser.
BASE64
Decodes Base64 back to the original UTF-8 text. Handles Unicode correctly.
How it works
The browser's built-in atob() function turns each Base64 character back into a 6-bit chunk and concatenates them into the original byte sequence. Those bytes are then handed to TextDecoder('utf-8'), which reassembles the original text including any emoji or non-ASCII characters that were UTF-8 encoded before they were Base64ed. Padded and unpadded inputs are accepted because the tool normalises the string before decoding.
Processing runs in your browser
All encoding and decoding happens inside your browser tab. Our servers are not involved at any point. You can confirm this yourself in your browser's DevTools Network tab.
Technical specification
Base64 is specified in RFC 4648 (IETF, 2006). The encoding groups every three input bytes (24 bits) into four 6-bit values, each mapped to a printable ASCII character from a 64-character alphabet (A–Z a–z 0–9 + /). If the input length is not divisible by 3, one or two = padding characters are appended. The URL-safe variant (RFC 4648 §5) replaces + with - and / with _, making it safe for use in URLs and HTTP headers without further percent-encoding. This tool decodes URL-safe input but always encodes with the standard alphabet, as data URIs do.
- Standard
- RFC 4648. The Base16, Base32, and Base64 Data Encodings
- Size overhead
- ~33% overhead (every 3 bytes becomes 4 characters)
- Alphabet (standard)
A–Z a–z 0–9 + /with=padding- Alphabet (URL-safe)
A–Z a–z 0–9 - _(used in JWTs; accepted when decoding)
Related operations
To compute SHA hashes of text or files, or MD5 of text, use the hash generator. For percent-encoding query strings or URL paths, try URL encode. To decode signed tokens that wrap Base64 payloads, see the JWT decoder.
Frequently asked questions
- What if the Base64 string is padded or unpadded?
- The tool handles both padded (with =) and unpadded Base64 automatically.
- Can I decode binary data?
- This page decodes to UTF-8 text, so Base64 that holds binary data (an image, a PDF, a zip) comes out garbled. The tool has no Base64-to-file download; File to Base64 works in the other direction.
- Where does the decoding happen?
- Decoding runs in your browser with atob() and TextDecoder. Our servers are not involved at any point.
- What if I paste an invalid Base64 string?
- An error message appears below the input explaining that the value is not valid Base64. The original input is left untouched so you can fix the string and try again.
Last reviewed September 30, 2026
Other pages for this tool
Related tools
- Background reading: Complete guide to data tools