Summary
What is the ASCII table, in one line?
ASCII (ANSI X3.4) assigns a unique number from 0 to 127 to every standard English letter, digit, punctuation mark, and control signal, and each number has a fixed 8-bit binary form when stored as a byte. This page exists because the guides elsewhere on the site keep quoting individual ASCII values, and it is easier to check a claim like "H is 72" against one table than to hunt it down piecemeal. The rows below cover all 128 values by category: control characters, digits, uppercase and lowercase letters, and punctuation. Every value was generated programmatically (Python chr() / bin() against the standard code points, the same computation behind binary-ascii-reference-2026.csv), not copied from a secondary source, so the figures are exact and reproducible by anyone with a Python interpreter.
ASCII code 72 is 01001000 in binary, ASCII code 32 (space) is 00100000, and ASCII code 33 (!) is 00100001. These three values alone cover the most commonly looked-up conversions and are reproducible from the standard by anyone with a calculator.
Table 1
Control characters (0-31, plus 127)
These 33 codes are not letters or symbols. They are instructions inherited from teleprinter hardware: line feed, carriage return, escape, and similar signals. Most modern software only encounters a handful of them (tab, line feed, carriage return, escape) in everyday use.
| Decimal | Hex | Binary (8-bit) | Name |
|---|---|---|---|
| 0 | 0x00 | 00000000 | NUL |
| 1 | 0x01 | 00000001 | SOH |
| 2 | 0x02 | 00000010 | STX |
| 3 | 0x03 | 00000011 | ETX |
| 4 | 0x04 | 00000100 | EOT |
| 5 | 0x05 | 00000101 | ENQ |
| 6 | 0x06 | 00000110 | ACK |
| 7 | 0x07 | 00000111 | BEL |
| 8 | 0x08 | 00001000 | BS |
| 9 | 0x09 | 00001001 | TAB |
| 10 | 0x0A | 00001010 | LF |
| 11 | 0x0B | 00001011 | VT |
| 12 | 0x0C | 00001100 | FF |
| 13 | 0x0D | 00001101 | CR |
| 14 | 0x0E | 00001110 | SO |
| 15 | 0x0F | 00001111 | SI |
| 16 | 0x10 | 00010000 | DLE |
| 17 | 0x11 | 00010001 | DC1 |
| 18 | 0x12 | 00010010 | DC2 |
| 19 | 0x13 | 00010011 | DC3 |
| 20 | 0x14 | 00010100 | DC4 |
| 21 | 0x15 | 00010101 | NAK |
| 22 | 0x16 | 00010110 | SYN |
| 23 | 0x17 | 00010111 | ETB |
| 24 | 0x18 | 00011000 | CAN |
| 25 | 0x19 | 00011001 | EM |
| 26 | 0x1A | 00011010 | SUB |
| 27 | 0x1B | 00011011 | ESC |
| 28 | 0x1C | 00011100 | FS |
| 29 | 0x1D | 00011101 | GS |
| 30 | 0x1E | 00011110 | RS |
| 31 | 0x1F | 00011111 | US |
| 127 | 0x7F | 01111111 | DEL |
Table 2
Digits (48-57)
| Decimal | Hex | Binary (8-bit) | Character |
|---|---|---|---|
| 48 | 0x30 | 00110000 | 0 |
| 49 | 0x31 | 00110001 | 1 |
| 50 | 0x32 | 00110010 | 2 |
| 51 | 0x33 | 00110011 | 3 |
| 52 | 0x34 | 00110100 | 4 |
| 53 | 0x35 | 00110101 | 5 |
| 54 | 0x36 | 00110110 | 6 |
| 55 | 0x37 | 00110111 | 7 |
| 56 | 0x38 | 00111000 | 8 |
| 57 | 0x39 | 00111001 | 9 |
Table 3
Uppercase letters (65-90)
Uppercase A through Z occupy a contiguous block. Note that A is 65, not 1 or 0, because the first 32 codes are reserved for control characters and the next several for punctuation.
| Decimal | Hex | Binary (8-bit) | Character |
|---|---|---|---|
| 65 | 0x41 | 01000001 | A |
| 66 | 0x42 | 01000010 | B |
| 67 | 0x43 | 01000011 | C |
| 68 | 0x44 | 01000100 | D |
| 69 | 0x45 | 01000101 | E |
| 70 | 0x46 | 01000110 | F |
| 71 | 0x47 | 01000111 | G |
| 72 | 0x48 | 01001000 | H |
| 73 | 0x49 | 01001001 | I |
| 74 | 0x4A | 01001010 | J |
| 75 | 0x4B | 01001011 | K |
| 76 | 0x4C | 01001100 | L |
| 77 | 0x4D | 01001101 | M |
| 78 | 0x4E | 01001110 | N |
| 79 | 0x4F | 01001111 | O |
| 80 | 0x50 | 01010000 | P |
| 81 | 0x51 | 01010001 | Q |
| 82 | 0x52 | 01010010 | R |
| 83 | 0x53 | 01010011 | S |
| 84 | 0x54 | 01010100 | T |
| 85 | 0x55 | 01010101 | U |
| 86 | 0x56 | 01010110 | V |
| 87 | 0x57 | 01010111 | W |
| 88 | 0x58 | 01011000 | X |
| 89 | 0x59 | 01011001 | Y |
| 90 | 0x5A | 01011010 | Z |
Table 4
Lowercase letters (97-122)
Lowercase a through z sit exactly 32 above their uppercase counterparts (a is 97, A is 65). That 32-value gap is a single bit position, which is why toggling case in software is a one-bit flip rather than a lookup.
| Decimal | Hex | Binary (8-bit) | Character |
|---|---|---|---|
| 97 | 0x61 | 01100001 | a |
| 98 | 0x62 | 01100010 | b |
| 99 | 0x63 | 01100011 | c |
| 100 | 0x64 | 01100100 | d |
| 101 | 0x65 | 01100101 | e |
| 102 | 0x66 | 01100110 | f |
| 103 | 0x67 | 01100111 | g |
| 104 | 0x68 | 01101000 | h |
| 105 | 0x69 | 01101001 | i |
| 106 | 0x6A | 01101010 | j |
| 107 | 0x6B | 01101011 | k |
| 108 | 0x6C | 01101100 | l |
| 109 | 0x6D | 01101101 | m |
| 110 | 0x6E | 01101110 | n |
| 111 | 0x6F | 01101111 | o |
| 112 | 0x70 | 01110000 | p |
| 113 | 0x71 | 01110001 | q |
| 114 | 0x72 | 01110010 | r |
| 115 | 0x73 | 01110011 | s |
| 116 | 0x74 | 01110100 | t |
| 117 | 0x75 | 01110101 | u |
| 118 | 0x76 | 01110110 | v |
| 119 | 0x77 | 01110111 | w |
| 120 | 0x78 | 01111000 | x |
| 121 | 0x79 | 01111001 | y |
| 122 | 0x7A | 01111010 | z |
Table 5
Punctuation and symbols
| Decimal | Hex | Binary (8-bit) | Character |
|---|---|---|---|
| 32 | 0x20 | 00100000 | Space |
| 33 | 0x21 | 00100001 | ! |
| 34 | 0x22 | 00100010 | " |
| 35 | 0x23 | 00100011 | # |
| 36 | 0x24 | 00100100 | $ |
| 37 | 0x25 | 00100101 | % |
| 38 | 0x26 | 00100110 | & |
| 39 | 0x27 | 00100111 | ' |
| 40 | 0x28 | 00101000 | ( |
| 41 | 0x29 | 00101001 | ) |
| 42 | 0x2A | 00101010 | * |
| 43 | 0x2B | 00101011 | + |
| 44 | 0x2C | 00101100 | , |
| 45 | 0x2D | 00101101 | - |
| 46 | 0x2E | 00101110 | . |
| 47 | 0x2F | 00101111 | / |
| 58 | 0x3A | 00111010 | : |
| 59 | 0x3B | 00111011 | ; |
| 60 | 0x3C | 00111100 | < |
| 61 | 0x3D | 00111101 | = |
| 62 | 0x3E | 00111110 | > |
| 63 | 0x3F | 00111111 | ? |
| 64 | 0x40 | 01000000 | @ |
| 91 | 0x5B | 01011011 | [ |
| 92 | 0x5C | 01011100 | \ |
| 93 | 0x5D | 01011101 | ] |
| 94 | 0x5E | 01011110 | ^ |
| 95 | 0x5F | 01011111 | _ |
| 96 | 0x60 | 01100000 | ` |
| 123 | 0x7B | 01111011 | { |
| 124 | 0x7C | 01111100 | | |
| 125 | 0x7D | 01111101 | } |
| 126 | 0x7E | 01111110 | ~ |
Methodology
Where do these numbers come from?
The values in this table are the standard 7-bit ASCII character set defined by ANSI X3.4 (originally published by the American Standards Association in 1963, revised to its current form in 1968 and reaffirmed by ANSI since), which is identical to the international reference version of ISO/IEC 646. The same 128 code points were carried forward unchanged as U+0000 through U+007F of Unicode, and UTF-8 (specified by Ken Thompson and Rob Pike in 1992, formalized in RFC 3629) encodes them as identical single bytes. Binary values in this table are shown 8-bit, with the unused high bit set to 0, matching how ASCII text is stored in a byte-oriented system.
Every row was generated programmatically this session by computing the decimal, hexadecimal, and binary form of each of the 128 standard code points; nothing was copied from a secondary table. Last verified and published July 2, 2026. This page is scheduled for an annual refresh; if the standard changes, this page changes with it.
BinaryTranslatorTool, “2026 Binary / ASCII Encoding Reference,” binarytranslatortool.com, July 2026.
https://binarytranslatortool.com/binary-ascii-reference-2026
Scope
Things to Know
This table stops at 127 on purpose. That is the full 7-bit ASCII range defined by ANSI X3.4, and it is where the ASCII standard itself ends. Extended character sets such as Windows-1252 or ISO 8859-1 tack on a further 128 values (codes 128 to 255) for accented letters and symbols, but those extensions are not part of ANSI X3.4 and differ from one encoding to the next, so they are deliberately left out here rather than presented as if they were standardized.
The CSV linked above is the same 128-row dataset as the HTML tables on this page, generated together so the two never drift apart. If you spot a mismatch between the CSV and the tables, that is a bug worth reporting on the contact page, not a judgment call to resolve on your own.
FAQ
Why does the table skip straight from 31 to 32?
Codes 0 through 31 (plus 127) are control characters, not printable symbols, so they are grouped separately in Table 1. Code 32 is the space character, the first printable value, which is why Table 2 onward picks up from there.
Is this the same as extended ASCII or Windows-1252?
No. This table stops at 127, the original 7-bit ASCII range defined by ANSI X3.4. Extended sets like Windows-1252 or ISO 8859-1 add a second 128 characters (codes 128 to 255) that are not part of the ANSI X3.4 standard and vary by encoding, so they are not included here.
Can I use this table for Unicode characters outside ASCII?
Not directly. Codes 0 to 127 are identical in ASCII and Unicode, so this table works for those. Anything past 127, an accented letter, an emoji, a non-Latin script, uses a different, longer binary encoding under UTF-8 and needs a separate reference.
For a hands-on walkthrough, see What Is ASCII or use the binary translator directly.
