ASCII
ASCII is the first character-encoding scheme used between computers on the Internet. See the full table of characters and HTML entity codes.
ASCII, the acronym for the "American Standard Code for Information Interchange," is the first character-encoding scheme used between computers on the Internet. This page is a reference: it lists every ASCII character together with the HTML numeric character reference (for example A for A) you can use to insert it.
Modern character encoding schemes like UTF-8 and ISO-8859 are backward-compatible with ASCII.
When Do You Actually Need ASCII Codes?
In modern HTML you declare the encoding once with <meta charset="UTF-8"> in the <head>. Once UTF-8 is in effect, you can type letters, digits, punctuation, and even accented or non-Latin characters directly in your source file — there is no need to replace A with A. Numeric ASCII references are mostly useful in three situations:
- Reserved markup characters.
<,>,&, and"have special meaning in HTML. To show them as literal text you must escape them, e.g.<(or the named entity<) for<. - Invisible or ambiguous characters. A non-breaking space (
 / ) or other whitespace you can't tell apart by looking at the source. - Tooling that can't emit UTF-8. Older systems or generators that only output 7-bit ASCII.
There are two equivalent ways to write any code point as an entity:
- Decimal:
&(the number is the character's ASCII/Unicode value). - Hexadecimal:
&(same character, value written in base 16, with anxprefix).
For the handful of reserved characters, named entities such as <, >, &, and " are usually preferred because they read more clearly. See HTML Entities for the full named-entity reference, and UTF-8 Encoding for characters beyond the 128-character ASCII range.
The ASCII Character Set
The ASCII character set was designed in the 1960s as a standard for computers and hardware devices, such as printers and tape drives.
Originally, ASCII was based on the English alphabet. It is a 7-bit character set containing 128 characters: the numbers 0–9, uppercase and lowercase English letters A–Z, basic punctuation symbols, and special characters.
Most character sets used in modern computers, HTML, and the Internet are backward-compatible with ASCII.
Below is a table listing the 128 ASCII characters and their equivalent HTML entity codes.
ASCII Printable Characters
| ASCII Character | HTML Entity Code | Description |
|---|---|---|
| space | ||
| ! | ! | exclamation mark |
| " | " | quotation mark |
| # | # | number sign |
| $ | $ | dollar sign |
| % | % | percent sign |
| & | & | ampersand |
| ' | ' | apostrophe |
| ( | ( | left parenthesis |
| ) | ) | right parenthesis |
| * | * | asterisk |
| + | + | plus sign |
| , | , | comma |
| - | - | hyphen |
| . | . | period |
| / | / | slash |
| 0 | 0 | digit 0 |
| 1 | 1 | digit 1 |
| 2 | 2 | digit 2 |
| 3 | 3 | digit 3 |
| 4 | 4 | digit 4 |
| 5 | 5 | digit 5 |
| 6 | 6 | digit 6 |
| 7 | 7 | digit 7 |
| 8 | 8 | digit 8 |
| 9 | 9 | digit 9 |
| : | : | colon |
| ; | ; | semicolon |
| < | < | less-than |
| = | = | equals-to |
| > | > | greater-than |
| ? | ? | question mark |
| @ | @ | at sign |
| A | A | uppercase A |
| B | B | uppercase B |
| C | C | uppercase C |
| D | D | uppercase D |
| E | E | uppercase E |
| F | F | uppercase F |
| G | G | uppercase G |
| H | H | uppercase H |
| I | I | uppercase I |
| J | J | uppercase J |
| K | K | uppercase K |
| L | L | uppercase L |
| M | M | uppercase M |
| N | N | uppercase N |
| O | O | uppercase O |
| P | P | uppercase P |
| Q | Q | uppercase Q |
| R | R | uppercase R |
| S | S | uppercase S |
| T | T | uppercase T |
| U | U | uppercase U |
| V | V | uppercase V |
| W | W | uppercase W |
| X | X | uppercase X |
| Y | Y | uppercase Y |
| Z | Z | uppercase Z |
| [ | [ | left square bracket |
| \ | \ | backslash |
| ] | ] | right square bracket |
| ^ | ^ | caret |
| _ | _ | underscore |
| ` | ` | grave accent |
| a | a | lowercase a |
| b | b | lowercase b |
| c | c | lowercase c |
| d | d | lowercase d |
| e | e | lowercase e |
| f | f | lowercase f |
| g | g | lowercase g |
| h | h | lowercase h |
| i | i | lowercase i |
| j | j | lowercase j |
| k | k | lowercase k |
| l | l | lowercase l |
| m | m | lowercase m |
| n | n | lowercase n |
| o | o | lowercase o |
| p | p | lowercase p |
| q | q | lowercase q |
| r | r | lowercase r |
| s | s | lowercase s |
| t | t | lowercase t |
| u | u | lowercase u |
| v | v | lowercase v |
| w | w | lowercase w |
| x | x | lowercase x |
| y | y | lowercase y |
| z | z | lowercase z |
| { | { | left curly brace |
| | | | | vertical bar |
| } | } | right curly brace |
| ~ | ~ | tilde |
ASCII Device Control Characters
The ASCII device control characters (except horizontal tab, line feed, and carriage return) are rarely used in HTML documents. Originally, ASCII control characters (range 0–31, plus 127) were designed to control hardware devices.
Note: Write these codes without leading zeros — the decimal references are
�through	, not�/	. The equivalent hexadecimal form (e.g.	for a tab) may pad with a zero, but the decimal form should not. These control characters are non-printing: most of them produce no visible output in a browser, so they are listed here for completeness rather than for everyday use.
| ASCII Character | HTML Entity Code | Description |
|---|---|---|
| NUL | � | null character |
| SOH | � | start of header |
| STX | � | start of text |
| ETX | � | end of text |
| EOT | � | end of transmission |
| ENQ | � | enquiry |
| ACK | � | acknowledge |
| BEL | � | bell (ring) |
| BS | � | backspace |
| HT | horizontal tab | |
| LF | line feed | |
| VT | � | vertical tab |
| FF | form feed | |
| CR | carriage return | |
| SO | � | shift out |
| SI | � | shift in |
| DLE | � | data link escape |
| DC1 | � | device control 1 |
| DC2 | � | device control 2 |
| DC3 | � | device control 3 |
| DC4 | � | device control 4 |
| NAK | � | negative acknowledge |
| SYN | � | synchronize |
| ETB | � | end transmission block |
| CAN | � | cancel |
| EM | � | end of medium |
| SUB | � | substitute |
| ESC | � | escape |
| FS | � | file separator |
| GS | � | group separator |
| RS | � | record separator |
| US | � | unit separator |
| DEL | � | delete (rubout) |
DEL (code 127) is also a non-printing control character — it was historically used to erase a character on punched tape, not to display anything.
Practical Usage Example
The cases where references really earn their keep are the reserved markup characters. Below, " lets you put a literal quotation mark inside a double-quoted attribute value, and </> show literal angle brackets in content without the browser treating them as a tag:
<!-- " (a quote) inside a double-quoted attribute -->
<a href="#" title="The "best" link">Hover me</a>
<!-- < and > render as < and > instead of starting a tag -->
<p>Use the <p> element for paragraphs.</p>
<!-- & (an ampersand) shown as literal text -->
<p>Fish & Chips</p>The same three characters have named equivalents — ", <, >, and & — which most authors prefer for readability:
<a href="#" title="The "best" link">Hover me</a>
<p>Use the <p> element for paragraphs.</p>
<p>Fish & Chips</p>