Solved.tools โ€” Free Online Calculators & Tools

We use cookies for analytics and advertising. Learn more about our cookie policy

ASCII to Text Converter

Last updated: 22 August 2026

Reviewed by Gavin ยท Research and drafting assisted by AI

Decoded codes

Codes parsed:5Printable (0x20-0x7E):5Control characters:0
About ASCII: ASCII (ANSI X3.4-1986) assigns the integers 0 through 127 to letters, digits, punctuation, and control characters. Printable ASCII is the range 32 (space) through 126 (tilde). Codes above 127 are outside ASCII; for those, use a UTF-8 / Unicode converter.
Was this helpful?


ASCII to Text Converter, Decode Decimal, Hex, Octal, and Binary Code Streams

Introduction

If you have ever stared at a hex dump and wished you could see the message on the right-hand side without squinting, an ASCII decoder is what you need. ASCII to text conversion is one of the oldest operations in computing, every network protocol, every text file, every line of source code is a stream of bytes whose first 128 positions are interpreted as ASCII. This tool takes a numeric code stream in any of the four common bases (decimal 0 to 127, hexadecimal 0x00 to 0x7F, octal 000 to 177, or binary 0000000 to 1111111) and instantly reconstructs the original text. The converter runs entirely in your browser, supports any separator (space, comma, semicolon, pipe, newline, or none), recognises the common 0x and 0b prefixes, and flags out-of-range values or unparseable tokens instead of silently dropping them.

How to Use the ASCII to Text Converter

  1. Pick the number base your codes are written in. Decimal is the default (e.g. 72 101 108 108 111 for "Hello"). Hexadecimal (48 65 6C 6C 6F), octal (110 145 154 154 157), and binary (1001000 1100101 1101100 1101100 1101111) all decode to the same word.
  2. Choose the separator that appears between your codes. Most dumps use a space; CSV-style data uses a comma; some log formats use a pipe or newline.
  3. Paste your code stream into the input field. The decoder splits the input on the separator, parses each token as a number in your chosen base, and reconstructs the original characters in real time.
  4. Read the decoded text in the output area. Codes outside the 0 to 127 ASCII range and tokens that fail to parse are listed in the Issues panel below the result so you can see exactly what went wrong without losing the rest of the output.

The whole interface updates as you type. There is no submit button, no server round-trip, and no upload, every byte is processed in your browser.

The ASCII Standard, What It Actually Defines

ASCII (American Standard Code for Information Interchange) is a 7-bit character encoding that maps the integers 0 through 127 to letters, digits, punctuation, and a set of control characters. The standard was first published as ASA X3.4-1963 by the American Standards Association, revised through ANSI X3.4-1986, and adopted internationally as ISO/IEC 646 (1991). The first 128 code points of the Unicode standard are identical to ASCII, so a true Unicode-aware decoder reading ASCII bytes will produce the same characters this tool does.

The 128 ASCII code points split into three groups:

  • Control characters (0 to 31 and 127): NUL (0), SOH (1), STX (2), ETX (3), EOT (4), ENQ (5), ACK (6), BEL (7, the bell), BS (8, backspace), HT (9, tab), LF (10, line feed), VT (11), FF (12), CR (13, carriage return), SO (14), SI (15), DLE (16), DC1-DC4 (17 to 20), NAK (21), SYN (22), ETB (23), CAN (24), EM (25), SUB (26), ESC (27), FS (28), GS (29), RS (30), US (31), and DEL (127). These were designed for early teletype and data-terminal equipment; modern text files contain only a handful (TAB, LF, and CR being the most common).
  • Printable characters (32 to 126): the space character at 32, the digits 0-9 at 48 to 57, the uppercase alphabet A-Z at 65 to 90, the lowercase alphabet a-z at 97 to 122, and the visible punctuation symbols (33 to 47, 58 to 64, 91 to 96, 123 to 126).
  • DEL (127): technically a control character, but visually a "delete" symbol.

The decoder marks control characters separately so you can see at a glance which codes will not render visibly in the output. Printable characters are flagged green; control characters are flagged separately and the count of each appears in the summary panel.

How the Decoder Works

The decoding pipeline is short and explicit. The input string is split on the chosen separator; each non-empty token is trimmed and any 0x / 0b prefix is stripped (case-insensitive). The remaining string is parsed as a number in the chosen base (10, 16, 8, or 2) using JavaScript's parseInt. The resulting integer is checked against the ASCII range 0 to 127; valid integers are converted to characters with String.fromCharCode and appended to the output. Invalid tokens (non-numeric, out of range, or empty after trimming) are added to an "Issues" list that appears below the result so you can see exactly which inputs failed and why.

This design is deliberate: the decoder never silently drops a token. If your input has 20 valid codes and 1 unparseable token, you get 20 characters of decoded text plus an issue saying "Token X is not a valid base-N number." That is the diagnostic you want when debugging a hex dump or a malformed protocol stream.

