Simulate a slow network and test your app on bad connections

Loading states, retries, timeouts and offline handling only get tested if you simulate a slow network. Lagsmith does it for one app at a time, with presets in real numbers and conditions that change over time.

What to test on a slow network

  • Loading states: does a spinner or skeleton appear, or a blank screen?
  • Timeouts: what happens when a request takes 30 seconds?
  • Retries: does the app retry, and does it give up sensibly?
  • Double submits: can the user tap Pay twice while the first request is slow?
  • Images and large downloads on Edge and 3G.
  • Going offline mid-request. Airplane Mode for one app.

Slow networks, in numbers

Lagsmith includes Edge, 3G, DSL, LTE, WiFi, Very Bad Network and 100% Loss, by the same names as Apple’s Network Link Conditioner. For example, 3G is 780 kbps down with 200 ms latency. Or set your own:

  • download and upload bandwidth,
  • latency and jitter,
  • packet loss,
  • which hosts it applies to.

Profiles change conditions over time, so you can test a connection that gets worse and recovers.

Without slowing down your Mac

Only the app you pick is slowed down. How this compares with Network Link Conditioner.

Frequently asked questions

How do I simulate 3G on a Mac?

Pick the app in Lagsmith and choose the 3G preset (780 kbps down, 200 ms latency). Only that app slows down.

Can I add jitter and packet loss?

Yes. Custom conditions include download and upload bandwidth, latency, jitter and packet loss.

Can conditions change during a test?

Yes. Profiles change conditions over time instead of holding one fixed speed.

Can I run slow-network tests in CI?

Yes. Use the XCTest UI test helper, the ivar command line tool or the local HTTP API. Automation docs.

Slow down one app, not your whole Mac

Free to download, with a 14-day Pro trial. No account, no card. Requires macOS 13 Ventura or later.