Base64 to ASCII with visible bytes
The Base64 to ASCII decoder is for data that is mostly text but may contain bytes you need to see. Instead of guessing a character set or hiding problems behind replacement characters, it prints every byte either as a plain ASCII character or as a \xHH escape. No byte is hidden or swapped for a placeholder.
How bytes are shown
| Byte range | Shown as |
|---|---|
| 0x20–0x7E (printable ASCII) | The character itself |
| 0x09, 0x0A, 0x0D (tab, LF, CR) | A real tab or line break |
| Everything else | \xHH — for example \x00, \x1B, \xE9 |
Example
Base64 input:
QVNDSUkgb25seTogSGVsbG8hCVRhYmJlZAoAAen/ASCII output:
ASCII only: Hello! Tabbed
\x00\x01\xE9\xFFThe last four bytes are a NUL, a control character, a Latin-1 “é” (\xE9) and \xFF. A normal text decoder would hide or garble them; here each is visible.
When this view is useful
- Protocol debugging. Many network and serial protocols mix ASCII commands with binary headers, lengths and checksums.
- Finding hidden characters. NUL bytes, escape sequences or a stray byte order mark that break parsers are easy to spot.
- Mixed or unknown encodings. Non-UTF-8 text shows which bytes are non-ASCII, so you can identify the encoding.
- Security review. Inspecting an encoded payload without running or rendering it.
Because the output is plain ASCII, you can paste it into an email, a ticket or a chat message without any risk of the viewer altering invisible bytes — a useful property when you need to share exactly what a payload contained.
Patterns worth recognising
\xEF\xBB\xBFat the start — a UTF-8 byte order mark.\xFF\xFEat the start, then letters alternating with\x00— UTF-16LE text, as produced by Windows tools.\x1B[followed by digits — ANSI terminal colour codes captured in logs.- Pairs of
\xC3or\xC2followed by another escape — UTF-8 encoded Latin letters.
Compared with other views
Choose Base64 to Text when you expect readable UTF-8, where “é” should appear as é. Choose Base64 to Hex when you want every byte as hex, including the ASCII ones. This ASCII view sits in between: readable where possible, precise everywhere else. The escape style matches Python’s bytes representation and C string escapes, so you can paste parts back into code.
Decoding runs entirely in your browser.
Reading the output correctly
- Escapes are text, not bytes.
\xE9in the result is four characters that describe one byte. If you need the original binary data back, decode the Base64 itself, for example withbase64 -don the command line, instead of copying this view. - The result looks like Base64 again. If the output contains only letters, digits,
+,/and=, the data was encoded twice. Decode the output one more time. - Line endings. Tabs and line breaks are shown as real whitespace, and the output editor stores every line break as a line feed, so a Windows CR LF pair looks the same as a single LF. Switch to Base64 to Hex when you need to see
0D 0Aspelled out. - Nothing but escapes. A payload that is almost entirely
\xHHis binary, such as an image, compressed data or ciphertext, not text in an unusual encoding.