Developer / Character codes

ASCII Table

All 128 ASCII characters with decimal, hexadecimal, octal, and binary codes, control character names, caret notation, C escapes, and HTML entities. Search by character, code, or name, and click to copy.

ASCII Table: ASCII assigns the numbers 0 to 127 to 33 control characters and 95 printable ones, from the space to the tilde. The table lists each in four bases, gives control characters their abbreviation, name, caret notation (as terminals show them), and C escape, and shows the HTML named reference where one exists, or the numeric one. Abbreviations and caret notation were compared with Python's curses.ascii, names with the Unicode name aliases, and entities with the WHATWG list. Runs 100% locally in your browser with zero server file uploads.

Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
ASCII tableLocal processing

Runs entirely in your browser

DecHexOctBinaryCharacterHTMLDescription
00000000000000NUL�Null ^@ \0
10100100000001SOHStart of heading ^A
20200200000010STXStart of text ^B
30300300000011ETXEnd of text ^C
40400400000100EOTEnd of transmission ^D
50500500000101ENQEnquiry ^E
60600600000110ACKAcknowledge ^F
70700700000111BELAlert (bell) ^G \a
80801000001000BSBackspace ^H \b
90901100001001HT	Character tabulation ^I \t
100A01200001010LF
Line feed ^J \n
110B01300001011VTLine tabulation ^K \v
120C01400001100FFForm feed ^L \f
130D01500001101CR
Carriage return ^M \r
140E01600001110SOShift out ^N
150F01700001111SIShift in ^O
161002000010000DLEData link escape ^P
171102100010001DC1Device control one ^Q
181202200010010DC2Device control two ^R
191302300010011DC3Device control three ^S
201402400010100DC4Device control four ^T
211502500010101NAKNegative acknowledge ^U
221602600010110SYNSynchronous idle ^V
231702700010111ETBEnd of transmission block ^W
241803000011000CANCancel ^X
251903100011001EMEnd of medium ^Y
261A03200011010SUBSubstitute ^Z
271B03300011011ESCEscape ^[ \e
281C03400011100FSInformation separator four ^\
291D03500011101GSInformation separator three ^]
301E03600011110RSInformation separator two ^^
311F03700011111USInformation separator one ^_
322004000100000SP Space
332104100100001!
342204200100010"
352304300100011#
362404400100100$
372504500100101%
382604600100110&
392704700100111'
402805000101000(
412905100101001)
422A05200101010*
432B05300101011+
442C05400101100,
452D05500101101-
462E05600101110.
472F05700101111/
4830060001100000
4931061001100011
5032062001100102
5133063001100113
5234064001101004
5335065001101015
5436066001101106
5537067001101117
5638070001110008
5739071001110019
583A07200111010:
593B07300111011;
603C07400111100<
613D07500111101=
623E07600111110>
633F07700111111?
644010001000000@
654110101000001A
664210201000010B
674310301000011C
684410401000100D
694510501000101E
704610601000110F
714710701000111G
724811001001000H
734911101001001I
744A11201001010J
754B11301001011K
764C11401001100L
774D11501001101M
784E11601001110N
794F11701001111O
805012001010000P
815112101010001Q
825212201010010R
835312301010011S
845412401010100T
855512501010101U
865612601010110V
875712701010111W
885813001011000X
895913101011001Y
905A13201011010Z
915B13301011011[
925C13401011100\
935D13501011101]
945E13601011110^
955F13701011111_
966014001100000`
976114101100001a
986214201100010b
996314301100011c
1006414401100100d
1016514501100101e
1026614601100110f
1036714701100111g
1046815001101000h
1056915101101001i
1066A15201101010j
1076B15301101011k
1086C15401101100l
1096D15501101101m
1106E15601101110n
1116F15701101111o
1127016001110000p
1137116101110001q
1147216201110010r
1157316301110011s
1167416401110100t
1177516501110101u
1187616601110110v
1197716701110111w
1207817001111000x
1217917101111001y
1227A17201111010z
1237B17301111011{
1247C17401111100|
1257D17501111101}
1267E17601111110~
1277F17701111111DELDelete ^?

Codes 0–31 and 127 are control characters: they have no picture, only a job, such as ending a line. Caret notation (^C) is how terminals show them, and the escapes (\n) are the ones C and many other languages use. Click a character to copy it.

Patterns in the codes

Digits start at 48 (0x30), so a digit's value is its code minus 48. Capital letters start at 65 (0x41) and small letters at 97 (0x61), 32 apart. Control characters are their letter's code minus 64, which is why Ctrl+C sends 3 and Ctrl+[ sends Escape, 27.

To convert numbers between bases, use the number base converter; for characters beyond ASCII, the Unicode inspector.

Line endings

Unix, Linux, and macOS end lines with LF (10, \n); Windows uses CR followed by LF (13 10, \r\n). A file opened on the other system can show stray ^M characters or run together on one line.

How to use it

  1. Scroll the table, or search for a character, a code such as 65 or 0x41, or a name such as ESC.
  2. Read the codes in each base, and the name and escapes of control characters.
  3. Click a character to copy it.

Privacy & limitations

The table is part of the page; nothing you search is sent anywhere.

Related tools

Frequently asked questions

What is the difference between ASCII and Unicode?

Unicode's first 128 code points are ASCII, unchanged, and UTF-8 stores them as the same single bytes, so plain ASCII text is also valid UTF-8.

Why do uppercase and lowercase letters differ by 32?

A is 65 (0x41) and a is 97 (0x61): they differ in one bit, 0x20, so switching case is a single bit flip.

What are codes 128 to 255?

They are not ASCII. Extended character sets such as Latin-1 and Windows-1252 use them differently, which is why accented letters can turn into strange symbols.

Free tool · runs in your browser · no account required