TCP Window Size Calculator
Calculate the bandwidth-delay product, the receive window needed to saturate a link, the TCP window scale factor and the throughput a given window allows.
Bandwidth-delay product
BDP = bandwidth × RTT = 100 Mbps × 100 ms = 10,000,000 bits = 1.19 MB
That is how much data has to be in flight at any instant to keep the pipe full. A receiver advertising a smaller window will stall waiting for acknowledgements, no matter how fast the link is.
Window scaling
- Unscaled TCP window field
- 65,535 bytes (16 bits)
- Scale shift needed
- 5
- Effective window ceiling
- 65,535 × 2^5 = 2.00 MB
- Throughput ceiling without scaling
- 5.24 Mbps
The window scale option (RFC 7323) is negotiated once in the SYN and shifts the 16-bit window field left by up to 14 places, so the largest window TCP can advertise is 65,535 × 2^14 ≈ 1 GB.
Working backwards from a window size
A 64.00 KB window at 100 ms RTT tops out at 5.24 Mbps — about 5.2% of a 100 Mbps link.
Throughput = window ÷ RTT. That window needs a scale factor of 1 to be advertised at all. Raise the receive buffer (or enable window auto-tuning) to use the rest of the link.
What is the TCP Window Size Calculator?
The TCP Window Size Calculator computes the bandwidth-delay product — bandwidth multiplied by round-trip time — which is the amount of data that must be in flight to keep a link busy.
- Bandwidth-delay product in bits and bytes with automatic KB/MB/GB formatting
- Required window scale shift count, capped at the RFC 7323 maximum of 14
- Shows the throughput ceiling of an unscaled 65,535-byte window at your RTT
- Reverse calculation: throughput and link utilisation from any window size
- Bandwidth in Kbps, Mbps or Gbps and windows in bytes, KB or MB
- Guards against zero and negative inputs instead of showing broken numbers
How to use the TCP Window Size Calculator
- 1
Enter the link bandwidth and pick its unit — Kbps, Mbps or Gbps.
- 2
Enter the round-trip time in milliseconds, taken from a ping.
- 3
Read the bandwidth-delay product and the window scale factor needed to fill the link.
- 4
Enter a receive window in the second box to see the throughput it actually allows.
About the TCP Window Size Calculator
The TCP Window Size Calculator computes the bandwidth-delay product — bandwidth multiplied by round-trip time — which is the amount of data that must be in flight to keep a link busy. If the receiver advertises a smaller window than the BDP, throughput is capped no matter how fast the underlying circuit is.
From the BDP it works out the window scale factor needed, since the TCP header's window field is only 16 bits and tops out at 65,535 bytes. RFC 7323 window scaling shifts that value left by up to 14 places, and the tool reports the shift count and the resulting window ceiling.
It also runs the calculation backwards: enter a receive window and it tells you the maximum throughput that window can reach at your RTT, and what fraction of the link that represents. All the arithmetic runs 100% locally in your browser.
Frequently asked questions
How do I calculate the bandwidth-delay product?
Multiply the bandwidth in bits per second by the round-trip time in seconds, then divide by eight for bytes. A 100 Mbps link with 100 ms RTT gives 100,000,000 × 0.1 ÷ 8 = 1,250,000 bytes, or about 1.25 MB that must be in flight at all times.
What TCP window size do I need for a 1 Gbps link?
It depends entirely on latency. At 1 ms RTT you need only 125 KB, but at 30 ms you need 3.75 MB and at 100 ms you need 12.5 MB. That is why long-distance high-speed transfers need window scaling and large socket buffers to perform at all.
What is TCP window scaling?
The window field in the TCP header is 16 bits, so it cannot advertise more than 65,535 bytes. Window scaling, defined in RFC 7323, negotiates a shift count in the SYN that multiplies the advertised window by up to 2¹⁴, raising the ceiling to roughly 1 GB.
Why is my transfer slow even though the link is fast?
Usually because the receive window is smaller than the bandwidth-delay product, so the sender has to stop and wait for acknowledgements. With a 65,535-byte window and 100 ms RTT, a single TCP flow tops out around 5.24 Mbps regardless of whether the link is 100 Mbps or 10 Gbps.
Is the window scale factor the same as the window size?
No. The scale factor is a shift count from 0 to 14 sent once in the SYN; the actual window is the 16-bit field shifted left by that many bits. A shift of 5 means the advertised value is multiplied by 32, so a full field of 65,535 becomes just under 2.1 MB.
Related tools
MTU and MSS Calculator
Work out the TCP MSS for any path MTU, subtract PPPoE, GRE, IPsec, VXLAN or WireGuard overhead, and get the exact clamp value to configure.
TCP Header Decoder
Decode a TCP header hex dump: ports, sequence and ack numbers, all nine flag bits, window size, and every option including MSS, SACK and timestamps.
Download Time Calculator
Calculate how long a download takes from file size and connection speed, with correct Mbps vs MB/s handling, overhead allowance and the speed you need.
IPv4 Header Decoder
Paste an IPv4 header hex dump and decode every field — version, IHL, DSCP, flags, TTL, protocol — and recompute the header checksum to verify it.
Port Number Lookup
Look up what a TCP or UDP port is used for — search 150+ common well-known and registered ports by number, service name or protocol. Instant and offline.