Lighthouse applies both network and CPU throttling by default to emulate the experience of a typical mobile user on a mid-range device and a slow 4G connection, even when your own machine has a fast CPU and fiber internet.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/GoogleChrome/lighthouse/llms.txt
Use this file to discover all available pages before exploring further.
Why Lighthouse throttles
Performance scores measured on a fast developer machine without throttling are not representative of what real users experience. By simulating a mobile network and a slower CPU, Lighthouse produces scores that reflect the ~85th percentile mobile experience, making results more actionable and comparable across machines.Network throttling
The default network throttling preset targets roughly the bottom 25% of 4G connections and top 25% of 3G connections. In Lighthouse this is called “Slow 4G” (previously labeled “Fast 3G”).| Setting | Default value |
|---|---|
| Latency (RTT) | 150ms |
| Download throughput | 1.6 Mbps |
| Upload throughput | 750 Kbps |
| Packet loss | None |
CPU throttling
Lighthouse applies a 4x CPU slowdown multiplier by default. This moves a typical high-end desktop CPU into the performance range of a mid-tier mobile device. CPU throttling is relative to the host machine’s speed, unlike network throttling which targets absolute values. This means results can differ across devices. Lighthouse computes abenchmarkIndex for every run to help you understand your machine’s relative performance. You can find it under “CPU/Memory Power” at the bottom of the report.
| Device class | Benchmark index range |
|---|---|
| High-end desktop | 1500–2000 |
| Low-end desktop | 1000–1500 |
| High-end mobile | 800–1200 |
| Mid-tier mobile | 125–800 |
| Low-end mobile | < 125 |
--throttling.cpuSlowdownMultiplier flag to adjust.
Throttling methods
- Simulated (default)
- DevTools
- Provided (disabled)
Lighthouse records an unthrottled page load, then uses a network and CPU simulation model to estimate how long the page would have taken under throttled conditions.Advantages:
- Fast — only one real page load required
- Low variance — results are deterministic
- Accuracy depends on the simulation model
- Edge cases in complex JavaScript execution paths may be less accurate
- The
View Original Tracebutton in DevTools shows the unthrottled trace, not the simulated one
Packet-level throttling
For the most accurate network simulation, use a packet-level throttling tool alongside Lighthouse’sprovided method. Packet-level throttling affects all traffic (TCP/UDP/ICMP) at the OS level.
The @sitespeed.io/throttle package is a cross-platform CLI tool for this on Mac and Linux.
On Windows, use WinShaper or Clumsy for Windows 7, or NetLimiter / TMeter for Windows 10.
Calibrating CPU slowdown
If your machine’sbenchmarkIndex is outside the typical high-end desktop range, calibrate the CPU multiplier accordingly.
Use the table below to determine an appropriate cpuSlowdownMultiplier for your host device and target device:
| Host \ Target | High-end desktop | Low-end desktop | High-end mobile | Mid-tier mobile | Low-end mobile |
|---|---|---|---|---|---|
| High-end desktop | 1x | 2x (1–4) | 2x (1–4) | 4x (2–10) | 10x (5–20) |
| Low-end desktop | — | 1x | 1x | 2x (1–5) | 5x (3–10) |
| High-end mobile | — | — | 1x | 2x (1–5) | 5x (3–10) |
| Mid-tier mobile | — | — | — | 1x | 2x (1–5) |
| Low-end mobile | — | — | — | — | 1x |
benchmarkIndex is on the higher end of its bracket, use a higher multiplier from the range. If it’s lower, use a lower multiplier.