Simulating Network Speeds on Android with Developer Options
11 min read
Learn step‑by‑step how to enable Developer Options on Android and use the Network Speed simulation feature to test apps under various connection conditions.
September 24, 2026 22:30
Introduction
Testing how an app behaves on slow or unreliable connections is a common task for developers and power users. Android includes a hidden feature that lets you simulate various network speeds without needing external hardware or a separate Wi‑Fi hotspot. This tutorial walks you through enabling Developer Options, selecting the built‑in network‑speed throttling, and customizing the parameters to match real‑world scenarios.
When and Why You Might Need Network Throttling
- App development and QA: Verify that UI elements, media playback, and background sync handle latency, low bandwidth, and packet loss gracefully.
- Content creators: Check how images, videos, or livestreams look when viewers are on 3G or 2G connections.
- Power users: Simulate a poor connection to see how Android’s data‑saving features react, or to practice troubleshooting connectivity problems.
While external tools like Charles Proxy or hardware network emulators exist, the built‑in option is quick, requires no extra installation, and works on most stock Android builds (AOSP, Pixel, and many OEM skins).
Prerequisites
- A device running Android 7.0 (Nougat) or newer. The network‑speed selector was introduced in Android 7 and has been retained in later versions.
- Basic familiarity with Android settings.
- If you plan to test an app, have the app installed and ready.
Note: The feature only works on Wi‑Fi connections. Cellular data cannot be throttled via this setting.
Step 1 – Enable Developer Options
If you have never turned on Developer Options, follow these steps:
- Open Settings > About phone (or About tablet).
- Scroll down to Build number. Tap it seven times. You may be prompted to enter your device PIN or password.
- A toast message will appear: “You are now a developer!”.
- Return to the main Settings screen. You will now see a new entry called Developer options (usually just above System or About phone).
Enabling Developer Options does not modify the normal operation of your device, but it does expose powerful tools. Use them responsibly.
Step 2 – Locate the Network Speed Throttling Option
Inside Developer Options, the setting is named Network speed or Select network speed depending on the OEM skin. Here’s how to find it:
- Open Settings > System (or directly Developer options on some devices).
- Tap Developer options.
- On Pixel devices the path is
Settings → System → Advanced → Developer options.
- Scroll down to the Networking section. Look for Select network speed or simply Network speed.
- Tap the entry. A dialog appears with preset speeds (e.g., GPRS (100 kbps), Edge (200 kbps), 3G (1 Mbps), 4G (5 Mbps), Wi‑Fi (Full speed)) and a Custom option.
Step 3 – Choose a Preset Speed
For most testing scenarios, a preset speed is sufficient:
- GPRS (100 kbps) – Emulates an old 2G connection, useful for testing extreme latency.
- Edge (200 kbps) – Slightly faster than GPRS, still representative of early 2G.
- 3G (1 Mbps) – Mirrors typical 3G broadband speeds in many regions.
- 4G (5 Mbps) – Approximate average LTE speeds, good for moderate‑bandwidth testing.
- Wi‑Fi (Full speed) – Disables throttling; returns the connection to its native speed.
Select the desired preset, then press OK. The system will instantly apply the throttle to any active Wi‑Fi connection. You can verify the effect by opening a browser and loading a large image or video; the download will progress at the chosen rate.
Step 4 – Create a Custom Speed Profile
If the preset options do not match the bandwidth you need, you can define a custom profile:
- In the Select network speed dialog, tap Custom.
- Two fields appear: Upload speed (kbps) and Download speed (kbps). Enter numeric values. For example,
Upload: 500 and Download: 1500 simulate a 1.5 Mbps down / 0.5 Mbps up connection.
- Optionally, you can set a Latency (ms) value if your device’s firmware supports it (some OEM skins expose this extra field). A typical 3G latency is around 150 ms.
- Tap OK**. The custom throttling is now active.
Custom profiles persist until you change them or disable Developer Options. You can create multiple custom profiles by repeating the steps and naming them via the “Save as preset” button if your device offers it.
Step 5 – Test Your App or Service
Now that the network is throttled, you can observe how your target app behaves:
- Launch the app while the throttle is active. Pay attention to loading spinners, timeout dialogs, and any error messages.
- Use Android’s logcat (via
adb logcat) to capture network‑related warnings. Look for tags such as NetworkPolicy or OkHttp.
- Measure actual throughput with a simple speed‑test website or a dedicated app like “Network Speed Test”. The displayed speed should roughly match the throttling values you set.
When you finish testing, remember to return the setting to Wi‑Fi (Full speed) or disable Developer Options to restore normal connectivity.
Limitations and Compatibility Notes
Although convenient, the built‑in throttling has a few constraints:
- Wi‑Fi only: Cellular connections cannot be throttled via this UI. If you need to test on 4G/5G, consider using a hotspot with a hardware bandwidth limiter or a software proxy.
- Rough approximations: The system caps bandwidth but does not simulate packet loss, jitter, or variable latency beyond a static value. For more sophisticated network emulation, tools like
tc on rooted devices or external hardware are required.
- Root not required, but some OEM skins hide the option or rename it. If you cannot locate the setting, search for “Network speed” in the Settings search bar, or consult the device’s developer documentation.
- Battery impact: Throttling does not significantly affect battery life, but keeping Developer Options enabled for prolonged periods may keep certain debug services active, causing a minor increase in background power consumption.
Best Practices for Reliable Testing
- Reset after each test: Always revert to the full‑speed Wi‑Fi profile before moving to a different network scenario. Forgetting to reset can lead to misleading performance data.
- Combine with other tools: Use Android’s Network Profiler in Android Studio to capture real‑time data usage while the throttle is active. This gives you a visual representation of latency spikes and bandwidth limits.
- Document the profile: Record the exact upload, download, and latency values you used for each test case. This makes it easier to reproduce bugs later or share findings with teammates.
- Test on multiple devices: Different hardware may handle throttling slightly differently, especially on devices with custom network stacks.
- Beware of caching: Some apps cache data after the first successful download. Clear the app cache (Settings → Apps → Your App → Storage → Clear cache) before each throttled run to ensure fresh network requests.
Advanced Tip – Using ADB to Toggle the Setting
If you frequently switch between speed profiles, you can automate the process with ADB commands. The setting is stored under the system property net.speed (implementation may vary). A typical command sequence looks like this:
# Enable 3G speed (approx. 1 Mbps down / 500 kbps up)
adb shell settings put global net.speed 1000
# To revert to full speed
adb shell settings delete global net.speed
Note that the exact key name can differ; run adb shell settings list global | grep speed to discover the correct property on your device. Using ADB is especially handy for CI pipelines where you want to run automated UI tests under controlled network conditions.
Conclusion
Android’s built‑in network‑speed throttling offers a quick, code‑free way to emulate 2G, 3G, 4G, and custom bandwidth conditions. By enabling Developer Options, selecting a preset or custom profile, and testing your app or browsing experience, you gain valuable insight into how your software performs under constrained connectivity. While it does not replace full‑featured network emulators, it is an indispensable tool for developers, QA engineers, and curious users who need fast feedback without additional hardware.
Remember to switch back to the full‑speed profile after testing, clear caches where necessary, and combine the throttling with Android Studio’s profiling suite for a comprehensive view of performance. With these steps, you can confidently deliver apps that work well for users on any connection speed.