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.
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: Step 1 · Bits per symbol
16-QAM: log₂ 16 points
Expression becomes 4 bits
2: Step 2 · Bit rate in bps
9,600 bps × 1
Expression becomes 9,600 bps
3: Step 3 · Symbol rate
9,600 ÷ 4
Expression becomes 2,400 baud
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 rowsBaud 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.
- 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).
- 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.
- 3Serial.begin() — data rate in bits per second (baud) and frame configuration (default SERIAL_8N1) — Arduino Language Reference
- 4UART: A Hardware Communication Protocol — Understanding Universal Asynchronous Receiver/Transmitter — Analog Devices, Analog Dialogue (Vol. 54, 2020)
- 5MODBUS over Serial Line Specification and Implementation Guide V1.02 — RTU character framing (11 bits, even parity by default) — Modbus Organization
- 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.