ASCII (American Standard Code for Information Interchange) is a 7-bit character encoding that assigns each of its 128 standard characters and control codes a unique integer from 0 to 127, and an ASCII chart is the reference listing that places each code side by side with its decimal, two-digit hexadecimal, three-digit octal, and seven-digit binary equivalents. The original standard was published in the 1960s (per RFC 20) and still forms the foundation for modern text files, network protocols, and programming-language strings. Because the same number can be written in several notations, a clear chart removes the guesswork of converting between them, and because the standard is small enough to memorize in groups, a chart also explains the structure. An ASCII chart is more than a printable lookup: it is a compact summary of one fixed, documented code table, with character names supplied independently by the Unicode Basic Latin code chart. Understanding what each column means, why exactly 128 rows exist, and how the four notations relate is the fastest way to read any ASCII reference correctly.

ascii chart explained
ASCII Chart Explained: Reading All 128 Standard Codes

Why the Table Stops at 127

The 7-bit boundary in a complete ASCII chart is not a database limit but the original design. Seven bits can represent exactly 128 distinct values from 0000000 to 1111111, which matches the count of entries listed from decimal 0 to decimal 127. ECMA-6 defines this 7-bit, 128-character scope, and RFC 20 specifies the original ASCII code table that every implementation still follows. Because the standard was designed before 8-bit bytes were common, it was deliberately restricted to seven bits so the unused bit could carry control signals on serial lines; the design has survived because every modern text encoding, including UTF-8, keeps the first 128 code points identical to ASCII for backward compatibility. Values above 127 are not ASCII at all, even though they often appear in files saved on Windows or in legacy DOS documents. Values above 127 may represent different characters in ISO-8859-1, Windows code pages, IBM PC code pages such as CP437, or another encoding; calling any of them "extended ASCII" hides that ambiguity. A complete chart therefore ends at decimal 127 and does not mix incompatible 8-bit mappings.

Reading the Four Number Systems

Every row in an ASCII chart shows the same integer expressed in four notations, and that repetition is the chart's main explanatory value. The decimal column is the source integer; the hexadecimal column is the same value written in base 16 and padded to two digits because the largest value, 127, fits in two hex digits; the octal column is the same value in base 8 padded to three digits because 127 octal is 177; and the binary column is the same value in base 2 padded to exactly seven digits because that is what 7-bit means visually. The fixed-width padding is important: it lets you see at a glance which bit positions are set. A worked example for capital A makes the relationship concrete.

NotationFormatCapital A
Decimalplain digits65
Hexadecimal0x prefix, two digits0x41
Octal0o prefix, three digits0o101
Binary0b prefix, seven digits0b1000001

You can verify the binary column by adding the set bit positions: 64 + 1 = 65, which matches the decimal value. The 0x, 0o, and 0b prefixes make the radix explicit, which is useful because documentation, source code, network traces, and command-line tools use different notations; the prefixes prevent confusion between the octal 17 and the integer seventeen.

The Three Kinds of Entries

A complete ASCII chart splits its 128 rows into three logically distinct kinds, and a good chart makes the difference visible. Control positions from decimal 0 through decimal 31 do not have ordinary printable glyphs, so the chart uses the abbreviations and terminology published in RFC 20: NUL for Null, HT for Horizontal Tabulation, LF for Line Feed, and CR for Carriage Return, among others. Showing abbreviations avoids the empty or misleading cells that would result if those rows tried to render a glyph. Decimal 32 is normally non-printing and is shown as SP for Space. Graphic entries from decimal 33 through decimal 126 include punctuation, the digits 0 through 9, uppercase Latin letters, and lowercase Latin letters, each rendered as a visible character with a descriptive name from the Unicode Basic Latin chart. Decimal 127 is DEL for Delete, and RFC 20 notes that DEL is not a control character in the strict sense; a clear chart places DEL in its own category so the visible groups stay honest.

GroupDecimal rangeCountHow it appears
Control characters0–3132RFC 20 abbreviation plus full name
Space321SP
Graphic characters33–12694Visible character plus name
Delete1271DEL

Adding the four group counts gives the full 128 rows of a complete chart. The grouping also explains why a complete chart never shows a printable symbol in decimal 0 or decimal 127, and why the visual gaps between groups help you scan a reference quickly.

How to Look Up and Copy a Code

The fastest way to read a chart is to search for what you already have in front of you and then read the four columns. The ASCII Table provides every standard 7-bit entry with the four notations and a Copy button on each row.

  1. Open the ASCII Table and either browse all 128 rows or type a query into the search box. A character name, a control abbreviation, or a number all work.
  2. Type plain digits for a decimal lookup. For example, 65 finds capital A.
  3. Prefix a hexadecimal, octal, or binary lookup with 0x, 0o, or 0b respectively. For example, 0x41, 0o101, and 0b1000001 all identify the same capital A row.
  4. Use the char:value form to search for a literal character, including whitespace. Typing char:space matches decimal 32 directly.
  5. Choose a category — controls, punctuation, digits, letters, Space, or Delete — to narrow the table when you want to see only one group.
  6. Review the row, then select Copy to put the complete row, including the display value, name, and all four number systems, onto your clipboard as readable text.

If the browser denies the Copy action, the page reports the failure rather than claiming success, which matters when you paste the row into a code comment, bug report, or teaching note. Every matching row stays visible; the tool does not silently truncate a large result set, and an empty search displays a clear no-match state instead of leaving stale output on screen. Search terms and copied rows stay in your browser and are not sent to another service. For a step-by-step walk-through of the same workflow, see how to use an ASCII table.

What the Chart Does Not Tell You

An ASCII chart assigns code points; it does not, by itself, explain how every application interprets a control code, how a text file chooses its line endings, or how a modern Unicode string is encoded into bytes. CR, LF, and CRLF conventions differ by protocol and platform, so seeing that decimal 10 is LF in the chart does not tell you whether a given file uses Unix, classic Mac, or DOS line endings. Unicode includes the ASCII range at the same Basic Latin code points, but Unicode also extends far beyond it, so two strings that share the same first 128 bytes can still differ in any byte above 127. When you need to decode a byte above 127, the first step is to identify the actual character encoding that produced it, because the number alone is not enough. The same reasoning applies to the standards behind the table: RFC 20 supplies the original ASCII code table and the control terminology, ECMA-6 confirms the 7-bit, 128-character scope, and the Unicode Basic Latin chart independently cross-checks the names and positions of the graphic characters. Together they explain why a complete ASCII chart agrees with both modern Unicode and the original 1960s standard.

Related reading: Code Screenshot Generator: Turn Code Into a PNG Locally.