Base64 Decoder
Turn Base64 back into readable text. Handles URL-safe input and missing padding automatically, with a clear message when the input is not valid Base64.
How it works
Decoding reverses the encoding: every four Base64 characters become three bytes, which are then read as UTF-8 text. Because Unicode is decoded properly, accented characters and emoji come back intact rather than as mojibake.
URL-safe input is detected and converted back automatically, and missing padding is restored — so a JWT segment copied straight out of a token decodes without any manual fixing.
The formula
Decoding
4 Base64 characters → 3 bytes → UTF-8 text
Padding repair
append = until the length is a multiple of 4
Worked examples
| Scenario | Working | Result |
|---|---|---|
| SGVsbG8= | Standard Base64 | Hello |
| Y2Fmw6k | Padding restored automatically | café |
| A JWT payload segment | URL-safe, unpadded | Decodes to JSON |
When you'd use it
- Reading a JWT payload without a full decoder
- Inspecting a data URI
- Checking what an encoded config value contains
- Debugging an API that returns Base64 fields
Common questions
Why does my Base64 fail to decode?
Usually a stray space or newline from copying, or characters that are not in the Base64 alphabet at all. Padding is repaired automatically, so a missing = is not the problem.
Can I decode a Base64 image here?
You can decode it, but the result will be binary rendered as text, which is not useful. This tool is for text payloads; image data URIs are best pasted straight into a browser address bar.
Is the decoded text sent anywhere?
No. Decoding happens in your browser, which matters because Base64 often carries tokens and personal data.

