๐Ÿฆ IP Animals
๐Ÿงฎ Subnetting & IP Math

MTU & MSS Calculator

Work out the TCP MSS from any MTU โ€” or the MTU you need for a target MSS โ€” for IPv4 and IPv6, including PPPoE and VPN tunnel overhead. It all runs in your browser.

Get the minimum link MTU required to carry this MSS with the settings above.

MTU, MSS, and why they matter

The MTU (Maximum Transmission Unit) is the largest IP packet a link will carry in one piece, headers and all. On most Ethernet networks that is 1500 bytes. The MSS (Maximum Segment Size) is the largest slice of TCP payload that fits inside a single packet โ€” so it is simply the MTU minus the IP header and the TCP header. Getting this number right keeps your traffic flowing without fragmentation or mysterious stalls.

The header sizes differ by protocol. IPv4 uses a 20-byte header and TCP another 20, so on a 1500-byte link the MSS is 1500 โˆ’ 20 โˆ’ 20 = 1460. IPv6 uses a larger 40-byte header, dropping the MSS to 1440. Tunnels and encapsulation eat into the budget too: PPPoE adds 8 bytes, so a DSL line's effective MTU falls to 1492 and its IPv4 MSS to 1452. GRE, VLAN tags, and IPsec each add their own overhead, which is why this calculator lets you stack a preset or a custom byte count on top.

Tip

If large transfers hang while small pings work, you likely have an MTU mismatch on a tunnel. The classic fix is MSS clamping: a router rewrites the MSS in the TCP handshake so both ends agree to send segments that fit the smallest link on the path. This avoids relying on fragmentation or Path MTU Discovery, which firewalls often block.

To understand why the header math differs, our guide to IPv4 vs IPv6 breaks down the two header formats, and how data travels the internet shows where packets get chopped up as they cross links of different sizes.

Everything is computed locally, so you can plan tunnel overhead for private networks without anything leaving your device. Sizing a transfer once you know your packet size? Try the Download Time Calculator, or use the IPv4 Subnet Calculator for the addressing side of your design.

Frequently asked questions

What is the MSS for a 1500-byte MTU?

On a standard 1500-byte IPv4 link the TCP MSS is 1460 bytes: 1500 minus the 20-byte IPv4 header minus the 20-byte TCP header. On IPv6 the MSS drops to 1440, because the IPv6 header is 40 bytes instead of 20. Any TCP or IP options make the real MSS a little smaller.

Why is my PPPoE MSS 1452?

PPPoE adds 8 bytes of encapsulation, so the usable MTU on a 1500-byte line drops to 1492. Subtracting the 20-byte IPv4 header and 20-byte TCP header from 1492 leaves an MSS of 1452. Many DSL routers clamp the MSS to exactly this value to avoid fragmentation.

What is the difference between MTU and MSS?

MTU (Maximum Transmission Unit) is the largest IP packet a link can carry, headers included. MSS (Maximum Segment Size) is the largest chunk of TCP payload that fits inside that packet, so MSS equals MTU minus the IP and TCP headers. MTU is a link property; MSS is negotiated per TCP connection.

Does this calculator send my values anywhere?

No. Every calculation runs in your browser with JavaScript. Nothing you type is uploaded, logged, or shared, so you can work out tunnel overhead for private networks offline.

Want the theory? Read the guides โ†’ ยท Visit the zoo โ†’