Worked Examples

Example 1, Decimal to text

Input: 72 101 108 108 111 (decimal, space separator)

Decoded: Hello

Each decimal value is the code point of one character. 72 is the code point of H, 101 is e, 108 is l, 108 is l again, and 111 is o. This is the canonical "Hello World" example used in every ASCII tutorial.

Example 2, Hexadecimal to text

Input: 48 65 6C 6C 6F (hex, space separator)

Decoded: Hello

Each byte is two hex digits. 0x48 is H (the same code point 72 as in Example 1, just written in base 16), 0x65 is e (101), 0x6C is l (108), and 0x6F is o (111). Hex is the standard representation in C, Java, Python, and most modern languages; many debuggers and protocol analysers print hex bytes by default.

Example 3, Binary to text

Input: 1001000 1100101 1101100 1101100 1101111 (binary, space separator)

Decoded: Hello

Each ASCII character fits in 7 bits because the standard was designed for 7-bit teletype equipment. The leading bit of every code point 0 to 127 is 0, which is why an 8-bit byte can hold one ASCII character plus a parity bit for error checking. Modern systems ignore the parity bit; the top bit is just zero.

Example 4, Comma-separated with prefixes

Input: 0x41, 0x42, 0x43 (hex, comma separator)

Decoded: ABC

The 0x prefix is stripped automatically before parsing. This is the format used by many programming-language byte-string literals (Python: b'\x41\x42\x43', Java: new byte[]{0x41, 0x42, 0x43}, Go: []byte{0x41, 0x42, 0x43}).

Example 5, Out-of-range flag

Input: 200 65 66 (decimal, space separator)

Decoded: AB

200 is outside the ASCII range (0 to 127), so the decoder flags it as an issue ("200 outside ASCII range (0-127)") and continues parsing the remaining tokens. 65 is A and 66 is B. The output still appears; the offending token is reported, not silently dropped or wrongly interpreted as รˆ (the Unicode character at code point 200).

Where ASCII Decoding Shows Up

ASCII decoding is a daily operation in software engineering, networking, and digital forensics. The most common contexts:

  • Hex dump inspection. Tools like xxd, hexdump, and the Wireshark hex pane show every byte as a two-digit hex number with the printable-ASCII interpretation on the right. When you see 48 65 6C 6C 6F on the left and Hello on the right, you are doing exactly what this tool does.
  • Network protocol debugging. HTTP headers, SMTP messages, telnet sessions, and database wire protocols all transmit printable ASCII. When a header looks malformed (User-Agent: Mozilla/5.0... showing up as garbage characters), the bug is almost always an encoding mismatch at one end.
  • Source code and configuration. Every .txt, .json, .csv, .yaml, .html, and .js file is a stream of bytes whose first 128 positions are ASCII. Even binary file formats (PNG, ELF, MP4) start with a printable-ASCII magic number ("PNG", ".ELF", "ftyp") so the file type can be identified at a glance.
  • Cryptography and hashing. A SHA-256 hash is 32 bytes of binary data, but it is conventionally printed as 64 hex digits. Decoding those digits as hex bytes and then as ASCII is one way to compare two hashes for visual identity.
  • Forensics and reverse engineering. When an investigator recovers a memory image or a deleted file, they look at the byte stream and try to identify structure, strings of printable ASCII often stand out against random binary noise. Decoding byte sequences is the first step.
  • Educational use. Programming courses, digital-electronics labs, and computer-science textbooks all use ASCII decoding to teach character sets, byte arithmetic, and encoding fundamentals.

Common Mistakes When Decoding ASCII

The most common pitfalls when converting numeric code streams back to text:

  • Confusing code point with byte. The code point for A is 65 in ASCII and in Unicode, but the UTF-8 byte is also 0x41 (still one byte because it is below 128). Code points above 127 become 2, 3, or 4 UTF-8 bytes. This tool strictly interprets ASCII (0 to 127); for Unicode you need a UTF-8 decoder.
  • Treating control characters as printable. \n (line feed, code point 10), \t (horizontal tab, code point 9), and \r (carriage return, code point 13) are control characters that the decoder flags separately. If your output looks "too short" or "missing characters," check the control-character count; the bytes are there, they just do not render visibly.
  • Mixing bases in one stream. Some log formats print hex values (0x41) next to decimal values (65) with no visual distinction. Always pick one base per stream, this tool does not auto-detect the base for each token because the detection is ambiguous (e.g. 42 could be decimal 42 or hex 0x42).
  • Forgetting the leading-zero padding. 0x05 and 0x5 are the same code point (5) but different byte representations. If you are aligning output for a hex dump, pad each byte to two hex digits.
  • Confusing ASCII with Latin-1 or Windows-1252. Latin-1 (ISO-8859-1) and Windows-1252 are 8-bit encodings that extend ASCII into the 128 to 255 range with accented letters and typographic punctuation. The same byte values decode to different characters depending on the code page. If you need byte-level interpretation of values above 127, pick a code page explicitly; if you need Unicode interpretation, use a UTF-8 decoder.

