Base64 to ASCII Converter

Decode a Base64 string to readable ASCII and decide what happens to the bytes that fall outside the range.

Base64
ASCII text
Runs locally in your browser

About the Base64 to ASCII Converter

A Base64 blob pulled out of a log line, a cookie or a database column is opaque until something turns it back into characters. This decoder does that and then hands you control over the awkward part: the bytes numbered 128 and above, which ASCII has no room for.

Four behaviours are available. Decoding them as UTF-8 is the sensible default for anything written this decade and gives you accented letters and emoji intact. The escape option prints each high byte as \x followed by two hex digits, which is what you want when you are pasting the result into a test fixture or comparing it against a hex dump. Replacing them with a dot mimics the right hand column of a classic hex viewer, useful when you only care about the readable islands in a mostly binary payload. Removing them gives you a strictly seven bit result.

Padding is repaired if it was trimmed, whitespace and newlines inside the string are ignored, the URL-safe alphabet is understood, and a data: prefix is stripped before decoding. If a character outside the alphabet appears, the tool names it rather than producing nonsense. The status line reports the byte count and how many bytes sat above the ASCII range, which is often the fastest way to tell whether you have text or a file on your hands.

If the payload turns out to be a file, save it with Base64 to File instead.

How to use

  1. Paste the Base64 string, with or without padding and line breaks.
  2. Pick how Bytes above 127 should be handled for your use case.
  3. Read the status line to see how many high bytes were present.
  4. Copy the decoded text or download it as a file.

Common questions

Why do I see question mark diamonds in the output?
Those appear when the bytes are not valid UTF-8. Switch the option to hex escapes to see the actual byte values.
Can I decode a JWT payload segment here?
Yes. The URL-safe alphabet and missing padding are both handled, though the JWT Decoder splits the three segments for you.
Does the dot option change the byte count?
No. One dot stands for one byte, so the length of the result still matches the number of decoded bytes.
What if the Base64 is really an image?
You will get a wall of unreadable characters. The byte count in the status line is the clue, and Base64 to Image will render it properly.