# RS-232 / Serial Decoder

> Analyse serial framing, baud rate, parity and byte values.

- Page: https://decoder.tools/rs232-decoder
- Category: Hardware, Radio & Telecom
- Status: live, runs in the browser
- Last reviewed: 2026-10-23

An RS-232 decoder interprets asynchronous serial data by applying the framing rules — start bit, data bits, optional parity, stop bits — to recover the bytes transmitted on a UART link.

## Example

```text Input
11110000100101 1110001011101111001101101111111
```

```text Output
Ht·
Frame: 8N1 (10 bits)
Bytes: 48 74 b6
Errors: none
```

## What is the RS-232 / Serial Decoder?

Asynchronous serial has no clock line, so both ends must agree on the bit rate in advance. Each byte is framed: an idle-high line drops for one start bit, then the data bits arrive least-significant first, then an optional parity bit, then one or two stop bits. The notation 8N1 means eight data bits, no parity, one stop bit — the near-universal default.

When the baud rate is wrong, the symptom is distinctive: consistent, repeatable garbage rather than intermittent errors. Because the receiver samples at fixed intervals, a mismatched rate misreads every byte the same way. Halving or doubling the rate is the first thing to try when a console prints nonsense.

RS-232 proper also defines electrical levels — ±3 to ±15 volts, with a logic 1 being the negative voltage — which is why connecting a 3.3 V microcontroller UART directly to a real RS-232 port damages it. The framing is identical; the voltages are not.

## How to use the RS-232 / Serial Decoder

1. Paste the captured bit stream or byte values from your analyser.
2. Set the framing — data bits, parity and stop bits — to match the link.
3. Read the decoded bytes; if they are consistent garbage, try another baud rate.

## When to use it

- Recovering a device's boot console output at an unknown baud rate.
- Debugging a UART link between two boards that won't talk.
- Decoding a logic-analyser capture of a serial line.

## RS-232 / Serial Decoder at a glance

| | |
|---|---|
| Common framing | 8N1 — 8 data bits, no parity, 1 stop bit |
| Bit order | Least-significant bit first |
| Standard rates | 9600, 19200, 38400, 57600, 115200 baud |
| RS-232 levels | ±3 to ±15 V — not TTL/3.3 V compatible |

## FAQ

### What does 8N1 mean?

Eight data bits, no parity bit, one stop bit — the default framing for almost every serial device you will meet.

### Why is my serial output garbage?

Almost always a baud-rate mismatch. The giveaway is that the garbage is consistent rather than random. Try 115200 and 9600 first, then the neighbouring rates.

### Is UART the same as RS-232?

The framing is the same; the electrical levels are not. UART on a microcontroller is 3.3 V or 5 V logic, while RS-232 uses ±3 to ±15 V with inverted polarity — connecting them directly needs a level shifter such as a MAX232.
