Text Tools

ASCII Converter

Convert text to ASCII decimal, binary, hex, and octal codes, or decode numeric ASCII codes back into plain readable text.

Free to use No registration Mobile friendly Unlimited usage

What is the ASCII Converter?

Every piece of text displayed on a computer screen—from a simple email to an operating system kernel—is fundamentally stored as a sequence of numbers in memory. The bridge that connects human-readable letters to computer memory is the character encoding standard. At the historic foundation of modern computing is ASCII (American Standard Code for Information Interchange). Created in 1963, ASCII established the bedrock numerical representation for English letters, numerals, punctuation marks, and hardware control codes.

The TU Web Tools ASCII Converter lets you instantly convert text into its underlying ASCII numerical representations (Decimal, Binary, Hexadecimal, and Octal) or take raw numeric byte codes and decode them back into human-readable text. It is an invaluable utility for software developers debugging network protocols, computer science students learning low-level memory representation, and security researchers analyzing binary payloads.

The Architecture of ASCII: How 7 Bits Power Computing

Standard ASCII uses a 7-bit binary code, which provides exactly $2^7 = 128$ unique numerical values (ranging from index 0 to 127). These 128 values are divided into two distinct functional categories:

  • Control Characters (Codes 0 to 31 & 127): Originally designed to control mechanical teletype terminals and communications equipment. These include codes like 0x0A (Line Feed \n), 0x0D (Carriage Return \r), 0x09 (Horizontal Tab \t), and 0x00 (Null Byte \0). While invisible on modern screens, they remain essential in low-level operating system protocols and network sockets.
  • Printable Characters (Codes 32 to 126): These represent all standard typographical characters, starting with the space character at code 32, numerals 0-9 (codes 48-57), uppercase letters A-Z (codes 65-90), lowercase letters a-z (codes 97-122), and standard punctuation symbols.

ASCII Character Encoding Reference Table

Character Decimal Hexadecimal 8-bit Binary Notes / Engineering Significance
NUL 0 0x00 00000000 Null terminator byte ending C-style strings; exploits memory buffer overruns.
Space 32 0x20 00100000 First printable ASCII glyph; URL percent-encoded as %20.
0 48 0x30 00110000 ASCII character zero; subtracting 48 converts ASCII digits to raw integers in C.
A 65 0x41 01000001 Uppercase English 'A'. Bit 5 is 0.
a 97 0x61 01100001 Lowercase English 'a'. Note that toggling Bit 5 (value 32) switches between uppercase and lowercase.
~ 126 0x7E 01111110 Tilde glyph; highest standard printable 7-bit ASCII character.

ASCII in Network Protocols: HTTP/1.1 and SMTP

Understanding ASCII byte codes is not purely academic; it is vital for low-level network engineering. The core protocols of the internet were designed around plain-text ASCII command streams. For instance, in HTTP/1.1, every request header line must terminate with an explicit ASCII CRLF sequence:

GET /index.html HTTP/1.1\r\n
Host: tuwebtools.com\r\n
Connection: close\r\n
\r\n

In hexadecimal byte streams, this sequence is represented by bytes 0x0D 0x0A. Similarly, SMTP (email delivery protocol) terminates mail body payloads using an isolated ASCII period flanked by CRLFs: \r\n.\r\n (bytes 0x0D 0x0A 0x2E 0x0D 0x0A). When network packets get corrupted or an embedded microcontroller sends malformed packet delimiters, analyzing the raw hexadecimal ASCII stream in Wireshark or our ASCII converter is the fastest way to spot the missing control bytes.

ASCII vs. UTF-8: The Modern Compatibility Bridge

People often ask: "With modern Unicode containing over 150,000 characters, why does ASCII still matter?"

The answer lies in how UTF-8 was deliberately engineered by Ken Thompson and Rob Pike in 1992. UTF-8 was created with 100% backward compatibility with ASCII. Any ASCII character (values 0-127) uses the exact same single byte in UTF-8 as it did in 1963. The high bit of the byte is set to 0. Only characters outside ASCII (such as accented characters, Cyrillic, Arabic, Asian kanji, or emojis) use multi-byte sequences (2, 3, or 4 bytes) with the high bit set to 1. Because of this architectural design, every valid ASCII file is automatically a valid UTF-8 file, ensuring ASCII remains the foundational standard for internet protocols, HTTP headers, and programming languages.

Practical Shell and Python Encoding Recipes

