Ethernet Packet Rate & Goodput Calculator

Enter the payload, protocol headers, VLAN tags, MTU, and link speed to see the wire-rate packet rate and useful application goodput. The result separates MAC frame bytes from the preamble and interframe gap byte-times that still consume the link.

Your numbers
Choose the nominal per-direction Ethernet link rate.
IPv4 contributes a 20-byte header and IPv6 a 40-byte base header.
Select TCP or UDP to include its standard header.
Enter zero for a basic 20-byte TCP header or include padded TCP options such as timestamps.
Enter useful application data, excluding IP, TCP, UDP, and Ethernet headers.
Each IEEE 802.1Q tag adds four bytes to the Ethernet frame.
Used to flag packets that exceed the configured Layer 3 MTU.
Enter the useful-data throughput for which the required Ethernet line rate should be calculated.

What this calculator leaves out

  • Results are theoretical maximums for continuous, error-free traffic in one direction and are not a guarantee of measured throughput.
  • The estimate excludes application, encryption, tunneling, VPN, PPPoE, MPLS, and IPv6 extension-header overhead unless you include those bytes in the entered values.
  • Actual goodput can be lower because of congestion, retransmissions, flow control, device limits, and traffic gaps.

By using this calculator you agree to the Terms of Use. Results are estimates, not professional advice.

Maximum application goodput (Mbps)949.28

IP packet size (bytes)
1,500
Ethernet frame size (bytes)
1,518
Line-time bytes per packet
1,538
Maximum packet rate (pps)
81,274.38
Application efficiency
94.93%
Required Ethernet line rate (Mbps)
948.08
MTU check
Fits the MTU with 0 bytes of headroom.
Target at selected line rate
Feasible at this line rate with 51.92 Mbps of theoretical headroom.
Packet byte budget
ComponentBytes
Application payload1,460
IP header20
Transport header20
Ethernet header and VLAN tags14
Minimum-frame padding0
Frame check sequence4
Preamble and SFD8
Interframe gap byte-times12

Line rate and packet rate are per direction on a full-duplex Ethernet link.

Preamble and interframe gap are counted as line-time byte equivalents, not MAC frame bytes.

How to use this calculator

  1. Choose the Ethernet line rate for one direction of the link.
  2. Select IPv4 or IPv6 and TCP or UDP, then add TCP option bytes when they are present.
  3. Enter the useful application payload per packet, VLAN tag count, and configured IP MTU.
  4. Use the packet rate, goodput, efficiency, and required line rate to compare packet sizes or link speeds.

How Ethernet goodput is calculated

Ethernet line rate is spent on more than application data. Each packet carries IP and transport headers, an Ethernet header, an FCS, and sometimes VLAN tags. On the wire it also consumes the preamble, start frame delimiter, and interframe gap, even though those bytes are not part of the MAC frame length usually shown by packet tools.

The calculator uses these byte counts:

  • IPv4 is 20 bytes, and IPv6 is 40 bytes before extension headers.
  • UDP is 8 bytes. TCP is 20 bytes plus TCP options rounded to a four-byte boundary.
  • Ethernet is 14 bytes, plus 4 bytes for each 802.1Q VLAN tag, plus a 4-byte FCS.
  • The MAC frame is padded to at least 64 bytes from destination address through FCS.
  • Line-time bytes add 8 bytes for preamble/SFD and 12 byte-times for the interframe gap.

With application payload A, IP header I, transport header T, VLAN tag count V, and line-time bytes W, the core formulas are:

L = I + T + A

F = max(64, 14 + 4V + L + 4)

W = 8 + F + 12

packet rate = line rate bits per second / (8W)

goodput Mbps = packet rate * 8A / 1,000,000

efficiency percent = 100A / W

For reverse sizing, the required Ethernet line rate is target goodput * W / A when the payload is greater than zero. A zero-byte payload can still have a packet rate, but it cannot carry application goodput, so reverse line-rate sizing is undefined.