Frequently Asked Questions

Q: What is the difference between ASCII and Unicode? A: ASCII is a 7-bit standard defining 128 code points (0 to 127). Unicode is a superset that defines over 150,000 code points covering every writing system in active use. The first 128 Unicode code points are identical to ASCII, so any ASCII text is also valid Unicode text. The reverse is not true: a Unicode string containing a code point above 127 cannot be decoded by a strict ASCII decoder.

Q: Does this tool handle extended ASCII (codes 128-255)? A: No. This tool strictly interprets the original 7-bit ASCII standard. Codes above 127 are flagged as out-of-range in the Issues panel. If you need to decode byte values in the 128 to 255 range, choose a single-byte code page such as Latin-1 (ISO-8859-1) or Windows-1252 explicitly; if you need true Unicode interpretation, pipe your bytes through a UTF-8 decoder.

Q: Why does the decoder reject my hex code 0x80? A: 0x80 is 128 in decimal, which is one above the ASCII range. The standard was designed for 7-bit equipment and stops at 127. To decode bytes 128 to 255, you need an 8-bit code page decoder (Latin-1, Windows-1252, or UTF-8 for variable-width encoding).

Q: Can I paste a continuous string of bytes with no separator? A: No. Without a separator, the decoder cannot tell where one code point ends and the next begins. Hex bytes 48656C6C6F could be the five bytes 48 65 6C 6C 6F ("Hello") or the ten hex digits 48 65 6C 6C 6F interpreted differently. Always include at least one separator (whitespace or comma) between codes.

Q: Does the case of hex digits matter? A: No. The decoder accepts both uppercase (0x4A) and lowercase (0x4a) hex digits and treats them identically. The 0x prefix itself is also case-insensitive (0X4A works the same way).

Q: Why is my binary input being rejected as "not a valid base-2 number"? A: Binary codes must contain only the digits 0 and 1. The letter O (capital o), the digit 0 followed by x (0x), or any punctuation will fail to parse. Verify that your input contains only 0s and 1s and no leading whitespace within a single token.

Q: Can I decode Unicode code points like รฉ (233) or รฑ (241)? A: Not with this tool. Those code points are above 127 and are outside the strict ASCII range. For Unicode decoding, use a UTF-8 tool: a single Unicode character may be encoded as 2, 3, or 4 bytes, and the byte-to-character mapping follows the UTF-8 standard (RFC 3629), not ASCII.

Q: How does the separator dropdown handle "no separator"? A: Selecting "No separator (single value)" tells the decoder to parse the entire input as a single number in the chosen base. This is useful for converting a single 7-bit ASCII code (e.g. 65 โ†’ A) without any extra characters. It is NOT suitable for multi-character input.

Q: Can the Ascii To Text be used for professional or commercial purposes?s? A: Yes, the Ascii To Text provides mathematically correct results that are suitable for professional, commercial, and educational use. For the Ascii To Text, For the Ascii To Text, For high-stakes applications (medical, legal, financial), verify results with a domain expert. For the Ascii To Text, the Ascii To Text formulas used are well-established and validated against reference standards.

How often are the Ascii To Text formulas updated? For the Ascii To Text, A: the Ascii To Text formulas are based on established scientific, mathematical, or industry-standard references and rarely require updates. When standards change (e.g., new physical constants, revised tax brackets, updated standards), the Ascii To Text is updated to reflect the current authoritative source. For the Ascii To Text, Each calculator's references section lists the specific sources used.

References

  • American National Standards Institute. ANSI X3.4-1986, Information Systems, Coded Character Sets, 7-Bit American National Standard Code for Information Interchange (7-Bit ASCII). New York: ANSI, 1986.
  • International Organization for Standardization. ISO/IEC 646:1991, Information technology, ISO 7-bit coded character set for information interchange. Geneva: ISO, 1991.
  • Cerf, V. G. RFC 20, ASCII Format for Network Interchange. IETF, May 1969. https://www.rfc-editor.org/rfc/rfc20
  • The Unicode Consortium. The Unicode Standard, Version 15.0, Chapter 2: General Structure. Mountain View: Unicode, 2022.
  • Kernighan, B. W., and D. M. Ritchie. The C Programming Language, 2nd ed., ยง2.3 (Constants) and ยง6 (Structures). Englewood Cliffs: Prentice Hall, 1988.
  • Stevens, W. R. TCP/IP Illustrated, Volume 1: The Protocols, 2nd ed., ยง1.2 (A Simple Daytime Client) and ยง17 (TCP/IP Applications). Addison-Wesley, 2011.