Audited ·Last updated 28 Jul 2026·3 citations·Tier 3·0 uses

Baud Rate Calculator (Serial Throughput and Frame Time)

Turn a baud rate and a serial frame (8N1, 7E1, 8E2) into real bytes per second, bit time and frame time. Shows how much of the line framing costs.

Baud Rate Calculator

The rate configured on the port: 9600, 19200, 115200 and so on. Strictly this is a symbol rate, which equals the bit rate only when the line is two-level — which plain RS-232 and TTL serial are.
Leave at 1 for any ordinary UART, RS-232, RS-422 or RS-485 link. Raise it only for multi-level modulation, where a symbol carries log2(M) bits — this is how a 2400-baud modem delivered 9600 bit/s.
The payload width. 8 is universal today; 7 was normal for ASCII terminals and 5 for Baudot teleprinters. POSIX termios exposes CS5 to CS8 and the 16550 UART family supports the same range.
Parity
Stop bits
Effective data rate
92,160
Payload bits actually delivered per second, after the start, parity and stop bits are paid for. Always lower than the baud rate on an asynchronous line.
Bytes per second
11,520 B/s
Characters per second
11,520
Line bit rate
115,200 bit/s
Bits per frame
10
Symbol time
8.6806 µs
Bit time
8.6806 µs
Frame time
86.8056 µs
Framing overhead
20.00
Frame breakdown
Each character is sent as a 10-bit frame: 1 start bit, 8 data bits, 0 parity bits (no parity) and 1 stop bit. At 115200 baud that is 11520 characters per second, or 11520 bytes per second — 20% of the line is spent on framing rather than payload.

Background.

A serial port configured for 115200 baud does not move 115200 bits of your data every second, and it does not move 14400 bytes. Asynchronous serial framing wraps every character in overhead: one start bit before it, an optional parity bit after it, and one, one and a half, or two stop bits behind that. The UART datasheet puts it plainly when defining a break condition — a full frame is the total time of start bit, data bits, parity and stop bits. This calculator counts those bits and tells you what is left for payload.

For the near-universal 8N1 configuration the frame is ten bits long for eight bits of data, so exactly 20% of the line is framing. At 115200 baud that works out to 11,520 characters per second, 11,520 bytes per second and 92,160 bit/s of actual payload. Switch to 7E1 and the frame is still ten bits, but only seven of them are yours, so throughput drops to 840 bytes per second at 9600 baud instead of 960. Add a second stop bit and even parity to an 8-bit word and the frame grows to twelve bits, costing a third of the line.

The page also keeps baud and bit rate apart, because they are not the same quantity. Baud is a symbol rate — the ATIS Telecom Glossary defines it as the number of discrete signal conditions or events per second. Bit rate is baud multiplied by the number of bits each symbol carries. On a two-level line, which is what plain RS-232 and TTL serial are, a symbol is one bit and the two numbers coincide. On multi-level modulation they do not: a 2400-baud telephone channel carrying four bits per symbol is a 9600 bit/s link. Set bits per symbol to 1 and you have a UART calculator; raise it and you have the general relation.

Alongside throughput the calculator reports bit time, symbol time and frame time in microseconds, which is what you need when sizing an inter-character timeout, budgeting an interrupt handler, or reading a capture off an oscilloscope.

What is baud rate calculator?

Baud rate is the rate at which symbols are placed on a communication line, measured in symbols per second. On an asynchronous serial link each character is transmitted inside a frame consisting of a start bit, five to eight data bits, an optional parity bit, and one, one and a half, or two stop bits. Because the frame carries more bits than the character does, the payload throughput of the link is always lower than its baud rate: the ratio is data bits divided by frame bits. The classic 8N1 configuration — eight data bits, no parity, one stop bit — has a ten-bit frame, so it delivers 80% of the line rate as payload and is the reason a rough conversion of 'divide the baud rate by ten to get bytes per second' works. Parity, wider stop-bit settings and narrower character sizes all change that ratio. Separately, baud is not the same quantity as bit rate. Bit rate equals baud multiplied by the number of bits carried by each symbol, so the two are numerically equal only when the signalling is two-level, as it is on RS-232, RS-422, RS-485 and TTL UART lines.

How to use this calculator.

  1. Enter the baud rate configured on the port — the same number you would pass to a terminal program or to tcsetattr.
  2. Leave bits per symbol at 1 unless you are working with multi-level modulation. Every ordinary UART, RS-232, RS-422 and RS-485 link is two-level.
  3. Set the data bits, parity and stop bits to match the port configuration. The shorthand 8N1 means 8 data bits, No parity, 1 stop bit; 7E1 means 7 data bits, Even parity, 1 stop bit.
  4. Read the effective data rate and bytes per second for throughput planning, and the frame time for timeout and interrupt budgeting.
  5. Check the framing overhead if you are choosing a configuration. Dropping from 8E2 to 8N1 on the same baud rate is a 20% throughput gain for free, provided the link is reliable enough not to need the parity bit.

The formula.

payload bit/s = (B × k) × d ⁄ (1 + d + p + s)

