ASCII Character Table
ReferenceQuick reference for the 128 standard ASCII (0–127) code points: decimal, hex, glyph, name and C-style escapes, with search.
| Dec | Hex | Char | Name | Escape | Category |
|---|
On this page
What is an ASCII character reference?#
ASCII is the 7-bit character set that underpins practically every text format on the web. It defines exactly 128 code points — the numbers 0 through 127 — and assigns each one a meaning: a printable glyph (letters, digits, punctuation), a control signal (tab, line feed, escape, the bell that once rang a physical bell on a teletype), or the space character in between. Every byte whose value is under 128 is an ASCII character, and because UTF-8 was deliberately designed to overlap ASCII for the first 128 code points, an ASCII-only document is automatically a valid UTF-8 document. That is why the letters on this page, the keys on your keyboard, and the bytes of a JSON file are all, at bottom, ASCII.
Despite being tiny, ASCII is full of details developers keep needing: what is the decimal code of a space (32), what is the hex of the Escape key (1B), which C escape writes a tab (\t), where the printable range starts and ends. This page is a searchable table of all 128 code points with their decimal value, hex value, glyph, name, C-style escape, and category.
How to use it#
- Search the way you remember it. The search box accepts several forms, tried most-specific first:
- Hex with a prefix or suffix —
0x41or41hmatches by hex code point (prefix matches allowed, so0x4lists every code point starting with 4). - Plain decimal —
65jumps to that exact code point. - A single character — type
Aand you get code point 65 (case-sensitive, soAandaare different rows). - A word —
tab,escape,nullmatches against the name, glyph, or escape string.
- Hex with a prefix or suffix —
- Read the row. Columns are Dec (decimal code point), Hex (two-digit hex), Char (the literal glyph, blank for non-printable controls), Name (the standard name such as “Line Feed”), Escape (the C-style form if one exists, like
\n), and Category (control,whitespace, orprintable).
Key features#
- All 128 code points. The full 7-bit range, 0 through 127 — nothing omitted, nothing extra.
- Three categories that match how the spec splits it. The 32 control characters (0–31) plus DEL (127), the single whitespace character (space, 32), and the 94 printable characters (33–126) — color-coded by category so the structure is visible at a glance.
- C-style escapes where they exist.
\0,\a,\b,\t,\n,\v,\f,\r,\efor the controls that have a dedicated form;\sfor space;\x7Ffor DEL. Useful when you need the escape rather than the number. - Flexible search. Decimal, hex (with
0xorh), single character, or free text — whichever form you happen to have in hand. - Runs offline, in the browser. The whole table ships with the page; filtering is instant and local.
Worked example#
A few everyday lookups, all found through search:
- Capital A — search
A, or65, or0x41. The row reads: Dec 65, Hex 41, CharA, NameA, Escape (blank, since printable characters have no C escape), Categoryprintable. - Tab — search
tab, or9, or\t(the free-text pass matches the escape string). Dec 9, Hex 09, Char blank (a control, not printable), NameHorizontal Tab, Escape\t, Categorycontrol. - Line feed (newline) — search
10orLine Feed. Dec 10, Hex 0A, Escape\n. Its neighbor at 13 isCarriage Return(\r); together they explain the\r\nversus\nline-ending question (see the FAQ). - Escape key — search
Escapeor27. Dec 27, Hex 1B, Escape\e.
A note on the ranges: the printable characters run from 32 (space) through 126 (the tilde ~). The 32 codes below space (0–31) and code 127 (Delete) are control characters — they do not print a glyph; they signal something to the terminal or text stream. Knowing that boundary is the single most useful ASCII fact: any byte from 32 to 126 is a visible (or space) character, anything below 32 or at 127 is a control.
FAQ#
Why are there only 128 characters?#
ASCII was designed as a 7-bit code, and 2 to the power of 7 is 128 — that is the entire range, 0 through 127. Characters outside this set (accented letters, Cyrillic, CJK, emoji) are not ASCII; they belong to extended sets like Latin-1 or, on the modern web, to Unicode encoded as UTF-8. Conveniently, UTF-8 encodes the first 128 code points identically to ASCII, so pure-ASCII text is valid UTF-8 for free.
\r\n or \n — which is the newline?#
Both exist, and they are different code points. \n is line feed (decimal 10); \r is carriage return (decimal 13). Windows follows the old teletype convention and uses both together (\r\n) to end a line; Unix and modern Mac use just \n. This is why a Windows text file opened in a strict Unix editor can show ^M artifacts at line ends, and why Git has core.autocrlf settings at all.
What is the difference between 0x41 and 41h?#
Nothing — they are two common notations for the same hex number. 0x41 is the C/Java/JavaScript prefix style; 41h is the assembly-language suffix style. This reference accepts either, with or without further characters, so you can paste whichever form your source uses.
What is code point 0?#
It is Null — the all-zeros byte. In C it terminates strings (the “null terminator”); in many protocols it is reserved or forbidden; as a character it prints nothing and the table lists it under control with escape \0. It is distinct from the digit zero (decimal 48) and from the space character (decimal 32), which is a common source of confusion.