Byte to ASCII

Turn raw bytes into ASCII text with visible control characters.

0 chars
0 words
0 lines
0 chars
0 words
0 lines

Byte to ASCII – Read Raw Bytes as ASCII Text

This tool turns a sequence of raw bytes – from a hex dump, a serial port log, a network packet, or a firmware buffer – into readable ASCII, while making every invisible control character visible. Paste bytes in hex, decimal, octal, or binary; the base is detected automatically.

Why raw bytes need special handling

When you receive data from a device or a socket, it rarely contains only letters. The sample 02 47 45 54 20 2F 73 74 61 74 75 73 03 0D 0A 00 7F FF holds the text GET /status, wrapped in STX/ETX framing bytes and followed by CR LF, a NUL, a DEL, and a byte above 127. A normal text decoder would silently drop or garble these bytes. Here they are rendered as [STX]GET /status[ETX][CR][LF][NUL][DEL][0xFF], so you can see exactly what arrived on the wire.

Options

  • Bytes are – auto-detect, or force hexadecimal, decimal, octal, or binary if the input is ambiguous (for example 10 20 30).
  • Non-printable bytes – show control bytes by name, as a hex-editor style dot, as a \x00 escape for source code, or keep them raw.
  • ASCII to Bytes – the reverse direction turns text into uppercase hex bytes, so \r\n line endings become 0D 0A. Use it to build test payloads for serial terminals and socket tools.

Common uses

Embedded developers read UART and RS-232 logs, modbus-ASCII frames, and AT-command responses. Network engineers inspect TCP payloads copied from Wireshark. Reverse engineers look for readable strings inside binary blobs. In each case the question is the same: which bytes are text and which are protocol bytes?

ASCII control characters

Dec Hex Name
0 00 NUL
1 01 SOH
2 02 STX
3 03 ETX
4 04 EOT
5 05 ENQ
6 06 ACK
7 07 BEL
8 08 BS
9 09 TAB
10 0A LF
11 0B VT
12 0C FF
13 0D CR
14 0E SO
15 0F SI
16 10 DLE
17 11 DC1
18 12 DC2
19 13 DC3
20 14 DC4
21 15 NAK
22 16 SYN
23 17 ETB
24 18 CAN
25 19 EM
26 1A SUB
27 1B ESC
28 1C FS
29 1D GS
30 1E RS
31 1F US
127 7F DEL

For decimal lists without control bytes, Decimal to ASCII is simpler; for text in other encodings, use Byte to String.

Frequently Asked Questions

They are the standard names of ASCII control characters – bytes 0–31 and 127 that have no visible glyph. STX (0x02) and ETX (0x03) mark the start and end of a message in many serial and barcode protocols, NUL (0x00) is a zero byte often used as a string terminator or padding, and CR LF (0x0D 0x0A) ends a line in HTTP, SMTP, and Windows text files.

Name is best for reading protocols because you see exactly which control byte arrived. Dot mimics the ASCII column of a hex editor or hexdump -C. Escape (\x00) produces output you can paste into Python, C, or JavaScript source. Keep raw passes the bytes through unchanged, which is only useful if you copy the result into another tool.

Bytes 128–255 are not ASCII. They are shown as [0xFF], \xFF, or a dot depending on the option, so you can tell them apart from real text. If the data is UTF-8 encoded text rather than binary, decode it with Hex to UTF-8 or Byte to String instead.

Paste only the hex byte columns, without offsets and the ASCII column. Bytes may be separated by spaces, commas, or colons, may use 0x or \x prefixes, or may be one continuous string like 48656C6C6F.