Skip to main content
AllDevToolsHub

ASCII Table

Every ASCII character from 0 to 127, plus a curated subset of the C1 control range and Latin-1 supplement. Decimal, hex, octal, binary, HTML entity, escape code, with developer notes on each character that actually matters in production.

Categories

Control (C0)Printable: WhitespacePrintable: DigitPrintable: UppercasePrintable: LowercasePrintable: PunctuationPrintable: SymbolControl (C1)Extended (Latin-1)

Full Table (Decimal Order)

DecHexOctBinaryCharNameHTMLEscape
00x0000000000000NULNull�\0
10x0100100000001SOHStart of Heading
20x0200200000010STXStart of Text
30x0300300000011ETXEnd of Text
40x0400400000100EOTEnd of Transmission
50x0500500000101ENQEnquiry
60x0600600000110ACKAcknowledge
70x0700700000111BELBell\a
80x0801000001000BSBackspace\b
90x0901100001001HTHorizontal Tab	\t
100x0A01200001010LFLine Feed
\n
110x0B01300001011VTVertical Tab\v
120x0C01400001100FFForm Feed\f
130x0D01500001101CRCarriage Return
\r
140x0E01600001110SOShift Out
150x0F01700001111SIShift In
160x1002000010000DLEData Link Escape
170x1102100010001DC1Device Control 1 (XON)
180x1202200010010DC2Device Control 2
190x1302300010011DC3Device Control 3 (XOFF)
200x1402400010100DC4Device Control 4
210x1502500010101NAKNegative Acknowledge
220x1602600010110SYNSynchronous Idle
230x1702700010111ETBEnd of Transmission Block
240x1803000011000CANCancel
250x1903100011001EMEnd of Medium
260x1A03200011010SUBSubstitute
270x1B03300011011ESCEscape\e
280x1C03400011100FSFile Separator
290x1D03500011101GSGroup Separator
300x1E03600011110RSRecord Separator
310x1F03700011111USUnit Separator
320x2004000100000Space 
330x2104100100001!Exclamation Mark!
340x2204200100010"Quotation Mark"
350x2304300100011#Number Sign / Hash#
360x2404400100100$Dollar Sign$
370x2504500100101%Percent Sign%
380x2604600100110&Ampersand&
390x2704700100111'Apostrophe'
400x2805000101000(Left Parenthesis(
410x2905100101001)Right Parenthesis)
420x2A05200101010*Asterisk*
430x2B05300101011+Plus Sign+
440x2C05400101100,Comma,
450x2D05500101101-Hyphen-Minus-
460x2E05600101110.Full Stop.
470x2F05700101111/Solidus / Slash/
480x30060001100000Digit 00
490x31061001100011Digit 11
500x32062001100102Digit 22
510x33063001100113Digit 33
520x34064001101004Digit 44
530x35065001101015Digit 55
540x36066001101106Digit 66
550x37067001101117Digit 77
560x38070001110008Digit 88
570x39071001110019Digit 99
580x3A07200111010:Colon:
590x3B07300111011;Semicolon;
600x3C07400111100<Less-Than Sign&lt;
610x3D07500111101=Equals Sign&equals;
620x3E07600111110>Greater-Than Sign&gt;
630x3F07700111111?Question Mark&quest;
640x4010001000000@Commercial At&commat;
650x4110101000001ALatin Capital Letter A&#65;
660x4210201000010BLatin Capital Letter B&#66;
670x4310301000011CLatin Capital Letter C&#67;
680x4410401000100DLatin Capital Letter D&#68;
690x4510501000101ELatin Capital Letter E&#69;
700x4610601000110FLatin Capital Letter F&#70;
710x4710701000111GLatin Capital Letter G&#71;
720x4811001001000HLatin Capital Letter H&#72;
730x4911101001001ILatin Capital Letter I&#73;
740x4A11201001010JLatin Capital Letter J&#74;
750x4B11301001011KLatin Capital Letter K&#75;
760x4C11401001100LLatin Capital Letter L&#76;
770x4D11501001101MLatin Capital Letter M&#77;
780x4E11601001110NLatin Capital Letter N&#78;
790x4F11701001111OLatin Capital Letter O&#79;
800x5012001010000PLatin Capital Letter P&#80;
810x5112101010001QLatin Capital Letter Q&#81;
820x5212201010010RLatin Capital Letter R&#82;
830x5312301010011SLatin Capital Letter S&#83;
840x5412401010100TLatin Capital Letter T&#84;
850x5512501010101ULatin Capital Letter U&#85;
860x5612601010110VLatin Capital Letter V&#86;
870x5712701010111WLatin Capital Letter W&#87;
880x5813001011000XLatin Capital Letter X&#88;
890x5913101011001YLatin Capital Letter Y&#89;
900x5A13201011010ZLatin Capital Letter Z&#90;
910x5B13301011011[Left Square Bracket&lbrack;
920x5C13401011100\Reverse Solidus / Backslash&bsol;\\
930x5D13501011101]Right Square Bracket&rbrack;
940x5E13601011110^Circumflex Accent / Caret&Hat;
950x5F13701011111_Low Line / Underscore&lowbar;
960x6014001100000`Grave Accent / Backtick&grave;
970x6114101100001aLatin Small Letter a&#97;
980x6214201100010bLatin Small Letter b&#98;
990x6314301100011cLatin Small Letter c&#99;
1000x6414401100100dLatin Small Letter d&#100;
1010x6514501100101eLatin Small Letter e&#101;
1020x6614601100110fLatin Small Letter f&#102;
1030x6714701100111gLatin Small Letter g&#103;
1040x6815001101000hLatin Small Letter h&#104;
1050x6915101101001iLatin Small Letter i&#105;
1060x6A15201101010jLatin Small Letter j&#106;
1070x6B15301101011kLatin Small Letter k&#107;
1080x6C15401101100lLatin Small Letter l&#108;
1090x6D15501101101mLatin Small Letter m&#109;
1100x6E15601101110nLatin Small Letter n&#110;
1110x6F15701101111oLatin Small Letter o&#111;
1120x7016001110000pLatin Small Letter p&#112;
1130x7116101110001qLatin Small Letter q&#113;
1140x7216201110010rLatin Small Letter r&#114;
1150x7316301110011sLatin Small Letter s&#115;
1160x7416401110100tLatin Small Letter t&#116;
1170x7516501110101uLatin Small Letter u&#117;
1180x7616601110110vLatin Small Letter v&#118;
1190x7716701110111wLatin Small Letter w&#119;
1200x7817001111000xLatin Small Letter x&#120;
1210x7917101111001yLatin Small Letter y&#121;
1220x7A17201111010zLatin Small Letter z&#122;
1230x7B17301111011{Left Curly Bracket&lbrace;
1240x7C17401111100|Vertical Line / Pipe&vert;
1250x7D17501111101}Right Curly Bracket&rbrace;
1260x7E17601111110~Tilde&tilde;
1270x7F17701111111DELDelete&#127;
1280x8020010000000PADPadding Character&#128;
1330x8520510000101NELNext Line&#133;
1350x8720710000111ESAEnd of Selected Area&#135;
1550x9B23310011011CSIControl Sequence Introducer&#155;
1600xA024010100000 No-Break Space (NBSP)&nbsp;
1610xA124110100001¡Inverted Exclamation Mark&iexcl;
1620xA224210100010¢Cent Sign&cent;
1630xA324310100011£Pound Sign&pound;
1640xA424410100100¤Currency Sign&curren;
1650xA524510100101¥Yen Sign&yen;
1660xA624610100110¦Broken Bar&brvbar;
1670xA724710100111§Section Sign&sect;
1680xA825010101000¨Diaeresis&uml;
1690xA925110101001©Copyright Sign&copy;
1700xAA25210101010ªFeminine Ordinal Indicator&ordf;
1710xAB25310101011«Left-Pointing Double Angle Quote&laquo;
1720xAC25410101100¬Not Sign&not;
1730xAD25510101101­Soft Hyphen&shy;
1740xAE25610101110®Registered Sign&reg;
1750xAF25710101111¯Macron&macr;
1760xB026010110000°Degree Sign&deg;
1770xB126110110001±Plus-Minus Sign&plusmn;
1780xB226210110010²Superscript Two&sup2;
1790xB326310110011³Superscript Three&sup3;
1800xB426410110100´Acute Accent&acute;
1810xB526510110101µMicro Sign&micro;
1820xB626610110110Pilcrow Sign&para;
1830xB726710110111·Middle Dot&middot;
1840xB827010111000¸Cedilla&cedil;
1850xB927110111001¹Superscript One&sup1;
1860xBA27210111010ºMasculine Ordinal Indicator&ordm;
1870xBB27310111011»Right-Pointing Double Angle Quote&raquo;
1880xBC27410111100¼Vulgar Fraction One Quarter&frac14;
1890xBD27510111101½Vulgar Fraction One Half&frac12;
1900xBE27610111110¾Vulgar Fraction Three Quarters&frac34;
1910xBF27710111111¿Inverted Question Mark&iquest;
1920xC030011000000ÀLatin Capital Letter A with Grave&Agrave;
1930xC130111000001ÁLatin Capital Letter A with Acute&Aacute;
1960xC430411000100ÄLatin Capital Letter A with Diaeresis&Auml;
1970xC530511000101ÅLatin Capital Letter A with Ring Above&Aring;
1980xC630611000110ÆLatin Capital Letter AE&AElig;
1990xC730711000111ÇLatin Capital Letter C with Cedilla&Ccedil;
2000xC831011001000ÈLatin Capital Letter E with Grave&Egrave;
2010xC931111001001ÉLatin Capital Letter E with Acute&Eacute;
2090xD132111010001ÑLatin Capital Letter N with Tilde&Ntilde;
2140xD632611010110ÖLatin Capital Letter O with Diaeresis&Ouml;
2160xD833011011000ØLatin Capital Letter O with Stroke&Oslash;
2200xDC33411011100ÜLatin Capital Letter U with Diaeresis&Uuml;
2230xDF33711011111ßLatin Small Letter Sharp S (Eszett)&szlig;
2240xE034011100000àLatin Small Letter a with Grave&agrave;
2250xE134111100001áLatin Small Letter a with Acute&aacute;
2280xE434411100100äLatin Small Letter a with Diaeresis&auml;
2290xE534511100101åLatin Small Letter a with Ring Above&aring;
2300xE634611100110æLatin Small Letter ae&aelig;
2310xE734711100111çLatin Small Letter c with Cedilla&ccedil;
2320xE835011101000èLatin Small Letter e with Grave&egrave;
2330xE935111101001éLatin Small Letter e with Acute&eacute;
2410xF136111110001ñLatin Small Letter n with Tilde&ntilde;
2460xF636611110110öLatin Small Letter o with Diaeresis&ouml;
2480xF837011111000øLatin Small Letter o with Stroke&oslash;
2520xFC37411111100üLatin Small Letter u with Diaeresis&uuml;
2550xFF37711111111ÿLatin Small Letter y with Diaeresis&yuml;

Characters With Developer Notes

Not every ASCII character has interesting behaviour, most are just glyphs. These are the ones that catch teams in production: silent corruption, escape traps, encoding mismatches, look-alike Unicode characters.

NULNull00x00

C-string terminator. Pasting NUL into config files frequently corrupts them silently.

ETXEnd of Text30x03

Sent by Ctrl-C in terminals, the keyboard interrupt signal.

EOTEnd of Transmission40x04

Sent by Ctrl-D on an empty line, terminal end-of-file.

BELBell70x07

Produces a terminal beep. Still used by tput bel and modern shells for completion hints.

BSBackspace80x08

Distinct from the DELETE key (127). Used in raw terminal modes and password prompts.

HTHorizontal Tab90x09

The single most-debated whitespace character in software history.

LFLine Feed100x0A

Unix line ending. Pair with CR (13) for Windows / HTTP / SMTP.

FFForm Feed120x0C

Page break in printers; still used in some Lisp source as a top-level section divider.

CRCarriage Return130x0D

Pair with LF (10) for Windows / HTTP / SMTP line endings. Bare CR is a major source of cross-platform bugs.

DC1Device Control 1 (XON)170x11

Ctrl-Q. Resumes terminal output that XOFF (Ctrl-S) paused. Has surprised many users typing Ctrl-S to save.

DC3Device Control 3 (XOFF)190x13

Ctrl-S. Pauses terminal output. If your terminal goes unresponsive after Ctrl-S, hit Ctrl-Q (XON).

SUBSubstitute260x1A

Ctrl-Z. End-of-file on Windows text streams. Suspend signal on Unix.

ESCEscape270x1B

Leading byte of ANSI escape sequences (\x1b[31m for red, etc.). The basis of all terminal styling.

RSRecord Separator300x1E

Used by JSON-seq (RFC 7464) as a record delimiter. Sometimes called an 'unambiguous newline.'

Space320x20

ASCII 32. Distinct from no-break space (160), zero-width space (8203), em space (8195), etc.

"Quotation Mark340x22

Always escape inside HTML attributes; consider single-quote attributes to skip the escape.

#Number Sign / Hash350x23

URL fragment delimiter. Comment in Bash, Python, YAML, INI.

$Dollar Sign360x24

Variable sigil in Bash, PHP. End-of-line anchor in regex.

%Percent Sign370x25

URL percent-encoding lead byte. printf format specifier.

&Ampersand380x26

ALWAYS escape in HTML. Background process in shell. Bitwise AND.

'Apostrophe390x27

Single quote in most languages. Distinct from typographic ' (U+2018) and ' (U+2019).

*Asterisk420x2A

Shell glob. Multiplication. Regex quantifier (zero-or-more).

+Plus Sign430x2B

URL-encoded as %2B because `+` means SPACE in application/x-www-form-urlencoded.

-Hyphen-Minus450x2D

ASCII 45. Distinct from minus (U+2212), en dash (U+2013), em dash (U+2014).

/Solidus / Slash470x2F

Path separator on Unix. Distinct from backslash (92).

<Less-Than Sign600x3C

ALWAYS escape in HTML. Critical for XSS prevention.

=Equals Sign610x3D

Padding character in standard base64.

>Greater-Than Sign620x3E

Escape in HTML to avoid context-confusing parsing.

?Question Mark630x3F

URL query-string delimiter. Regex 0-or-1 quantifier. Ternary in C-family.

@Commercial At640x40

Email local/domain separator. Python decorator. Twitter mention.

\Reverse Solidus / Backslash920x5C

Windows path separator. Escape character in most string literals.

^Circumflex Accent / Caret940x5E

Regex start-of-line anchor. XOR in C-family.

_Low Line / Underscore950x5F

Identifier character. Conventional 'unused' name in many languages.

`Grave Accent / Backtick960x60

