MTU / MSS Calculator
Compute the effective MSS from the MTU: subtract the IP header, the TCP header and the overhead of every encapsulation you tick. You will see the byte-by-byte breakdown (MTU − each component).
Byte-by-byte breakdown
| Component | Bytes | Running total |
|---|
How it is calculated · MTU, MSS and overhead
1. The MTU is the largest IP
packet that fits in a frame. The MSS is the largest block of
TCP data per segment.
2. MSS = MTU − IP header − TCP header − encapsulation overhead.
3. Headers: IPv4 = 20 B,
IPv6 = 40 B, TCP = 20 B (+12 B with timestamps).
4. Encapsulation (B): VLAN 4, QinQ 8,
PPPoE 8, MPLS 4/label, GRE 24,
IPsec ESP tunnel ~73, VXLAN 50, WireGuard 60.
5. Example: 1500 − 20 − 20 = 1460;
with PPPoE 1500 − 8 − 20 − 20 = 1452.
Runs locally in your browser · no sign-up · nothing leaves your browser.
How it works
The calculator starts from the link MTU (between 68 and 65535 bytes, with presets for 1500 Ethernet, 9000 jumbo, 1492 PPPoE and 1280 IPv6 minimum) and derives the effective MSS: the maximum TCP payload per segment. The formula is MSS = MTU − encapsulation − IP header − TCP header, with IPv4 = 20 B, IPv6 = 40 B and TCP = 20 B, plus 12 B if you enable the timestamps option (RFC 7323), common on Linux.
Each encapsulation is a toggle that subtracts its overhead: VLAN 802.1Q 4 B, QinQ (802.1ad) 8 B, PPPoE 8 B, GRE 24 B, VXLAN 50 B, WireGuard 60 B, MPLS 4 B per label (up to 6) and IPsec ESP in tunnel mode with an editable value (~73 B typical, since it depends on the cipher suite). The result includes the effective MTU after encapsulation, a byte-by-byte breakdown and the MSS clamping command (tcp adjust-mss) ready to copy.
Example: MSS on a typical PPPoE link
- Ethernet MTU:
1500 B; enable the PPPoE toggle, which subtracts 8 B of encapsulation. - Effective MTU for IP:
1500 − 8 = 1492 B. - Subtract the IPv4 and TCP headers:
1492 − 20 − 20 = 1452 B. - The effective MSS is 1452 B, the classic clamping value on PPPoE routers.