Calculate packets per second or required bandwidth from link rate, packet or payload size, and Ethernet protocol overhead in one tool.
- All Miscellaneous Calculators
- Mbps Calculator (MB/s to Mbps Conversion)
- RTT Calculator
- Upload Time Calculator
- Throughput to IOPS Calculator
Packets Per Second Formula
PPS = BitRate / (WireBytes * 8)
BitRate = PPS * WireBytes * 8
- PPS — packets per second
- BitRate — link or transfer rate in bits per second
- WireBytes — total bytes transmitted per packet, including headers and Ethernet overhead
For Ethernet, on-wire size adds 18 B for the Ethernet header and FCS plus 20 B for the preamble, start-of-frame delimiter, and inter-frame gap. Frames smaller than 64 B are padded to the 64 B minimum. In payload mode, header sizes are 40 B (TCP/IPv4), 28 B (UDP/IPv4), 60 B (TCP/IPv6), or 48 B (UDP/IPv6).
Reference Values
Line-rate packets per second for common Ethernet speeds, using 84 B of on-wire data per minimum-size frame (64 B frame + 20 B overhead) and 1538 B for a 1500 B MTU frame.
| Link speed | 64 B frames | 1500 B frames |
|---|---|---|
| 100 Mbps | 148,810 pps | 8,127 pps |
| 1 Gbps | 1.488 Mpps | 81,274 pps |
| 10 Gbps | 14.88 Mpps | 812,744 pps |
| 25 Gbps | 37.20 Mpps | 2.03 Mpps |
| 40 Gbps | 59.52 Mpps | 3.25 Mpps |
| 100 Gbps | 148.81 Mpps | 8.13 Mpps |
Typical packet rate ranges and what they mean for hardware:
| Range | What to expect |
|---|---|
| Under 100 kpps | Handled by most software routers, firewalls, and capture tools. |
| 100 kpps to 1 Mpps | Pushes single-CPU forwarding and packet capture; tune NIC offloads and queues. |
| 1 to 10 Mpps | Needs multi-queue NICs, kernel bypass (DPDK, XDP), or hardware forwarding. |
| Over 10 Mpps | Typically requires ASIC or FPGA forwarding at line rate. |
Worked Example
Find the packet rate for a 10 Gbps link sending 64 B Ethernet frames.
- On-wire size = 64 + 20 = 84 B = 672 bits.
- Bit rate = 10,000,000,000 bps.
- PPS = 10,000,000,000 / 672 = 14,880,952 pps, or about 14.88 Mpps.
FAQ
Why include 20 bytes of overhead? Ethernet adds a 7 B preamble, 1 B start-of-frame delimiter, and a 12 B inter-frame gap between frames. These bits are on the wire and consume bandwidth even though they are not part of the frame.
Should I use the packet size or the payload mode? Use packet size mode when you know the frame or MTU. Use payload mode when you only know the application data per packet and the protocol stack.
Does this apply to non-Ethernet links? The basic formula does. Set "No overhead" if you want to ignore framing, or adjust the size to match your link layer.
