traceroute windows command is the Windows implementation of the traceroute utility, used to diagnose network path and latency by sending ICMP Echo Requests with incrementing TTL values.
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
What is traceroute windows command?
The Windows tracert command traces the route packets take to a destination, displaying each hop’s IP address and round-trip time. It is used to identify network bottlenecks, routing loops, or packet loss.
Options and Flags
| Flag | Type | Default | Description |
|---|---|---|---|
-d |
Switch | Disabled | Do not perform DNS lookups on intermediate router IPs; speeds up trace. |
-h max_hops |
Integer (1-255) | 30 | Maximum number of hops to search for the target. |
-j host-list |
IP list (space-separated) | None | Loose source route along the specified list of intermediate hosts. |
-w timeout |
Integer (milliseconds) | 4000 | Time to wait for each reply before timing out. |
target_name |
String | Required | IP address or hostname of the target. |
Usage Examples
Basic traceroute to a hostname
C:>tracert google.com
Performs 30-hop trace to google.com, displaying RTT for each hop and performing DNS lookups on intermediate routers.
Trace without DNS resolution
C:>tracert -d 8.8.8.8
Speeds up the trace by skipping reverse DNS lookups; output shows only IP addresses.
Trace with custom timeout and max hops
C:>tracert -h 15 -w 2000 10.0.0.1
Limits trace to 15 hops with a 2000 ms timeout per hop; useful for quick internal network checks.
Loose source routing
C:>tracert -j 192.168.1.1 10.0.0.1 203.0.113.5
Instructs routers to pass through the specified list of interfaces (if supported). Rarely used in modern networks due to security restrictions.
Troubleshooting & Common Errors
| Error Message | Root Cause | Resolution Command |
|---|---|---|
| Request timed out. | Router or host does not respond to ICMP, or packet dropped. | Use -w to increase timeout, or try from a different source IP. |
| Destination net unreachable. | No route exists to target; intermediate router returns this. | Verify routing table: route print or ipconfig. |
| Unable to resolve target system name. | DNS failure or invalid hostname. | Use IP address instead, or check DNS: nslookup target. |
| Tracing route to … over a maximum of 30 hops (all asterisks) | ICMP blocked by firewall across the path. | Try Linux traceroute -I or tcptraceroute (if available). |
| Invalid argument – option not found | Used a flag not supported by Windows tracert (e.g., -I). |
Use tracert -? to list valid flags. |
Multi-Platform Comparison: Windows tracert vs Linux traceroute
| Feature | Windows tracert | Linux traceroute |
|---|---|---|
| Default protocol | ICMP Echo Request | UDP datagrams (default) or ICMP via -I |
| Maximum hops default | 30 (fixed) | 30 (can be changed via -m) |
| Loose source routing | -j host-list |
-g gateway |
| DNS resolution control | -d disables |
-n disables |
| Timeout | -w ms (default 4000) |
-w ms (default 5000) |
| Output format | Hop number, RTT, hostname/IP, asterisks for timeouts | Hop number, RTT, hostname/IP, * for timeouts (similar) |
Tested on Windows 10 22H2 and Ubuntu 22.04. Windows tracert always uses ICMP; Linux defaults to UDP, which may be filtered by firewalls, making traceroute -I a closer equivalent.
Closing Tip
For reliable network path diagnostics across both Windows and Linux environments, always test with ICMP-based traceroute (Windows tracert or Linux traceroute -I) to avoid UDP filtering.
Frequently Asked Questions
What is the difference between -d and -h for tracert on Windows?
Answer: -d prevents reverse DNS resolution of each hop IP; -h specifies the maximum number of hops to trace.
Using -d speeds up the trace by omitting hostname lookups, essential for rapid network diagnostics. The -h flag limits the trace depth (default 30). Example:
tracert -d -h 15 8.8.8.8
When should I use the -w flag in tracert?
Answer: Use -w to set the timeout in milliseconds for each ICMP Echo Request reply, default is 4000 (4 seconds).
Decrease -w for faster completion on reliable networks; increase it for high-latency or unreliable paths. Example:
tracert -w 1000 example.com
How do I fix “Request timed out” errors in tracert on Windows?
Answer: Common causes: ICMP blocked by firewall, intermediate routers dropping probes, or network congestion.
Verify firewall permits ICMP Echo Requests. For consistent timeouts, use tracert -d -w 5000 and check endpoint reachability independently with ping. Some routers intentionally drop ICMP.
Does tracert work on all Windows platforms and versions?
Answer: Yes, tracert is native on Windows 10/11, Windows Server 2016/2019/2022, and all modern Windows versions.
It is available in Command Prompt and PowerShell. On older Windows (XP, Server 2003) it also works but lacks newer flags. For cross-platform consistency, use tracert on Windows; on Linux/macOS, traceroute with different options.
What is the fastest way to perform a traceroute on Windows while avoiding slow DNS lookups?
Answer: Use the -d flag: tracert -d skips reverse DNS resolution on every hop, reducing execution time by 50-80%.
Combine with a shorter timeout: tracert -d -w 1000 for subnet-level checks. For one-shot path discovery without resolved hostnames, this is the most efficient CLI pattern.

Command Line Expert & Software Engineer
Welcome! I’m Thomas Heinrich, a software engineer and system administrator with a deep passion for the Command Line Interface (CLI). With years of experience navigating the terminal, building backend architectures, and automating server deployments, I created this space to share practical, real-world terminal knowledge.
Whether you are a beginner taking your first steps in a Linux environment or a seasoned DevOps engineer looking to optimize your deployment scripts, you will find actionable solutions here. My goal is to help you ditch the mouse, speed up your workflow, and harness the full power of the command line.