MTU to MSS Calculator
Inputs
| MTU | 1,500 B |
|---|---|
| IP header | 20 B |
| TCP header | 20 B |
MTU to MSS Calculator
Work out the TCP maximum segment size (MSS) from a path MTU by subtracting the IP and TCP headers, and see what share of each packet carries real payload.
Inputs
Packet Sizes
Results
Enter a value to see results.
Maximum Segment Size
Payload Efficiency
MTU to MSS
The maximum segment size (MSS) is the largest block of application data that TCP will place in a single packet. It is derived from the path's maximum transmission unit (MTU) — the biggest IP packet the link can carry — by reserving space for the IP and TCP headers. Getting the MSS right keeps packets whole: a value that is too large forces fragmentation or, worse, silent packet loss, while a value that is too small wastes capacity on header overhead. This calculator computes the MSS and the resulting payload efficiency from three byte counts.
The formula
MSS=MTU−HIP−HTCP E=MTUMSSwhere is the maximum transmission unit in bytes, is the IP header size, is the TCP header size, and is the payload efficiency — the share of each full-size packet that carries real data rather than headers.
The header sizes are the only moving parts. A plain IPv4 header is 20 bytes and a plain TCP header is 20 bytes, so on a standard Ethernet path the two together cost 40 bytes per packet. IPv6 uses a larger fixed header of 40 bytes, and TCP options such as timestamps and selective acknowledgement (SACK) can add a few bytes more.
Worked example. A standard Ethernet path with IPv4:
MSS=1500−20−20=1460 bytes E=15001460=0.9733=97.3%So 1460 bytes of every 1500-byte packet carry payload, and about 2.7% is consumed by the IP and TCP headers. Switching to IPv6 with the same 1500-byte MTU costs 20 extra header bytes, dropping the MSS to 1440 bytes and the efficiency to 96.0%.
Why the MSS matters
TCP advertises its MSS to the other endpoint during the SYN handshake at the start of every connection. Each side promises never to send a segment larger than the value it received, so neither endpoint produces a packet that the path cannot carry. When the MSS is sized correctly for the smallest MTU along the route, every segment travels intact and TCP runs at full efficiency.
Problems appear when a packet is larger than some link can carry. The router either fragments it — splitting one packet into several, which adds overhead and reassembly work — or, if the "don't fragment" flag is set, drops it and signals back with an ICMP message. If that ICMP message is filtered out by a firewall, the sender keeps retransmitting an oversized packet that never arrives, and the connection stalls. This failure is known as a path MTU black hole.
Headers and common MTU values
The MSS depends entirely on the MTU and on which headers apply. A few values come up repeatedly:
| Path | MTU (bytes) | IP + TCP headers | MSS (bytes) |
|---|---|---|---|
| Ethernet, IPv4 | 1500 | 20 + 20 | 1460 |
| Ethernet, IPv6 | 1500 | 40 + 20 | 1440 |
| PPPoE (DSL), IPv4 | 1492 | 20 + 20 | 1452 |
| Jumbo frames, IPv4 | 9000 | 20 + 20 | 8960 |
Tunnels such as VPNs, GRE, and IPsec wrap each packet in their own outer headers, which shrinks the MTU available to the inner packet. That is why VPN connections often advertise an MSS well below 1460, and why routers frequently "clamp" the MSS — rewriting the advertised value downward — to keep traffic flowing across an encapsulated link.
Payload efficiency and larger MTUs
Because the header cost is fixed per packet, a larger MTU spreads that cost over more payload and raises efficiency. A 1500-byte MTU yields 97.3% efficiency with IPv4 headers; a 9000-byte jumbo frame pushes that above 99.5%. Larger packets also mean fewer packets per second for the same throughput, which lightens the per-packet processing load on routers, firewalls, and network cards. Jumbo frames are therefore common inside data centres and on storage networks, where every device on the path can be configured for the larger MTU.
Related calculators
To turn a packet size into a packet rate for a given link speed, use the Packets Per Second Calculator calculator. To estimate how long it takes to move a file once the payload rate is known, see the Data Transfer Time Calculator calculator. For subnet and address planning on the same network, the Subnet (CIDR) Calculator calculator is a useful companion.
Frequently Asked Questions (FAQ)
What is the difference between MTU and MSS?
MTU (maximum transmission unit) is the largest IP packet a link can carry, including all headers. MSS (maximum segment size) is the largest TCP payload that fits inside that packet, so it excludes the IP and TCP headers. With a 1500-byte MTU and 20-byte IPv4 and TCP headers, the MSS is 1500 − 20 − 20 = 1460 bytes. TCP advertises its MSS during the connection handshake.
Why is 1500 the default MTU?
1500 bytes is the standard payload size for Ethernet, and because Ethernet dominates wired and Wi-Fi access networks, most internet paths settle on a 1500-byte MTU end to end. Some links carry less: PPPoE connections often use 1492 bytes, and tunnels (VPNs, GRE, IPsec) subtract their own encapsulation, leaving 1400 bytes or fewer for the inner packet.
How do jumbo frames change the MSS?
Jumbo frames raise the MTU to around 9000 bytes, which is common inside data centres and storage networks. With a 9000-byte MTU and 40 bytes of IPv4 plus TCP headers, the MSS climbs to 8960 bytes. Each packet then carries far more payload relative to its fixed header cost, which lifts efficiency and reduces the number of packets the hardware must process for a given amount of data.
What is Path MTU Discovery and why does it matter?
Path MTU Discovery (PMTUD) lets endpoints find the smallest MTU along a route so they can size packets to avoid fragmentation. It relies on ICMP "fragmentation needed" messages; when firewalls block those messages, PMTUD fails silently and large packets are dropped, causing stalled connections — a "PMTU black hole". Lowering the advertised MSS, or clamping it on a router, is the usual workaround.