Shell command substitution (deprecated; prefer $(...)). Markdown inline code. Template literal in JS.

|Vertical Line / Pipe1240x7C

Shell pipe. Regex alternation. Bitwise OR.

~Tilde1260x7E

Home directory shortcut in shells. Bitwise NOT. SQL pattern match (PostgreSQL).

DELDelete1270x7F

Sent by the Backspace key on most modern keyboards (not 8 / BS). Distinct from forward-delete on many systems.

NELNext Line1330x85

Used by some IBM EBCDIC-converted systems as a line terminator. Modern Unicode also treats it as a line break.

CSIControl Sequence Introducer1550x9B

Single-byte equivalent of ESC [ in ANSI escape sequences. Rare in modern terminals.

No-Break Space (NBSP)1600xA0

Invisible character that prevents line breaks. Frequent cause of 'why won't this string match?' bugs when pasted from word processors.

­Soft Hyphen1730xAD

Invisible hyphenation hint, only renders if the line breaks at this point.

µMicro Sign1810xB5

Distinct from Greek lowercase mu (U+03BC) despite identical appearance.

ßLatin Small Letter Sharp S (Eszett)2230xDF

Lowercases to itself in most operations; uppercases to 'SS' in German collation, or U+1E9E in capitalized typography.

Frequently Asked Questions

What is the difference between ASCII and Unicode?+

ASCII is a 7-bit character set with exactly 128 code points (0-127), defined in 1963. It covers English letters, digits, basic punctuation, and 33 control characters. Unicode is a much larger system designed to encode every character of every writing system in the world (currently 150,000+ characters across 1.1 million possible code points). ASCII is a strict subset of Unicode, the first 128 Unicode code points (U+0000 to U+007F) are identical to ASCII. UTF-8 is the modern encoding of Unicode; for any ASCII character, the UTF-8 byte is identical to the ASCII byte, which is why UTF-8 is backwards-compatible with ASCII text files.

What is extended ASCII?+

There is no single 'extended ASCII'. The term refers loosely to any of dozens of 8-bit character sets that extend the original 7-bit ASCII into the 128-255 range. The most common is ISO 8859-1 (Latin-1), which adds Western European accented characters, currency symbols, and some control codes. Windows-1252 is a slightly different superset used historically by Windows. Code page 437 was the original IBM PC extended ASCII, used for box-drawing characters in DOS. When you see corrupted characters in legacy text (mojibake), it is usually because two systems disagree on which 'extended ASCII' they were using.

What are the ASCII control characters and what do they do?+

ASCII codes 0-31 and 127 are control characters, they were originally telegraph and teletype commands, not printable glyphs. The ones still in active use: NUL (0) is the C-string terminator; TAB (9), LF (10), and CR (13) are whitespace; ESC (27) starts ANSI terminal escape sequences for colors and cursor movement; BEL (7) makes the terminal beep; DEL (127) is sent by the Backspace key on most modern keyboards (not BS / 8, despite the name). Ctrl-C produces ETX (3), Ctrl-D produces EOT (4), Ctrl-Z produces SUB (26), these are the basis of common terminal shortcuts.

What is the difference between ASCII 8 (Backspace) and ASCII 127 (DEL)?+

ASCII 8 (BS) is the original Backspace from teletype terminals, it moved the print head one position to the left without erasing. ASCII 127 (DEL) was originally used to punch out an unwanted character on paper tape by setting all bits to 1 (which is why its value is 0x7F, all seven bits set). On modern keyboards, the Backspace key actually sends DEL (127), not BS (8), which surprises developers writing raw terminal code. In most shells and text editors, both end up doing the same thing (delete the character to the left), but the underlying byte differs.

Why does ASCII have only 128 characters?+

ASCII was designed in 1963 around 7-bit bytes, the 8th bit was reserved for parity checking on telecommunications links. With 7 bits you get exactly 2^7 = 128 code points. When 8-bit bytes became standard in the 1970s and 1980s, vendors used the extra 128 slots for non-English characters (Latin-1, Cyrillic, Greek, etc.), but they all disagreed on which characters went where. This fragmentation drove the creation of Unicode in 1991, a single character set large enough to never need vendor-specific extensions again.

How do I convert a character to its ASCII code?+

Every language has a built-in: JavaScript 'A'.charCodeAt(0) returns 65, Python ord('A') returns 65, Go []byte('A')[0] returns 65, Bash printf '%d' "'A" prints 65. For the reverse direction (code to character): JavaScript String.fromCharCode(65), Python chr(65), Go string(rune(65)), Bash printf '\%o' 65. For hex representations, JavaScript uses (65).toString(16) returning '41', Python hex(65) returning '0x41'. To convert a whole string at once, use the AllDevToolsHub ASCII Tool, it handles batch conversion and shows you every character's decimal, hex, binary, and HTML entity at a glance.

Related Tools & References

ASCII rarely lives in isolation, encoding, escaping, and Unicode are the surrounding territory.