Skip to content
Everyday Utilities Free • No signup • Instant results

ASCII Table Reference

Browse ASCII characters, codes and HTML entities side-by-side.

About the ASCII Table Reference

The ASCII Character Table is a searchable reference for the American Standard Code for Information Interchange (ASCII) — the 7-bit character encoding that has been the foundation of digital text since 1963. Every character from 0 (NUL) to 127 (DEL) is shown with its decimal code, hexadecimal value, HTML entity, escape sequence, and (for control characters) its standard name.

ASCII may seem obsolete in a Unicode world, but it remains essential knowledge for programmers. Every modern text encoding (UTF-8, Latin-1, Windows-1252) preserves ASCII as its first 128 code points — so understanding ASCII means understanding the foundation of all text on the web. The escape sequences (\n for newline, \t for tab, \\ for backslash) appear in virtually every programming language. The HTML entities (A for A) are how you embed special characters in web pages.

The table also includes the 32 control characters (0-31) that predate modern text editing — originally designed for teletype machines, now mostly obsolete but still used for terminal control (ESC sequences, ANSI colors) and network protocols (LF, CR, NUL). The Extended ASCII range (128-255) is included for completeness, though it is not standardized — different systems interpret those code points differently (Latin-1, Windows-1252, MacRoman).

How It Works

The table iterates from the start of the selected range to the end, generating each character using String.fromCharCode(i). For each character, it computes the decimal value (the loop index), the hexadecimal value (i.toString(16).toUpperCase() padded to 2 characters), the HTML entity (&#[decimal];), and the escape sequence (\ followed by the character).

For control characters (0-31 and 127), the tool shows the standard abbreviation and name (NUL, SOH, STX, etc.) because these characters have no visible glyph. For character 32 (space), it shows “(space)” rather than a blank cell. For character 127 (delete), it shows “(delete).”

The search filter matches against the decimal value, the hex value, the character itself, or the control character name (case-insensitive). So searching “65” finds A, searching “0x41” finds A, searching “a” finds the lowercase letter, and searching “escape” finds ESC. The search is limited to 200 results to prevent the table from becoming unwieldy.

Worked Examples

The default search “A” with the printable range shows a single row: character A, decimal 65, hex 0x41, HTML entity A, escape sequence \A. This is the canonical reference for the letter A in any programming context.

Switch the range to “Full ASCII (0-127)” and clear the search to see all 128 characters in order. The first 32 rows show the control characters with their names (NUL, SOH, STX, ETX, etc.). Character 10 is LF (line feed, the Unix newline), character 13 is CR (carriage return, the Mac Classic newline), and character 27 is ESC (used for ANSI terminal escape sequences). These control characters still appear in modern protocols like HTTP (which uses CRLF for line endings) and terminal emulators.

For HTML entity reference, search for a special character like “&” to see that it is character 38, with HTML entity & and named entity &. This is useful when you need to embed a special character in HTML and want to know its numeric code.

When to Use This Tool

  • Looking up the decimal or hex code of a character for use in programming (char(65) = A).
  • Find the HTML entity for a character to embed in a web page.
  • Looking up the escape sequence for a control character (\n, \t, \r).
  • Understanding the difference between LF (10), CR (13), and CRLF when debugging line-ending issues.
  • Learning the names of control characters (ESC, BEL, NUL) that appear in terminal protocols.
  • Converting between decimal, hex, and HTML entity representations of a character.
  • Teaching the ASCII standard and its relationship to Unicode and UTF-8.

Limitations & Disclaimer

This table shows the standard 7-bit ASCII (0-127) which is universal across all modern systems. The Extended ASCII range (128-255) is shown using Latin-1 (ISO-8859-1) interpretation, but other systems (Windows-1252, MacRoman) interpret these code points differently — the displayed characters may not match what your system uses. The table does not show Unicode characters above 255 (for those, use a dedicated Unicode reference). The escape sequences shown are the C/JavaScript style; other languages (Python, Ruby) may use different escape conventions. The search is limited to 200 results to prevent browser performance issues. See our disclaimer for full terms.

Frequently Asked Questions

What is the difference between ASCII and Unicode?

ASCII is a 7-bit encoding with 128 characters (letters, digits, punctuation, control codes). Unicode is a 21-bit encoding with over 140,000 characters covering all the world's writing systems. UTF-8 is a Unicode encoding that preserves ASCII as its first 128 code points — so any valid ASCII text is also valid UTF-8.

Why are there only 128 ASCII characters?

ASCII was designed in 1963 for 7-bit teleprinters, which could transmit 128 distinct values (2^7). The 8th bit was reserved for parity checking (error detection). Later systems used the 8th bit for “extended ASCII” with 128 additional characters, but this was never standardized — different vendors (IBM, Microsoft, Apple) used different extensions.

What is the difference between LF and CRLF?

LF (line feed, character 10) moves the cursor down one line. CR (carriage return, character 13) moves the cursor to the start of the line. Unix uses LF alone as the line ending. Windows uses CRLF (both characters). Mac OS prior to X used CR alone. Modern Macs use LF. This difference causes the “^M” characters you see when opening a Windows file in a Unix editor.

What are control characters used for today?

Most control characters are obsolete, but a few remain essential: LF (newline), CR (carriage return), HT (tab), ESC (terminal escape sequences like ANSI colors), BS (backspace), BEL (terminal bell), and NUL (string terminator in C). The others (SOH, STX, ETX, etc.) were used for teletype protocols and binary synchronous communication, now mostly historical.

Why does the extended ASCII range (128-255) show different characters on different systems?

Because the extended ASCII range is not standardized. Code point 128 is Ç in Latin-1 (ISO-8859-1), € in Windows-1252, and something else in MacRoman. Modern systems use UTF-8, where code points 128-255 are the first bytes of multi-byte sequences for non-ASCII characters. This tool shows the Latin-1 interpretation for the extended range.

Is the table available offline?

Yes. Once the page is loaded, the table is generated entirely in your browser using JavaScript. You can search and browse without an internet connection, which makes it useful as a quick reference during development.

Last updated: July 21, 2026  ·  Author: HT99 Tools Editorial Team  ·  Reviewed by: HT99 Tools Editorial Team