ASCII Debugger

Validates your input as strict 7-bit ASCII, then produces a row-by-row breakdown of every character, its decimal, hexadecimal, octal, and binary code, with standard control-character names (like <NUL> or <ESC>) shown for the 33 non-printable codes. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-27

Overview

Introduction

Debugging an encoding issue, a serial protocol, or a mystery control character usually means looking up several different number bases for the same byte.

This tool validates your text as strict ASCII, then breaks every character down into decimal, hex, octal, and binary in one pass, naming non-printable control characters instead of leaving them blank or garbled.

What Is ASCII Debugger?

A per-character ASCII inspector: for each character in your input, it shows a readable label (the character itself, or a standard name like <ESC> for control codes), plus its decimal, hexadecimal, octal, and binary values.

It's the per-input-data companion to ASCII Table Generator's static reference chart, this tool operates on your specific text instead of printing the whole fixed 0-127 table.

How ASCII Debugger Works

The input is validated against the shared strict-ASCII check; any character above code 127 stops the breakdown with an error naming that character, its position, and its code point.

Each validated character is then converted to a 2-digit hex value, a 3-digit octal value, and an 8-digit binary value, with control codes 0-31 and code 127 (DEL) replaced by their standard short name in angle brackets for the character column.

When To Use ASCII Debugger

Use it when debugging why a piece of text or a byte sequence isn't behaving as expected, for example, tracking down a stray tab, carriage return, or escape sequence hiding in pasted text.

It's also useful for teaching or demonstrating the relationship between a character and its numeric representation across the common bases at once.

Features

Advantages

  • Shows all four common number bases per character at once, no separate lookups needed.
  • Names non-printable control characters instead of leaving them invisible or rendering as garbage in a table.
  • Strict ASCII validation means every row's breakdown is guaranteed meaningful, not a guess at an out-of-range byte.

Limitations

  • Only covers the fixed 33 standard control-character names (C0 codes 0-31 plus DEL); it doesn't attempt to interpret higher-level escape sequences spanning multiple characters.
  • Rejects any non-ASCII input outright rather than attempting a partial breakdown.

Examples

Breaking down text with a tab character

Input

Hi	

Output

Pos	Char	Dec	Hex	Oct	Bin
1	H	72	0x48	0o110	01001000
2	i	105	0x69	0o151	01101001
3	<HT>	9	0x09	0o011	00001001

The tab character (code 9) is shown with its standard name <HT> (Horizontal Tab) instead of an invisible raw tab.

Breaking down a character and DEL

Input

A

Output

Pos	Char	Dec	Hex	Oct	Bin
1	A	65	0x41	0o101	01000001
2	<DEL>	127	0x7F	0o177	01111111

Code 127 (Delete) is the one control-style code outside the 0-31 range and is labeled <DEL>, consistent with the standard ASCII control-code table.

Best Practices & Notes

Best Practices

  • Use this right after ASCII Validator confirms your text is clean, so you know every row's breakdown reflects genuine ASCII rather than a rejected character.
  • Cross-check unfamiliar control-character labels against ASCII Table Generator's static chart for the full picture of where a code sits in the overall table.

Developer Notes

Control-character names come from a fixed 32-entry array (index = code point, 0-31) covering the standard C0 control set, plus a special case for code 127 (DEL), which sits outside the 0-31 array; hex/octal/binary are formatted via `toString(16|8|2)` with `padStart` to fixed widths (2 for hex, 3 for octal, 8 for binary) for consistent column alignment.

ASCII Debugger Use Cases

  • Tracking down a stray control character (tab, carriage return, escape) hiding in pasted or copied text
  • Teaching or demonstrating how a character maps across decimal, hex, octal, and binary at once
  • Debugging serial or embedded communication logs byte by byte

Common Mistakes

  • Expecting non-ASCII characters to appear in the breakdown; the whole input is rejected if even one character is outside 0-127.
  • Confusing the octal column's leading '0o' or the hex column's leading '0x' for part of the numeric value itself, they're just base prefixes.

Tips

  • If a row shows an angle-bracketed label instead of a visible character, that's a non-printable control code, not a rendering error.
  • Use the binary column when you need to see exactly which bits are set, for example, when working with bitwise flags packed into ASCII-range bytes.

References

Frequently Asked Questions