- Limit the network in Edge with custom presets and profiles, including offline and WebSocket.
- Disable cache, adjust UA and encodings to play first visit and real compatibility.
- Filter, sort, and analyze requests with cascading, TTFB, payloads, cookies, and detailed timing.
- Export/import HAR and copy requests to share complete or reproducible diagnoses.

Test a website as a user with a poor connection would do It is key to ensure that the experience is not broken when the network is tight. Microsoft Edge You have native tools to emulate high latency, low bandwidth, packet loss, and even offline situations. All without installing anything extra, right from DevTools.
In this practical guide I show you how to simulate slow networks in Edge with the Network Conditions tool and the Network tab, plus everything you need to inspect, filter, sort, and export requests. You'll also see how to disable caching, spoof the user agent, work with WebSocket, create custom throttling profiles, and output clean HARs or those with sensitive data, without leaving anything behind.
What does it mean to simulate slow network conditions on the Edge?
Simulate slow network This involves applying throttling to the browser's connection to control download, upload, latency, loss, and packet ordering. Edge integrates this into DevTools, both from the main Network toolbar and from Network Conditions in the Quick Look panel.
Edge also allows you to disable the browser cache., change the user agent string, and configure which content encodings the client accepts (gzip, deflate, br), to replicate real-world first-visit or compatibility scenarios.
Why do it? Because connections vary greatly: fiber optics at home are not the same as public Wi-Fi, limited 4G, or a congested network. Latency (TTFB) and negotiation with proxies and Service Workers also play a role. By emulating various situations, you'll know where to adjust your website.
Quick Scope Note- DevTools throttling affects browser traffic within that session. If you need to throttle Windows whole, you can use very slow profiles in Edge to validate the web, or system/third-party tools outside the scope of this guide.

Getting started: Open DevTools and log network activity
Open DevTools by right-clicking > Inspect on any test page. Go to the Network tool. While DevTools is open, all requests will be logged in the table in the Network tab when the page is reloaded.
- Essential buttons: You can stop or resume logging (Ctrl+E or Cmd+E), clear requests (Ctrl+L or Cmd+K), and enable Keep Log to avoid losing history between reloads.
- Screenshots during loadingFrom the Network Settings icon in the top right corner, enable Capture screenshots and reload with Ctrl+F5. You'll be able to view thumbnails, zoom in, filter by time, and analyze what the user was seeing while the bytes were arriving.
- Play XHR: Find an XHR request, right-click it, and choose Replay XHR (or press R). This is useful for repeating the request without touching the page UI and seeing how it impacts with or without throttling.
Disable browser cache and change loading behavior
- To simulate the first royal visit, check Disable Cache at the top of the Network tab. This way you avoid responses served from cache and get the full network headers and times.
- From Network Conditions (More Network Conditions button on the Network tab) You can also enable Disable Cache if you'd prefer to centralize it along with throttling and user agent. This checkbox is in effect while DevTools has focus.
- Manual erase: In the requests table, right-click and choose Clear Browser Cache or Clear Browser Cookies when you need to clean up between tests.
- Save requests between uploads: Enable Keep Log to maintain the request timeline even when you reload or navigate between routes. Very useful for A/B comparisons.
Limit network: No connection, 4G/3G presets and custom profiles
- Quick limitation from the top bar: Open the Throttling drop-down menu and choose a preset such as Fast 4G, Slow 4G, 3G, or Offline. The Network tab will display a warning icon to remind you that throttling is active.
- Offline mode: Useful for testing PWAs with Service Workers. Select offline and check how the app responds, what gets cached, and what falls into strategies like cache-first or network-first.
- Create your own profile: Go to Throttling > Custom > Add, or use the DevTools Configuration > Throttling > Add Profile path. Define Name, Download (kbps), Upload, Latency (ms), Packet Loss (%), Queue Length, and whether you want Packet Reordering. An extreme example: 10 kbps download/upload, 10 ms, 1% loss.
- Apply the custom profile: Close Settings, return to the Network tab, and select the profile you created under Limiting > Custom. Look at the TTFB, transfer size, and download times with the water up to your neck.

Limitation also for WebSocket
Throttling affects WebSocket connections, not just HTTP. Set your slow profile and open a page that uses WebSocket. Connect, send messages, and then filter by socket using the Socket Filter button (WebSocket | WebTransport | DirectSocket) to isolate the connection.
- Messages Tab: Select the socket entry and open the Messages tab. You'll see the incoming and outgoing messages, their length in bytes, and the time. Under throttling, you'll see the effect of delay and congestion on the timestamps.
- Types of frames supported in the table: continuation, binary, close, ping, and pong. It is ideal for debugging chats, streaming data or real-time synchronization under networks translated into pedals.
- CouncilAlternate your 10 kbps profile with a slow 4G to ensure a minimum viable experience and a reasonable experience. If the app is already struggling with slow 4G, there's work to be done.

