ASCII Codes Table
Browse a complete ASCII table with control characters, symbols, and codes in decimal, hex, binary, and HTML forms for quick reference.
ASCII Codes Table
| Dec | Hex | Binary | HTML | Char | Description |
|---|---|---|---|---|---|
| 0 | 00 | 00000000 | � | NUL | Null |
| 1 | 01 | 00000001 |  | SOH | Start of Heading |
| 2 | 02 | 00000010 |  | STX | Start of Text |
| 3 | 03 | 00000011 |  | ETX | End of Text |
| 4 | 04 | 00000100 |  | EOT | End of Transmission |
| 5 | 05 | 00000101 |  | ENQ | Enquiry |
| 6 | 06 | 00000110 |  | ACK | Acknowledge |
| 7 | 07 | 00000111 |  | BEL | Bell |
| 8 | 08 | 00001000 |  | BS | Backspace |
| 9 | 09 | 00001001 | 	 | HT | Horizontal Tab |
| 10 | 0A | 00001010 | | LF | Line Feed |
| 11 | 0B | 00001011 |  | VT | Vertical Tab |
| 12 | 0C | 00001100 |  | FF | Form Feed |
| 13 | 0D | 00001101 | | CR | Carriage Return |
| 14 | 0E | 00001110 |  | SO | Shift Out |
| 15 | 0F | 00001111 |  | SI | Shift In |
| 16 | 10 | 00010000 |  | DLE | Data Link Escape |
| 17 | 11 | 00010001 |  | DC1 | Device Control 1 |
| 18 | 12 | 00010010 |  | DC2 | Device Control 2 |
| 19 | 13 | 00010011 |  | DC3 | Device Control 3 |
| 20 | 14 | 00010100 |  | DC4 | Device Control 4 |
| 21 | 15 | 00010101 |  | NAK | Negative Acknowledge |
| 22 | 16 | 00010110 |  | SYN | Synchronize |
| 23 | 17 | 00010111 |  | ETB | End of Transmission Block |
| 24 | 18 | 00011000 |  | CAN | Cancel |
| 25 | 19 | 00011001 |  | EM | End of Medium |
| 26 | 1A | 00011010 |  | SUB | Substitute |
| 27 | 1B | 00011011 |  | ESC | Escape |
| 28 | 1C | 00011100 |  | FS | File Separator |
| 29 | 1D | 00011101 |  | GS | Group Separator |
| 30 | 1E | 00011110 |  | RS | Record Separator |
| 31 | 1F | 00011111 |  | US | Unit Separator |
| 32 | 20 | 00100000 |   | space | Space |
| 33 | 21 | 00100001 | ! | ! | exclamation mark |
| 34 | 22 | 00100010 | " | " | double quote |
| 35 | 23 | 00100011 | # | # | number |
| 36 | 24 | 00100100 | $ | $ | dollar |
| 37 | 25 | 00100101 | % | % | percent |
| 38 | 26 | 00100110 | & | & | ampersand |
| 39 | 27 | 00100111 | ' | ' | single quote |
| 40 | 28 | 00101000 | ( | ( | left parenthesis |
| 41 | 29 | 00101001 | ) | ) | right parenthesis |
| 42 | 2A | 00101010 | * | * | asterisk |
| 43 | 2B | 00101011 | + | + | plus |
| 44 | 2C | 00101100 | , | , | comma |
| 45 | 2D | 00101101 | - | - | minus |
| 46 | 2E | 00101110 | . | . | period |
| 47 | 2F | 00101111 | / | / | slash |
| 48 | 30 | 00110000 | 0 | 0 | zero |
| 49 | 31 | 00110001 | 1 | 1 | one |
| 50 | 32 | 00110010 | 2 | 2 | two |
| 51 | 33 | 00110011 | 3 | 3 | three |
| 52 | 34 | 00110100 | 4 | 4 | four |
| 53 | 35 | 00110101 | 5 | 5 | five |
| 54 | 36 | 00110110 | 6 | 6 | six |
| 55 | 37 | 00110111 | 7 | 7 | seven |
| 56 | 38 | 00111000 | 8 | 8 | eight |
| 57 | 39 | 00111001 | 9 | 9 | nine |
| 58 | 3A | 00111010 | : | : | colon |
| 59 | 3B | 00111011 | ; | ; | semicolon |
| 60 | 3C | 00111100 | < | < | less than |
| 61 | 3D | 00111101 | = | = | equality sign |
| 62 | 3E | 00111110 | > | > | greater than |
| 63 | 3F | 00111111 | ? | ? | question mark |
| 64 | 40 | 01000000 | @ | @ | at sign |
| 65 | 41 | 01000001 | A | A | |
| 66 | 42 | 01000010 | B | B | |
| 67 | 43 | 01000011 | C | C | |
| 68 | 44 | 01000100 | D | D | |
| 69 | 45 | 01000101 | E | E | |
| 70 | 46 | 01000110 | F | F | |
| 71 | 47 | 01000111 | G | G | |
| 72 | 48 | 01001000 | H | H | |
| 73 | 49 | 01001001 | I | I | |
| 74 | 4A | 01001010 | J | J | |
| 75 | 4B | 01001011 | K | K | |
| 76 | 4C | 01001100 | L | L | |
| 77 | 4D | 01001101 | M | M | |
| 78 | 4E | 01001110 | N | N | |
| 79 | 4F | 01001111 | O | O | |
| 80 | 50 | 01010000 | P | P | |
| 81 | 51 | 01010001 | Q | Q | |
| 82 | 52 | 01010010 | R | R | |
| 83 | 53 | 01010011 | S | S | |
| 84 | 54 | 01010100 | T | T | |
| 85 | 55 | 01010101 | U | U | |
| 86 | 56 | 01010110 | V | V | |
| 87 | 57 | 01010111 | W | W | |
| 88 | 58 | 01011000 | X | X | |
| 89 | 59 | 01011001 | Y | Y | |
| 90 | 5A | 01011010 | Z | Z | |
| 91 | 5B | 01011011 | [ | [ | left square bracket |
| 92 | 5C | 01011100 | \ | \ | backslash |
| 93 | 5D | 01011101 | ] | ] | right square bracket |
| 94 | 5E | 01011110 | ^ | ^ | caret / circumflex |
| 95 | 5F | 01011111 | _ | _ | underscore |
| 96 | 60 | 01100000 | ` | ` | grave / accent |
| 97 | 61 | 01100001 | a | a | |
| 98 | 62 | 01100010 | b | b | |
| 99 | 63 | 01100011 | c | c | |
| 100 | 64 | 01100100 | d | d | |
| 101 | 65 | 01100101 | e | e | |
| 102 | 66 | 01100110 | f | f | |
| 103 | 67 | 01100111 | g | g | |
| 104 | 68 | 01101000 | h | h | |
| 105 | 69 | 01101001 | i | i | |
| 106 | 6A | 01101010 | j | j | |
| 107 | 6B | 01101011 | k | k | |
| 108 | 6C | 01101100 | l | l | |
| 109 | 6D | 01101101 | m | m | |
| 110 | 6E | 01101110 | n | n | |
| 111 | 6F | 01101111 | o | o | |
| 112 | 70 | 01110000 | p | p | |
| 113 | 71 | 01110001 | q | q | |
| 114 | 72 | 01110010 | r | r | |
| 115 | 73 | 01110011 | s | s | |
| 116 | 74 | 01110100 | t | t | |
| 117 | 75 | 01110101 | u | u | |
| 118 | 76 | 01110110 | v | v | |
| 119 | 77 | 01110111 | w | w | |
| 120 | 78 | 01111000 | x | x | |
| 121 | 79 | 01111001 | y | y | |
| 122 | 7A | 01111010 | z | z | |
| 123 | 7B | 01111011 | { | { | left curly bracket |
| 124 | 7C | 01111100 | | | | | vertical bar |
| 125 | 7D | 01111101 | } | } | right curly bracket |
| 126 | 7E | 01111110 | ~ | ~ | tilde |
| 127 | 7F | 01111111 |  | DEL | delete |
What this table shows
This is the complete ASCII table, all 128 codes from 0 to 127 in one place. For every code you get the character it stands for, the same code written several ways, in decimal, hex, and binary, the HTML code for putting it on a web page, and a short description. It is meant as a reference you can scan whenever you need to look up what a code is, or which code a character has.
How to read the columns
Each row is one character, shown from several angles so whichever form you have in front of you, you can find it. The Dec column is the code as an ordinary decimal number, the everyday way to refer to a character, where A is 65. The Hex column is that same number in base 16, the form you meet most in programming. The Binary column is the number in base 2, the eight bits a computer actually stores. The HTML column is the code that displays the character safely on a web page. The Char column is the character itself, and the Description names it, which matters most for the codes that have no visible symbol.
Two halves: printable and control
The table really has two natures. The larger, friendlier half is the printable characters, codes 32 to 126: the space, the digits, the capital and lowercase letters, and the punctuation. These are the ones you can see and type, and a few landmarks are worth carrying in your head, since the rest follow from them: a space is 32, the digit 0 is 48, capital A is 65, and lowercase a is 97.
The other half is the control characters, codes 0 to 31 along with 127, and these are the curious ones with names like NUL, BEL, and ESC rather than symbols. They date from the days of teleprinters and were never meant to print. Instead they gave instructions: the two you still meet constantly are carriage return and line feed, the codes that end a line of text. The Description column is there mainly for these, to tell you what each invisible code was for.
Using the codes
A code from this table is the bridge between a character and a number, and you reach for it whenever a task crosses that bridge: working with text in code, building a simple cipher, checking data byte by byte, or placing a character in a web page using its HTML code. If you want to convert a whole piece of text into these codes rather than look them up one at a time, the Text to ASCII tool does that automatically. And it is worth knowing that ASCII is not a dead standard tucked in a corner: the modern system nearly everything uses, UTF-8, was built so its first 128 characters are exactly these, which is why this small table still underpins so much.
Questions people ask
How many ASCII characters are there?
128, numbered 0 to 127. Of those, 95 are printable characters you can see and type, and the rest are control characters that give instructions rather than showing a symbol.
What is a control character?
One of the codes from 0 to 31, plus 127, that was never meant to print. They carry instructions instead, like the carriage return and line feed that end a line of text.
What are the codes for letters and digits?
Capital A to Z run from 65 to 90, lowercase a to z from 97 to 122, and the digits 0 to 9 from 48 to 57. A space is 32.
References
- Cerf, V. (1969). RFC 20: ASCII format for Network Interchange. Internet Engineering Task Force (IETF). https://www.rfc-editor.org/rfc/rfc20
Bhabin Khadka is a software engineer and graduate student at the University of New England with experience in backend development and scalable systems. He has a particular interest in file systems and the kinds of technical utilities that depend on dependable handling of structured data. At Eon Tools, he reviews file and document tools, as well as encode and decode tools.