How to Emulate Network Throttling in Safari on Mac Using Web Inspector

When developing web applications and testing digital storefronts on high-speed fibre broadband or gigabit office Wi-Fi, pages render almost instantaneously. However, real-world users frequently access websites on flaky mobile cellular connections, congested public Wi-Fi hotspots, or transit tunnels with significant packet latency. Testing under optimal conditions causes developers to miss critical performance bottlenecks, broken asset loaders, and missing skeleton screens. Safari on macOS includes a native Network Throttling emulator inside the Web Inspector to simulate bandwidth caps and latency profiles accurately.

Understanding Network Throttling in Safari

Network throttling allows developers to constrain downstream bandwidth, upstream bandwidth, and round-trip transmission latency (RTT). Rather than requiring physical testing devices on degraded cell towers, Safari’s Web Inspector intercepts all network requests initiated by the browser tab and artificially delays their delivery according to predefined or custom network profiles.

This allows you to evaluate:

  • Core Web Vitals: Largest Contentful Paint (LCP) and Cumulative Layout Shift (CLS) on constrained mobile networks.
  • Lazy Loading Behaviour: Whether images, video embeds, and off-screen iframes defer downloading properly until in viewport.
  • Offline Resiliency: How Progressive Web Apps (PWAs) and Service Workers behave when the connection drops completely.
  • Skeleton & Loading Spinners: Verifying visual feedback states when API responses are delayed.

Step 1: Enable the Develop Menu in Safari

If you have not previously accessed Safari’s developer tools, ensure the Develop menu is visible:

  1. Open Safari on your Mac.
  2. Click Safari in the menu bar and select Settings (or press Cmd + ,).
  3. Navigate to the Advanced tab.
  4. Tick the checkbox labelled Show features for web developers (or Show Develop menu in menu bar).
  5. Close the Settings window. A new Develop menu will appear in the top menu bar.

Step 2: Accessing Network Throttling in Web Inspector

Once developer features are enabled:

  1. Navigate to the webpage or local web application you want to audit.
  2. Right-click anywhere on the page and select Inspect Element (or press Option + Cmd + I).
  3. In the Web Inspector toolbar, select the Network tab.
  4. In the Network panel’s filter bar, locate the network condition drop-down menu (defaulting to No Throttling).
  5. Click the drop-down menu to view preset network profiles:
    • 3G: Simulates average third-generation mobile connections (typically 750 kbps down, 250 kbps up, 100ms latency).
    • 4G / LTE: Simulates reliable fourth-generation mobile data (around 4 Mbps down, 3 Mbps up, 20ms latency).
    • Lossy Mobile: Introduces intentional packet loss to test transport retries.
    • Offline: Disconnects the browser tab entirely to verify offline service workers and cache policies.
  6. Select a preset (e.g. 3G).

Step 3: Creating Custom Throttling Profiles

For fine testing against specific global markets or enterprise network restrictions, you can configure bespoke throttling presets:

  1. Click the throttling drop-down menu and select Edit Configurations… (or Manage Profiles).
  2. Click Add Configuration (+).
  3. Provide a descriptive title (e.g. “Slow 2G Rural” or “Satellite Connection”).
  4. Configure the three performance parameters:
    • Download: Set maximum downstream bandwidth in kilobits or megabits per second.
    • Upload: Constrain outgoing upstream bandwidth.
    • Latency: Specify the round-trip latency penalty in milliseconds (e.g. 300ms for high-latency mobile).
  5. Click Done. Your custom preset is immediately selectable from the Network menu.

Testing and Auditing Network Waterfall Timelines

With throttling engaged:

  1. Force a complete cache reload by clicking the Reload icon in the Web Inspector or pressing Option + Cmd + R.
  2. Examine the Waterfall chart to observe:
    • Which render-blocking CSS and JavaScript files delay initial painting.
    • How font files load and whether Flash of Invisible Text (FOIT) occurs.
    • Whether critical data requests are prioritised ahead of third-party analytics trackers.

Disabling Throttling After Testing

Always remember to reset the drop-down menu back to No Throttling once your testing session concludes to restore normal high-speed browsing performance across the tab.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.