User Agent and User-Agent Client Hints
- Invalidate the user agentUnder Network Conditions, uncheck Use browser default. Choose a predefined UA or enter your own. Useful for testing UA-based detections or server-dependent responses.
- UA Client Hints: In the same section, you can adjust brands and versions (e.g., Edge 92), full browser version, platform and version (e.g., Windows 10.0), architecture (x86), and device model. This allows you to simulate how a backend using modern hints responds.
- CHECKOUT: Opens the Console and evaluates navigator.userAgentData to verify that the hints reflect the set values.
Set valid content-encodings
Edge allows you to define which content-encodings it accepts with the Validate Content-Encodings option. In practice, you configure content-encoding header support for gzip, deflate, and br. Servers typically send compressed responses, and the header indicates how the response was encoded.
Why watch it? Because it directly affects the transfer size and times on slow networks. If your server doesn't negotiate br or gzip correctly, you'll see larger sizes in the timeline.
Search, filter, and sort requests like a pro
- Global search: Open the Find tab in the Network tool (Ctrl+F or Cmd+F), enter the string, and enable case-sensitive matching or regular expressions if needed. Results are highlighted both in the table and within Headers or Responses.
- Filters by properties: Use the Filter box for expressions that combine spaces (they operate as AND). Examples: mime-type:image/png larger-than:1K, domain:*.com, has-response-header:cache-control, status-code:404, scheme:https, method:POST, url:/api/.
- available properties: cookie-domain, cookie-name, cookie-path, cookie-value, domain, has-overrides, has-response-header, is:running (for WebSocket), larger-than, method, mime-type, mixed-content:all or mixed-content:displayed, priority, resource-type, response-header-set-cookie, scheme, set-cookie-domain, set-cookie-name, set-cookie-value, status-code, url.
- Filters by type: All, Fetch/XHR, Doc, CSS, JS, Font, Img, Med switches ia, Manifest, WS, Wasm, or Other. You can activate several by holding Ctrl or Cmd to get to the point.
- More quick filters: hides data URLs (data:), hides extension URLs (chrome-extension://), shows only blocked requests, from third parties, or with blocked response cookies (with direct access to the Cookies tab and the Problems tool).

Order and understand the cascade of times
- Order by columns- Click the table headers (Name, Status, Type, Initiator, Size, Time, Completed By) to sort. Add the Cascade column by right-clicking the header if you don't see it.
- Advanced Cascade OrderRight-click the Waterfall heading and choose Start Time, Response Time, End Time, Total Duration, or Latency. Toggle ascending/descending by clicking the column title.
- Breakdown PreviewHover over a Cascade request bar to see a tooltip with queues, DNS, connection, SSL, proxy negotiation, request submission, wait (TTFB), and download. Turn on large rows to see the transferred and decompressed size at once.
- Loading events: DOMContentLoaded and load appear as vertical lines in the Overview, Cascade, and Summary panels. They're blue for DOMContentLoaded and red for load. This helps you see where your key events fall in the waterfall.
Group by iframes and inspect initiators and dependencies
- Group by frames: Enable Group by Frame in Network Settings to collapse/expand iframes with their sub-requests. This is golden when a page inserts a lot of frames.
- Initiators and dependencies: Hold Shift and hover over a request. You'll see the person who started it in green and the dependents in red. In chronological order, you can follow the chain of initiators backward.
Strip down each request: preview, response, headers, and payload
- preview: Select a request and open the Preview tab, ideal for renderable images or objects.
- Answer: Response tab to see the body as it arrives. For JSON, you can copy the format from Preview by right-clicking the first line and selecting Copy Value.
- Headers- Headers tab with General, Early Hints (if applicable), Response, and Request. Select Unprocessed to see the actual order of receipt. If Provisional Headers appear, this could be due to a local cache, an invalid resource, or security restrictions. Disabling the cache and reloading usually returns the full headers.
- Payload: Load tab for query string parameters and form data. Use View Source to see the original representation and toggle between URL-encoded and URL-decoded when testing parameters with special characters.
Cookies, size and fulfillers
- Cookies tab: Displays the cookies sent with the request, with detailed fields. Useful for reviewing SameSite, Secure, domain, and expiration dates. In the Network tool, you'll see notifications when cookies are blocked by policies or browser settings.
- Transferred and uncompressed size: Enable Large Request Rows so that the Size column displays the transferred size in large increments and the decompressed size in small increments. This helps assess the real-world impact of compression on limited networks.
- Fulfilled by: This column indicates whether a response was served from the HTTP cache or a Service Worker. For first-time test runs, it's a good idea to disable the cache to avoid falsifying timings.
Analyze WebSocket and Event Streams
- WebSocketWith the socket filter active, select the connection and open the Messages tab. You'll see up to the last 100 messages, including their direction (up/down), time, and length. Under throttling, the times tell you the network's history.
- EventSource and streamingWhen you trigger an SSE, you'll see an SSE-type request and an EventStream tab with messages arriving at a fixed rate. You can filter with a regular expression and clear the message with the Clear button.
Export and Import: Sanitized HAR or with sensitive data
- Export all as HARFrom the action bar or by right-clicking on any request, choose Export HAR (sanitized). This JSON format excludes sensitive fields like Cookie, Set-Cookie, and Authorization by default.
- Include secrets if you need toIn DevTools Settings > Preferences > Network, select Allow generating HARs with sensitive data. From there, you can also export the variant with sensitive data.
- Import a HAR: Drag a HAR file into the Network tool table or use Import HAR File. Edge will display the requests, their initiators, and allow you to analyze them as if you had captured them live.
- Copy to clipboard: With right click on a request you can copy URL, like cURL (cmd or bash), like PowerShell, such as fetch (browser or Node.js), copy the response or stack trace (if initiated by JavaScript). There are also options to copy all or filtered responses in the same formats, and to copy everything as sanitized HAR or with data.

Counters and Dashboards: An Overview
- Summary at the bottom- The Summary panel shows the total number of requests and total download size since you opened DevTools. Keep in mind that downloads that occurred before you opened DevTools are not counted.
- General Information: You can hide it if it gets in the way by unchecking Show Overview. I love it for seeing activity spikes and the location of DOMContentLoaded and load on the timeline.
- Hide Filters panelIf you want more space for your table, collapse the filter panel using the Filter button. Reactivate it when you need it again.
Practical cases with limitations: from 4G to 10 kbps
- Minimum reasonable test: Apply slow 4G and reload. Watch for TTFB and cascading times. If the hero visual takes forever, investigate critical fonts, CSS, and JS and enable br/gzip compression on the server.
- Extreme test: Apply your 10 kbps, 10 ms, 1% loss, and reordering profile. Yes, it's hell, but it reveals hidden dependencies, unfriendly timeouts, and resources that should never be blocking.
- Offline PWA: Enables offline fetching and validates Service Worker-stored routes, caching strategies, and fallback pages. Check how failed fetch requests behave and whether the user is informed correctly.
- WebSocket with latency: With the Slow profile, send and receive messages and check the Messages tab. Adjust ping/pong intervals, retries, and exponential reconnections if necessary.
Extra tips: complementary tools
- WebPageTest: A free, open-source service for simulating typical conditions (56K, 3G, etc.) by choosing a location and browser. It allows for basic and advanced testing with video, content blocking, and more.
- HeadSpin: allows you to test in mobile networks real-world benchmarks. If you need complete realism and measurement across 1.000+ networks, this is a powerful benchmark.
- Speed Curve: emulates conditions throughout the day to assess variations due to congestion. Very useful for seeing how metrics change during peak hours.
- Network Link Conditioner on macOS: part of Xcode, ideal for simulating latencies, losses or failures at the system level in Apple environments.
Quick Reference Guide to Time Phases
- Phases you will see in the Timing tab: Queuing (due to priority or the 6-connection limit in HTTP/1.0/1.1), Stalled (due to queuing), DNS Lookup, Connection (TCP and SSL), Proxy Negotiation, Request Sent, Prepare and Request to ServiceWorker, Waiting (TTFB), and Content Download. In HTTP/2, you'll also see Receive Push and Read Push, if applicable.
- Practical interpretation: Long queues encourage prioritizing resources and reducing the number of connections, high TTFB calls for optimizing backend and distance, and downloads eternal to enable compression and partition what is really critical.
Small interface tweaks that make a difference
- Large request queues: From Network Settings, enable these to see at a glance what's transferred vs. what's decompressed, and the initial and final priorities. This provides clarity when the list is long.
- Custom columnsRight-click the table header to hide/show columns and add custom columns based on response headers. You can even manage header columns from a dedicated window.
If you build a test flow with disabled caching, realistic throttling, filters by type, and a review of TTFB, waterfall, payloads, and HARYou'll have a true snapshot of how your website performs in tough situations, and you'll also know exactly what to do to keep it flying even when the network is limping.
Passionate writer about the world of bytes and technology in general. I love sharing my knowledge through writing, and that's what I'll do on this blog, show you all the most interesting things about gadgets, software, hardware, tech trends, and more. My goal is to help you navigate the digital world in a simple and entertaining way.