What moves the result most

Payload size usually dominates the answer. A full-size TCP segment on a 1500-byte IPv4 MTU spends a small share on overhead, while tiny UDP or TCP packets are heavily affected by Ethernet minimum-frame padding, preamble, and interframe gap. VLAN tags add only four bytes each, but at very high packet rates those bytes still reduce goodput and increase the link rate required for a target payload throughput.

The MTU check is separate from the Ethernet frame calculation. VLAN tags increase the Layer 2 frame size but do not consume IP MTU. TCP options and IPv6's larger base header do consume MTU because they are inside the IP packet budget.

What this calculator leaves out

The result is a theoretical one-direction maximum for continuous, error-free traffic. It does not include application-protocol framing, TLS, IPsec, GRE, VXLAN, PPPoE, MPLS labels, IPv4 options, IPv6 extension headers, retransmissions, congestion control, pause frames, device processing limits, or idle gaps between bursts. Add those overheads to the payload or headers when they apply to the traffic you are modeling.

Worked example

For the default case, use 1 Gbps Ethernet, IPv4, TCP with no options, a 1,460-byte application payload, no VLAN tags, a 1,500-byte MTU, and a 900 Mbps target goodput. The IP packet is 20 + 20 + 1,460 = 1,500 bytes, so it exactly fits the MTU.

The Ethernet frame is 14 + 1,500 + 4 = 1,518 bytes. Adding the 8-byte preamble/SFD and 12 byte-times of interframe gap gives 1,538 line-time bytes. At 1 Gbps, the maximum packet rate is about 81,274 packets per second, and the maximum application goodput is about 949.28 Mbps. Application efficiency is 94.93%, so 900 Mbps of useful payload needs about 948.08 Mbps of Ethernet line rate before real-world losses or traffic gaps.

Common questions

Why is 1 Gbps Ethernet application throughput below 1 Gbps?

The nominal line rate includes every bit sent on the wire, not only application data. Ethernet framing, IP and TCP or UDP headers, FCS, preamble, and interframe gap all consume part of the line. With full-size IPv4/TCP packets, the theoretical application goodput is about 949 Mbps on a 1 Gbps link before higher-layer overheads.

How many packets per second can Gigabit Ethernet carry?

It depends on the line-time bytes per packet. Minimum-size Ethernet frames consume 84 byte-times when preamble and interframe gap are included, so 1 Gbps can carry about 1.488 million packets per second in that case. Larger frames use more byte-times and therefore have a lower packet rate.

Do the Ethernet preamble and interframe gap count as overhead?

They count for line-rate and packet-rate math because they occupy time on the medium. They are not part of the MAC frame length from destination address through FCS, which is why packet captures and vendor tables can appear to use different frame sizes.

How much overhead does an 802.1Q VLAN tag add?

Each 802.1Q VLAN tag adds four bytes to the Ethernet frame. QinQ uses two tags, so it adds eight bytes at Layer 2. VLAN tags do not reduce the IP MTU because they sit outside the IP packet.

What is the difference between throughput and goodput?

Throughput often refers to the total rate carried by a link or protocol layer, including headers and framing. Goodput is the useful application data rate after those overheads are removed. This calculator reports application goodput, so it is intentionally lower than the Ethernet line rate.

Does jumbo-frame MTU include the Ethernet header?

IP MTU normally describes the Layer 3 packet size and excludes the Ethernet header, VLAN tags, FCS, preamble, and interframe gap. Some hardware documentation discusses maximum frame size instead, so check whether the number is an IP MTU or a Layer 2 frame limit.

Put this calculator on your site

Paste the snippet below where you want the calculator to appear. It stays up to date automatically and links back here.

<iframe src="https://countfolk.com/embed/ethernet-packet-rate-goodput-calculator/" title="Ethernet Packet Rate & Goodput Calculator" width="100%" height="640" style="border:0;max-width:44rem" loading="lazy"></iframe>