Skip to content
References 6 min read

The Complete ASCII Table: Decimal, Hex, Binary, Octal & HTML Entities

Complete ASCII and Extended ASCII reference table — decimal, hex, binary, octal values, and HTML entities for every character. Searchable guide for developers working with character encodings.

ToolsVito Team

What ASCII Is

The American Standard Code for Information Interchange (ASCII) defines 128 characters — letters, digits, punctuation, and control codes — mapped to numbers 0–127. Every modern character encoding (UTF-8, ISO-8859, Windows-1252) is backwards-compatible with ASCII in the 0–127 range. When you type 'A' on any keyboard anywhere, the computer stores 65 (0x41). ASCII is the foundation of text representation in computing.

ASCII Table Structure

  • 0–31 (Control characters): Non-printable — NUL, BEL (bell/beep), CR (carriage return), LF (line feed), TAB, ESC. Originally designed for teletype terminals; still used in network protocols (CRLF in HTTP) and file formats.
  • 32–47 (Symbols & punctuation): Space, !"#$%&'()*+,-./ — the non-alphanumeric printable characters.
  • 48–57 (Digits): '0' = 48, '1' = 49, ... '9' = 57. Subtracting 48 from the ASCII code of a digit gives its numeric value — hence '5' - '0' = 5 in C/JavaScript.
  • 58–64 (More symbols): :;<=>?@ — the rest of the non-alphanumeric printable range.
  • 65–90 (Uppercase): 'A' = 65, 'B' = 66, ... 'Z' = 90. Setting bit 5 (adding 32) toggles uppercase to lowercase. A single bit toggles case — this design underpins case-insensitive string comparison.
  • 91–96 (Yet more symbols): [\]^_` — brackets, backslash, caret, underscore, backtick.
  • 97–122 (Lowercase): 'a' = 97, 'b' = 98, ... 'z' = 122. Exactly 32 above uppercase equivalents.
  • 123–127 (Final symbols + DEL): {|}~ plus DEL (127, the "delete" control character).

Extended ASCII & ANSI (128–255)

The range 128–255 is NOT part of ASCII — it's the "high bit" range, and the characters depend on the encoding (ISO-8859-1, Windows-1252, etc.). In UTF-8, bytes 128–255 are part of multi-byte sequences and don't represent standalone characters. A proper reference table distinguishes standard ASCII (0–127) from the encoding-dependent extended range.

When You Need an ASCII Table

  • Debugging character encoding issues: Seeing 0x1F in a dump and needing to know it's the Unit Separator character.
  • Writing parsers: Checking if a byte is in the digit range (48–57) or uppercase range (65–90).
  • Embedding control codes: Using NUL (0) as a string terminator, LF (10) for newlines, TAB (9) for column alignment.
  • HTML entities: Knowing that &#38; is the ampersand character itself.
  • Binary/hex/decimal conversion: Need to know what character hex 0x2F represents. (It's '/').

Browse the Complete ASCII Table

Use ToolsVito's ASCII Table — a searchable, complete ASCII and Extended ASCII reference with decimal, hex, octal, binary, and HTML entity values. All searchable in your browser.

Try it now — free, runs in your browser

ASCII Table

Complete ASCII reference