How to use the ASCII Decoder
Decode ASCII codes in two steps:
1
Select the base and paste codes
Choose the base that matches your input: Decimal for standard numbers, Hex for hexadecimal, Octal, or Binary. Paste the code values separated by spaces, commas, or dashes.
2
Read the decoded text
Characters appear instantly. Any invalid values or out-of-range code points show a specific error message identifying the problematic value.
When to use this tool
Use this tool to reverse ASCII encoding and read character codes as text:
- →Decoding ASCII art or encoded messages found in code challenges, CTF competitions, or programming puzzles
- →Reading binary data values from network protocol captures or file format specifications where characters are represented as code numbers
- →Converting hex byte sequences from debugger output, memory dumps, or API responses back to readable strings
- →Decoding steganographic messages or educational encoding exercises that use numeric character codes
- →Verifying output from the ASCII Encoder tool by round-tripping the encoded values back to text
- →Reading character codes from assembly language or low-level C code where characters appear as their numeric constants
Frequently asked questions
Q:What separators does the decoder accept?
The decoder automatically handles any combination of spaces (including multiple consecutive spaces and tabs), commas, and dashes as separators. You can mix separators freely in the same input. For binary, you can use spaces between 8-bit groups or paste a continuous string — the tool processes them identically. Newlines are treated as spaces. This means you can paste output from virtually any encoding tool or document format without reformatting.
Q:How do I decode a hex dump where bytes are listed as two-digit hex values?
Select 'Hex' as the input base, paste your hex values separated by spaces, and the decoder converts each pair to its corresponding character. For example, '48 65 6c 6c 6f' decodes to 'Hello'. This works for standard hex dumps from tools like xxd, hexdump, and Wireshark. Note: for full hex strings without spaces (like '48656c6c6f'), use the Hex Decoder tool which handles continuous hex strings and strips 0x/\x/% prefixes automatically. The ASCII Decoder is optimized for space or comma-separated code lists.
Q:What is the maximum code point this tool can decode?
This tool decodes any valid Unicode code point from 0 (null character) to 1,114,111 (U+10FFFF, the maximum defined Unicode code point). Values above U+10FFFF are rejected with an error message. Code points in the range U+D800 to U+DFFF (surrogate pairs) are technically invalid as standalone Unicode scalar values, but most JavaScript environments handle them gracefully. Common printable characters are in the range 32–126, extended Latin characters 128–383, and emoji typically 128,000+.
Q:How do I decode binary ASCII codes — should they be 7-bit or 8-bit?
Select 'Binary' mode and enter 7-bit or 8-bit binary values separated by spaces — the decoder interprets each group as a single code point regardless of length. Standard ASCII uses 7 bits (0000000 to 1111111), but most binary representations zero-pad to 8 bits for visual consistency. For example, 'A' (ASCII 65) is 01000001 in 8-bit binary. Continuous binary strings (no spaces) are split into 8-character chunks automatically. Mix 7-bit and 8-bit values freely with spaces between them — the decoder handles each group independently.
Q:Why does my decoded output show a question mark or replacement character?
Replacement characters (? or the Unicode replacement character U+FFFD) appear when the code point doesn't map to a printable or defined character. Common causes: (1) code point 0 (null byte, control character with no visible glyph); (2) code points 1–31 and 127 (non-printable control characters like delete, bell, escape); (3) code points 55296–57343 (surrogate range — these are not standalone characters); (4) code points above 1,114,111 (beyond Unicode range). These are not errors — the decoder correctly converts the code points to their corresponding characters, which simply have no visible glyph.
Q:Is ASCII the same as Latin-1 (ISO-8859-1)?
ASCII covers code points 0–127. Latin-1 (ISO-8859-1) extends ASCII by adding code points 128–255 for Western European characters like accented letters (é, ü, ñ), currency symbols (£, ¥), and typographic characters (©, ®, ·). The first 128 characters of Latin-1 are identical to ASCII. Unicode's first 256 code points (U+0000 to U+00FF) are identical to Latin-1. This means this tool correctly decodes Latin-1 byte values (128–255) as their expected Western European characters. For byte sequences above 255 that use other encodings (Shift-JIS, GB2312, etc.), Unicode code point decoding would produce incorrect results.