Network Link Conditioner: Setup Guide, Common Issues & Alternatives (macOS)

Updated March 2026

Network Link Conditioner (NLC) is a free Apple developer tool that simulates degraded network conditions — slow bandwidth, high latency, packet loss — on macOS. It installs as a System Settings preference pane and applies throttling system-wide, making it the most common starting point for network throttling macOS developers reach for when testing how their apps behave on slow connections. This guide walks through how to install and configure NLC, the friction points you'll hit in practice, and the alternatives that have emerged as developers look for faster workflows.

How to set up Network Link Conditioner

Network Link Conditioner isn't bundled with macOS or Xcode. You need to download it separately from Apple's developer site. Here's how:

  1. Go to developer.apple.com and sign in with your Apple ID.
  2. Navigate to Downloads > More Downloads (or search the developer downloads page).
  3. Search for "Additional Tools for Xcode" and download the DMG matching your Xcode version.
  4. Open the DMG and find Network Link Conditioner.prefPane in the Hardware folder.
  5. Double-click the .prefPane file to install it into System Settings.
  6. Open System Settings, find Network Link Conditioner, select a profile, and toggle it on.

It installs as a preference pane — not a standalone app or menu bar item. Once active, all network traffic on your Mac goes through the selected profile's conditions. You can create custom profiles with specific bandwidth, latency, and packet loss values, or use the built-in presets like 3G, Edge, and WiFi.

Common issues with Network Link Conditioner

NLC works, but there are real friction points that become more noticeable the more you rely on network throttling macOS workflows during development.

Hard to find and install

NLC isn't in Xcode, the App Store, or Homebrew. You have to know it exists, sign into the Apple developer portal, locate the "Additional Tools" DMG for your specific Xcode version, and manually install a preference pane. For something you'd expect to be a first-party developer tool, the discovery experience is surprisingly buried.

No hot-swapping between profiles

Switching from one profile to another requires toggling the conditioner off and back on. If you're testing multiple conditions in a single session — say, checking your app on 3G, then Edge, then lossy WiFi — the constant toggling adds up.

No auto-disable timer

There's no way to set NLC to turn itself off after a set duration. Forget to disable it manually and you'll spend the next meeting wondering why Slack won't load and every page takes 30 seconds.

No menu bar indicator

When NLC is active, there's no visual cue anywhere on screen. You have to open System Settings and navigate to the preference pane to check whether throttling is still on. This makes it easy to leave running without realizing it.

Feels unmaintained

The UI hasn't changed in years. NLC still works on recent macOS versions, but Apple hasn't shown signs of active development. Some developers report that the preference pane fails to install after a macOS update, or that System Settings stops recognizing it entirely.

Alternatives to Network Link Conditioner

Charles Proxy ($50 license)

Charles is a well-established HTTP proxy that lets you inspect, modify, and throttle network traffic. Its throttling feature simulates slow connections by routing traffic through a local proxy with configurable bandwidth and latency limits.

Charles is a solid choice if you need both traffic inspection and network throttling on macOS in one tool. But if throttling is all you need, it's overkill — it's a heavyweight app designed primarily for debugging. The proxy layer can also cause issues with certificate pinning and VPN connections, which adds its own friction to testing workflows.

Proxyman ($60/year or $100 lifetime)

Proxyman is a modern macOS-native proxy tool, similar in purpose to Charles but with a more polished interface. It includes a "Network Conditions" feature with presets for 3G, 4G, WiFi, and bad/medium network conditions. You can also throttle specific hosts rather than your entire connection, which is useful for targeted testing.

Like Charles, Proxyman is primarily a traffic inspection tool where throttling is a secondary feature. The proxy-based approach means the same potential issues with certificate pinning and VPNs. It's a great tool if you need the full debugging suite, but expensive if you only need to slow your network down.

Network Throttler ($5.99 one-time, 7-day free trial)

Network Throttler is a macOS menu bar app purpose-built for network throttling. At $5.99 one-time with a 7-day free trial, it's the most affordable option — and unlike the proxy-based tools, it doesn't route traffic through a proxy layer. It uses a privileged helper to apply conditions at the system level, similar to how NLC works but with a more accessible interface.

It lives in your menu bar, so you can see at a glance whether throttling is active and switch profiles instantly — no restarting required. Built-in profiles cover the common scenarios: 3G, Edge, DSL, LTE, 1 Mbps, and lossy WiFi. Custom profiles let you set exact values for download speed, upload speed, latency, packet loss, and DNS delay. The auto-disable timer turns off throttling after a set duration, which directly addresses one of NLC's biggest pain points.

It's a 1.7 MB native SwiftUI app — universal binary for Apple Silicon and Intel. No analytics, no telemetry.

Which should you choose?

If you already have Network Link Conditioner installed and only test occasionally, it gets the job done. If you need traffic inspection alongside network throttling on macOS, Charles or Proxyman give you both capabilities in one tool. If you want the fastest, simplest workflow for day-to-day testing — something you can toggle in two clicks from the menu bar — Network Throttler is built for exactly that.

If you're looking for something simpler than Network Link Conditioner, give Network Throttler a try — it's free for 7 days.

You might also find this useful: How to Simulate a Slow Network on Mac for Testing