Skip to content

Network Condition

Network Condition slows connections down on purpose so you can see how an app behaves on a poor connection without leaving your desk.

Select Network Condition in the sidebar and switch on Throttle traffic. Pick a preset or step the numbers yourself.

Preset Download Upload Latency (round trip)
GPRS 50 kbps 20 kbps 500 ms
EDGE / 2G 240 kbps 200 kbps 400 ms
3G 780 kbps 330 kbps 200 ms
DSL 2 Mbps 500 kbps 50 ms
LTE / 4G 12 Mbps 6 Mbps 70 ms
5G 100 Mbps 50 Mbps 20 ms
Very bad network 100 kbps 40 kbps 1200 ms

These are the commonly used throttling figures for each generation, not a claim about any particular carrier. Once you change a number the profile shows as Custom. A rate of 0 means unlimited in that direction.

Leave Apply to empty to throttle every connection. Add host patterns (the shared rule syntax) to throttle only those hosts, so your API crawls while the rest of your Mac stays usable.

  • Per connection. One request takes as long as it would on that link, regardless of what else your Mac is doing. This is how Charles and Proxyman throttle too, and it is what people mean by “make this feel like 3G”. A machine-wide budget would make the same request finish at wildly different speeds depending on unrelated background traffic.
  • A serial link, not a token bucket. Each chunk occupies the wire for as long as it would take to transmit, and the next can’t start until it’s clear. There is no burst at full speed after an idle period, so the first byte of a large response is slow too.
  • Latency is a round trip, split evenly between sending and receiving.
  • New connections only. Changes apply to connections opened after you make them. An app already mid-download keeps its current speed; quit and reopen it to start fresh.
  • Throttling applies whether or not a host is decrypted, but only to traffic that goes through HTTPGlass while it’s capturing.