What is Base64?
Base64 decoding reverses Base64 encoding, turning Base64 text (A–Z, a–z, 0–9, +, /, with = padding) back into the original bytes or text. Because Base64 is an encoding rather than encryption, decoding needs no key or password — it simply maps the 64-character alphabet back to the original data. This tool decodes instantly in your browser and can output plain text or binary.
No key needed: Base64 is an encoding, not encryption, so anything Base64-encoded can be decoded by anyone. Decoding runs entirely in your browser.
How Base64 works
Decoding is the reverse of encoding — four Base64 characters become three bytes:
- Map each Base64 character back to its 6-bit value (for example
T = 19,W = 22,F = 5,u = 46). - Join the 6-bit groups into 24 bits:
010011 010110 000101 101110. - Re-split the 24 bits into three 8-bit bytes:
01001101 01100001 01101110=77, 97, 110. - Convert the bytes back to characters: Man. Trailing
=padding is ignored.
How to use
- Paste your Base64-encoded text into the input box.
- The decoded result appears instantly.
- Click Copy to use the decoded text.
Examples
| Input | Decoded text |
|---|---|
TWFu | Man |
SGVsbG8= | Hello |
Zm9vYmFy | foobar |
SGVsbG8sIFdvcmxkIQ== | Hello, World! |
Options explained
- Character set / encoding — How the decoded bytes are interpreted as text (UTF-8 by default).
- URL-safe (Base64URL) — Accepts the - and _ variant used in URLs, filenames and JWTs.
- Output as binary / file — Decode back to raw bytes when the original data was not plain text.
Common uses
- Reading data URIs back into their original bytes.
- Decoding the payload of a JWT to inspect its claims.
- Debugging APIs and emails that carry Base64-encoded data.
- Recovering files that were transmitted as Base64.
Frequently asked questions
Do I need a key to decode Base64?
No. Base64 is an encoding, not encryption, so no key is required.
Why won't my Base64 decode?
Check for invalid characters, missing = padding, or a URL-safe variant (using - and _) that must be converted first.
What is the = at the end?
Padding that makes the encoded length a multiple of four characters.
Can I decode a JWT here?
You can decode each Base64URL part to read the header and payload. The signature still requires the secret to verify.