Skip to content

Networking · Signals & Serial

Baud Rate Calculator

Turn a bit rate into a symbol rate (baud) or back again for any modulation, from BPSK to 4096-QAM, with optional error-correction coding. Or enter a serial port's baud rate and framing (like 8N1) to see how many bytes a second it really moves, its efficiency, the time per bit and how long a transfer takes. Every answer shows the working, so the classic baud-versus-bits-per-second mix-up is cleared up for good.

Also listed inEngineering

Your inputs

Quick start — try a typical case

Pick what you want to work out. Use the first two for modems and radio links (QAM, PSK); use Serial (UART) for an Arduino, GPS module or USB-serial adapter.

bps

The data rate in bits per second (bps) — the number on the box. A V.32 dial-up modem sends 9,600 bps; a home broadband line might be 100 Mbps.

How the signal packs bits into each symbol. BPSK flips between 2 phases (1 bit); 16-QAM uses 16 phase-and-amplitude points (4 bits); Wi-Fi 6 reaches 1024-QAM (10 bits). More bits per symbol means more speed but needs a cleaner signal.

Your result Live

Symbol Rate

2,400 baud

9,600 bps with 16-QAM = 2,400 symbols per second

Bits per Symbol
4 (16 constellation points)
Symbol Duration
416.67 µs
Minimum Bandwidth (Nyquist)
2,400 Hz for passband (QAM/PSK) — add 10–35 % roll-off
Bit Rate ÷ Baud
4 data bits per symbol

Working

Symbol rate = bit rate ÷ bits per symbol

  1. 1: Step 1 · Bits per symbol

    16-QAM: log₂ 16 points

    Expression becomes 4 bits

  2. 2: Step 2 · Bit rate in bps

    9,600 bps × 1

    Expression becomes 9,600 bps

  3. 3: Step 3 · Symbol rate

    9,600 ÷ 4

    Expression becomes 2,400 baud

  4. 4: Step 4 · Symbol duration

    1 ÷ 2,400 s

    Expression becomes 416.67 µs

9,600 bps needs 2,400 baud.

Baud needed for 9,600 bps with each modulation

8 rows
ModulationBits per symbolSymbol rate
BPSK19,600 baud
QPSK (4-QAM)24,800 baud
8-PSK33,200 baud
16-QAM (yours)42,400 baud
64-QAM61,600 baud
256-QAM81,200 baud
1024-QAM10960 baud
4096-QAM12800 baud

Baud counts symbols; bits per second counts bits. They are equal only when each symbol carries exactly 1 bit (BPSK, or a plain serial line).

Higher-order QAM needs a cleaner signal (higher signal-to-noise ratio). Links step down the ladder when the signal weakens.

Framing, pilots and protocol headers take some of the bit rate, so user data is a little lower still.

How this is calculated

Baud = bit rate ÷ (bits per symbol × code rate) · Bits per symbol = log₂ M · UART: bits per frame = 1 start + data + parity + stop; characters/s = baud ÷ bits per frame; efficiency = data bits ÷ bits per frame

Baud (Bd)
Symbols sent per second — how often the signal changes
Bit rate
Data bits per second (bps)
M
Number of distinct symbols (constellation points), e.g. 16 for 16-QAM
log₂ M
Bits per symbol, e.g. log₂ 16 = 4
Code rate
Share of sent bits that are data after error correction (1 = none)
Bits per frame
UART character on the wire: start bit, data bits, optional parity bit, stop bits

Baud is the number of symbols a link sends each second, while bits per second is the number of data bits. A symbol is one distinct state of the signal — a phase, an amplitude, or a mix — so a scheme with M states carries log₂ M bits per symbol: 16-QAM has 16 states and carries 4 bits, which is how the ITU-T V.32 modem squeezed 9,600 bps through a phone line at only 2,400 baud. On a UART serial port each symbol is a single bit, so baud equals raw bits per second, but every character is wrapped in a start bit, an optional parity bit and one or more stop bits. That is why 9,600 baud with 8N1 framing (10 bits per byte) moves 960 bytes a second, not 1,200, and only 80 % of the line carries your data.

Assumptions & sources

  • Bits per symbol is log₂ of the number of symbols; real systems may group symbols to use a non-power-of-2 constellation.
  • Bit rates exclude framing, pilots, headers and retransmissions unless you include them through the code rate.
  • UART figures assume characters are sent back to back with no idle gaps, and that both ends run at exactly the same baud rate.
  • The Nyquist bandwidth is the theoretical minimum for passband signals; real filters add 10–35 % roll-off.
  1. 1ITU-T Recommendation V.32 — A family of 2-wire, duplex modems operating at data signalling rates of up to 9600 bit/s — ITU-T. 9,600 bit/s at a modulation rate of 2,400 baud (4 data bits per symbol).
  2. 2ITU-T Recommendation V.22 bis — 2400 bits per second duplex modem using the frequency division technique — ITU-T. 2,400 bit/s at 600 baud with 16-point QAM.
  3. 3Serial.begin() — data rate in bits per second (baud) and frame configuration (default SERIAL_8N1) — Arduino Language Reference
  4. 4UART: A Hardware Communication Protocol — Understanding Universal Asynchronous Receiver/Transmitter — Analog Devices, Analog Dialogue (Vol. 54, 2020)
  5. 5MODBUS over Serial Line Specification and Implementation Guide V1.02 — RTU character framing (11 bits, even parity by default) — Modbus Organization
  6. 6Digital Communications (5th ed.) — M-ary modulation, symbol rate and Nyquist bandwidth — J. G. Proakis and M. Salehi, McGraw-Hill

Calculator ID NET-BAUD-001 · version 1.0.0

Common questions

Is baud the same as bits per second?

Only when each symbol carries one bit. Baud counts symbols a second; bits per second counts bits. A V.32 modem sends 2,400 baud but 4 bits per symbol, giving 9,600 bps. On a UART serial port each symbol is one bit, so there 9,600 baud does mean 9,600 bits a second on the wire.

Why does 9,600 baud give only 960 bytes per second?

Each byte is wrapped in a frame: 1 start bit, 8 data bits and 1 stop bit (8N1) is 10 bits. So 9,600 ÷ 10 = 960 bytes a second, and only 8 of every 10 bits (80 %) are your data. At 115,200 baud 8N1 you get 11,520 bytes a second.

What does 8N1 or 8E1 mean?

It is the framing: data bits, parity and stop bits. 8N1 is 8 data bits, No parity, 1 stop bit (10 bits per byte) — the default for Arduino and most USB-serial adapters. 8E1 adds an Even parity bit, making 11 bits per byte; Modbus RTU uses it, so 9,600 baud 8E1 moves about 872.7 bytes a second.

What does modulation do?

It decides how many different states each symbol can take. BPSK uses 2 phases (1 bit per symbol), QPSK 4 (2 bits), 16-QAM 16 points of phase and amplitude (4 bits), and 1024-QAM 1,024 points (10 bits). More states carry more bits per symbol at the same baud, but they sit closer together, so noise causes errors sooner.

Which baud rate should I use for an Arduino or GPS module?

Whatever the other end expects — both sides must match. Arduino sketches commonly use 9,600 baud, which is plenty for a few sensor readings a second. Use 115,200 for faster logging, such as an ESP32 debug console or a GPS module set to send many updates a second.

Why is 115,200 such a common baud rate?

The classic PC serial chip ran from a 1.8432 MHz crystal and divided it by 16, giving a top rate of 115,200 baud. The lower standard rates (57,600, 38,400, 19,200, 9,600) are that figure divided by whole numbers, so they all came out exact.