ASCII Table

Full ASCII reference 0–127 with decimal, hex, binary, character, and HTML entity. Filterable.

The 128 characters

ASCII (American Standard Code for Information Interchange) is the 128-character encoding standard that maps characters 0–127 to integers. It's the foundation of every modern text encoding — UTF-8, Latin-1, Windows-1252 all extend it — so understanding ASCII values becomes essential when debugging binary data, writing parsers, or investigating text corruption.

Hex dumps, parsers, and invisible bytes

Filtering and reading the table

Pitfalls in the encoding boundary

Printable vs control ranges

Tracing a broken CSV import

A CSV import keeps breaking on one row. The table shows the offending field held 0x09 (Tab) or 0x1F (Unit Separator) — invisible control codes colliding with your delimiter logic. Now you know exactly which byte to strip, instead of guessing at "corrupted data".

Questions about the table

Does it cover "extended ASCII" (128–255)? No — true ASCII is 0–127. Bytes above that belong to encodings like Latin-1 or UTF-8, which extend ASCII in different ways; use the unicode-inspector for those.

Which characters are printable? 0x20 (space) through 0x7E (tilde). Everything below 0x20, plus 0x7F, are control codes.

Why would I need the control characters? Codes like 0x0D (carriage return), 0x0A (line feed), and 0x09 (tab) are invisible but cause real bugs — CRLF-vs-LF line endings, tab-vs-space delimiters, and the like.

Can I see a value in hex, decimal, and binary? Yes — each character lists its decimal, hex, binary, and HTML entity, so you can cross-reference a hex dump directly.

Control codes vs printable (0–31 and 127) that print as nothing

The printable half of ASCII is the easy part; the bugs live in the low 32 plus DEL, which have no glyph and travel invisibly inside “clean” text. These are the ones you actually meet:

DecHexNameEscapeWhat it does
00x00NULString terminator in C; truncates data
90x09HT (tab) Tab; breaks TSV if it appears in a field
100x0ALF Unix newline
130x0DCR Windows pairs it with LF as
1270x7FDEL—Legacy delete; still shows up in old data

The classic cross-platform bug is CR/LF: a file written on Windows ( ) read line-by-line on Unix leaves a trailing on every field, so "yes" == "yes " fails. Inspect the bytes here before blaming your parser.