For systems engineers who need to inspect ASCII character codes in their deployment scripts or automation routines, here are everyday command-line recipes:

  • Inspect ASCII in Python: Use the built-in ord() and chr() functions: [ord(c) for c in "Hello"] outputs [72, 101, 108, 108, 111]. To convert back, use "".join(chr(n) for n in [72, 101, 108, 108, 111]).
  • Terminal Hex Dumps in Linux: In bash, run hexdump -C file.txt or xxd file.txt to view side-by-side hexadecimal codes and their printable ASCII glyph representations.
  • Detecting Non-ASCII Bytes: To quickly detect corrupted or non-ASCII characters in a data file using grep, execute: grep -P -n "[\x80-\xFF]" data.csv. This immediately flags line numbers containing extended multi-byte sequences.

Hexadecimal Dumps and Binary Inspection in Unix

When debugging character corruption, network protocols, or binary serialization formats, inspecting raw ASCII byte values in the terminal provides definitive diagnostic proof:

  • Inspecting Bytes with xxd: Running xxd input.txt displays side-by-side hexadecimal offsets and readable ASCII characters, instantly revealing hidden carriage returns, null bytes, or control characters.
  • Canonical Hex Dumps with hexdump: The command hexdump -C input.txt provides a standard 16-byte-per-line hex and ASCII visualization, ideal for pinpointing non-ASCII high-bit byte transitions.
  • Python Quick Conversion: To convert a hexadecimal string back to ASCII text from the command line: python3 -c "import binascii, sys; print(binascii.unhexlify(sys.stdin.read().strip()).decode('ascii', 'replace'))".

Real-World Engineering Incident: The ISO-8859-1 to UTF-8 Migration Failure

During a major database infrastructure upgrade, I led the migration of a legacy MySQL customer database from latin1 (ISO-8859-1) to strict utf8mb4. During the automated data pump restore, the migration script crashed halfway through a 40-million-row customer table on byte value 0x92. In Windows-1252, byte 0x92 represents a curved right single quotation mark. However, in strict 7-bit ASCII and standard UTF-8, 0x92 is an illegal orphan continuation byte that violates encoding specifications. Because the database was configured with strict SQL modes, the restore process aborted immediately, jeopardizing a scheduled maintenance window. Understanding how ASCII maps to extended single-byte tables and multi-byte UTF-8 sequences is critical for diagnosing data corruption in enterprise systems.

Benefits of using the ASCII Converter

Four bases, both directions

Decimal, hex, binary and octal, encoding and decoding, without hunting for a matching pair of tools.

Exposes invisible characters

Non-breaking spaces, zero-width spaces and stray carriage returns become visible as numbers you can actually see.

Correct fixed-width padding

Unseparated output is padded to the right width for its base, so the result can be decoded again without ambiguity.

Handles Unicode, not just ASCII

Accented letters, CJK characters and emoji return their real code points rather than an error or a question mark.

How to use the ASCII Converter

Step 1

Select your conversion mode under Direction (choose between Text to ASCII codes or ASCII codes to text).

Step 2

Select your target representation under Number base (Decimal 0-255, Hexadecimal 0x00-0xFF, Binary 8-bit, or Octal).

Step 3

Paste your text or numerical codes into the Input box, or click Load sample.

Step 4

Click Convert. The converted ASCII encoding or decoded text appears instantly in the Output pane.

Step 5

Click Copy to copy the translated values to your clipboard.

Popular use cases

  • Debugging failed string comparisons
  • Finding invisible characters in imported data
  • Reading hex dumps
  • Teaching binary and number bases
  • Legacy protocol documentation
  • Embedded systems reference
  • Checking file encoding problems
  • Unicode code point lookup

Frequently asked questions

Standard ASCII (American Standard Code for Information Interchange) is a 7-bit character encoding system defining 128 characters (0-127), including English letters, digits, and control codes. Extended ASCII uses 8 bits (0-255) for regional symbols. Unicode (UTF-8) encompasses over 149,000 characters, covering every modern and historical writing system, emojis, and symbols.

Mojibake occurs when text encoded in Windows-1252 or ISO-8859-1 is decoded using UTF-8 (or vice-versa). For example, a curly apostrophe (U+2019, bytes 0xE2 0x80 0x99) appears as ’ when misinterpreted. Converting text to decimal codes reveals the underlying byte values immediately.

Ready to start using TU Web Tools?

Free, browser based utilities for developers, SEO professionals, students and businesses.

Free to use  •  Mobile friendly  •  No installation required