Start with the frame. A UART adds a start bit before the character and stop bits after it, plus a parity bit if parity is enabled, so the number of bit times on the wire per character is 1 + data bits + parity bits + stop bits. The stop-bit setting is measured in bit times, which is why 1.5 stop bits produces a fractional frame length of, for example, 7.5 bits for a 5-bit word with no parity — the UART datasheet states this explicitly.

Next, the line rate. Bit rate is baud multiplied by bits per symbol. Every asynchronous UART line is two-level, so bits per symbol is 1 and the bit rate equals the baud rate; the input exists so the general relation is available for modulated links where it does not.

Divide line bit rate by frame bits to get characters per second, then multiply by data bits to get payload bits per second, then divide by eight for bytes per second. Note the difference between characters per second and bytes per second: at 9600 7E1 the link sends 960 characters per second but only 840 bytes per second, because each character carries seven bits rather than eight.

Times are the reciprocals. One bit time is 1,000,000 ÷ bit rate microseconds; one symbol time is 1,000,000 ÷ baud; one frame time is frame bits multiplied by the bit time. Framing overhead is (frame bits − data bits) ÷ frame bits, expressed as a percentage — 20% for 8N1, 30% for 7E1, 33.3% for 8E2, and 40% at the worst legal combination of five data bits with parity and two stop bits.

A worked example.

Example

115200 8N1 — the default of practically every embedded serial console. The line is two-level, so the bit rate equals the baud rate at 115,200 bit/s. The frame is 1 start bit + 8 data bits + 0 parity bits + 1 stop bit = 10 bit times, so the port sends 115,200 ÷ 10 = 11,520 characters per second. Each character carries eight bits of payload, giving 11,520 × 8 = 92,160 bit/s of real data, which is 11,520 bytes per second. In other words a link advertised as '115.2 kbit/s' delivers 92.16 kbit/s of your data, and the familiar shortcut of dividing the baud rate by ten to get bytes per second is exactly right for 8N1 and only for 8N1. On the timing side, one bit occupies 1,000,000 ÷ 115,200 = 8.6805555556 µs and a whole character occupies ten of those, 86.8055555556 µs — which is the figure to use when setting an inter-character timeout or checking that an interrupt handler can keep up. Framing costs two of the ten bits, or 20% of the line. Switching this port to 8E2 would stretch the frame to twelve bits, drop throughput to 9,600 characters per second, and raise the overhead to 33.33%.

baud Rate115,200
stop Bits1
paritynone
data Bits8
bits Per Symbol1

Frequently asked questions.

How many bytes per second is 115200 baud?
11,520 bytes per second at 8N1. The frame is ten bit times long for eight bits of payload, so the character rate is 115200 ÷ 10 = 11,520 per second and each character is a full byte. That is where the common rule of thumb 'divide baud by 10' comes from — and it is only correct for 8N1. At 8E1 or 8N2 the frame is eleven bits and the answer drops to about 10,472 bytes per second; at 8E2 it is twelve bits and 9,600 bytes per second.
Is baud rate the same as bit rate?
Only when each symbol carries exactly one bit, which is the case for every ordinary UART, RS-232, RS-422 and RS-485 link. The ATIS Telecom Glossary defines baud as a unit of signalling speed equal to the number of discrete signal conditions, variations or events per second — that is symbols, not bits. Bit rate is baud multiplied by bits per symbol. Multi-level modulation breaks the equivalence: a 2400-baud telephone channel carrying four bits per symbol is a 9600 bit/s link, which is precisely how modems got faster without needing more bandwidth.
Do mark and space parity cost the same as even parity?
Yes. All four schemes occupy exactly one bit position in the frame; they differ only in what is put there. Even and odd parity compute the bit from the data, while mark forces it to 1 and space forces it to 0 — the 16550 line-control register offers all four plus 'no parity'. So switching from even parity to mark parity changes nothing about throughput or frame time. Only turning parity off entirely recovers the bit.
Why would anyone use 1.5 stop bits?
It is a legacy of five-bit Baudot teleprinters, whose mechanical print head needed slightly longer than one bit time to settle but not a full two. Stop-bit length is measured in bit times, so 1.5 stop bits genuinely costs one and a half — a 5-bit word with no parity and 1.5 stop bits is a 7.5-bit frame. On a 16550-compatible UART the 1.5 setting is only available with a 5-bit word; selecting the two-stop-bit option with a 6-, 7- or 8-bit word gives a full 2 instead. The calculator will compute any combination and flags the unusual one.
Will I actually achieve this throughput?
This is the line-level ceiling, and real links usually fall short of it. Software flow control pauses the stream whenever XOFF is sent, hardware flow control pauses it whenever the receiver deasserts RTS, half-duplex RS-485 links lose time to bus turnaround, and any higher-layer protocol — Modbus RTU, NMEA, a command-response console — adds its own headers, checksums and inter-frame gaps on top. Transmitters also often idle between characters when the sending application cannot keep the FIFO full. Treat the figure as the maximum the framing permits, not as a prediction.

In this category

Embed

Quanta Pro

Paid features are coming later.

  • All 590 calculators remain free
  • No billing is enabled
Coming soon