{ }JSONKit.tools

Base64 Decode Online

Paste Base64 and read it back as text. Standard and URL-safe alphabets both work, padding is optional, and line breaks are ignored.

Encode⇄Decode

Base64

Text

Waiting for input…

About this tool

Most Base64 you meet in the wild is untidy: wrapped across lines from an email header, missing its padding after a trip through a URL, or written in the URL-safe alphabet by a JWT library. This decoder normalises all of that before decoding, then reads the bytes as UTF-8 so non-Latin text and emoji come out intact. If the bytes are not text at all, it says so rather than showing you mojibake.

How to use it

  1. 1Paste the Base64 string into the left panel — padding and line breaks do not matter.
  2. 2The decoded text appears immediately on the right.
  3. 3Press Copy to take it. To go the other way, use the Base64 Encode page.

Frequently asked questions

›Do I need to strip the padding or fix the alphabet first?

No. Both alphabets are accepted — standard (+ and /) and URL-safe (- and _) — and missing = padding is restored automatically, so a JWT segment pasted straight from a token decodes as is.

›What does "decodes to binary data" mean?

The input was valid Base64, but the bytes behind it are not UTF-8 text — typically an image, a PDF or a compressed file. This tool decodes to text; binary payloads need a file-level decoder.

›Can I decode a JWT here?

You can decode any of its three dot-separated parts individually — paste one at a time. The JWT Decoder page does the split, the JSON formatting and the expiry check for you.

›Why does whitespace not break it?

Base64 that arrives wrapped across lines, as in an email header or a PEM file, is common, so all whitespace is stripped before decoding.

›Is the decoded text sent anywhere?

No. Decoding happens in your browser, which matters here more than on most pages — Base64 strings often carry tokens, credentials and internal payloads.