🗺️ Traceroute Tool

Generate a ready-to-run traceroute command for any host in three operating-system flavors, and get an instant browser-based reachability and latency check while you do.

⚠️ Invalid Input
Traceroute is one of the oldest and still one of the most useful diagnostic tools in networking: instead of just telling you whether a destination is reachable, it shows you every router the path passes through on the way there. This page gives you ready-to-run commands for your operating system plus an instant browser-based reachability check, alongside a complete reference on how traceroute actually works, why browsers can't run it directly, and how to read the results correctly once you do run it.
⭐ ToolsNovaHub Pro Tip
Run traceroute (or better, MTR) from both ends of a connection when you can — the path from A to B is not guaranteed to be the same as the path from B to A, since routing is asymmetric by design on most of the internet.
⚠️ Common Beginner Mistake
Assuming a hop showing high latency or asterisks is the source of a real problem. Many routers deliberately deprioritize generating the ICMP replies traceroute needs, which shows up as a slow or missing hop even when that router is forwarding your actual traffic instantly.

🔍 What Is Traceroute?

Traceroute is a network diagnostic utility that reveals the sequence of routers — the "hops" — that packets travel through between your device and a destination host, along with the round-trip time to each one. Where a ping test only tells you the total time to reach a destination and back, traceroute breaks that same journey into its individual segments, showing you exactly where along the path delay, packet loss, or a routing failure is introduced.

It was created in the late 1980s and has barely changed in concept since, because the underlying trick is elegant and still effective: it exploits a mandatory field in every IP packet called Time To Live (TTL) to force routers along the path to briefly reveal themselves, one hop at a time, without needing any special cooperation from the network beyond standard IP behavior.

Despite being decades old, traceroute remains a first-line tool for network engineers, system administrators, and developers today because the problem it solves — "where exactly in this path is the issue" — hasn't gone away even as networks have grown far more complex with cloud infrastructure, CDNs, and multi-hop VPN tunnels layered on top of the same fundamental IP routing traceroute was built to inspect.

This page's tool generates the exact command you need for your operating system and target host, so you can run a genuine trace from your own machine — the only place a real hop-by-hop trace can actually run, for reasons explained in detail further down this page.

⚙️ How Traceroute Works

The mechanism is simpler than most people expect once you see it laid out. Traceroute sends a sequence of packets toward the destination, deliberately setting the TTL field to 1 on the first packet, 2 on the second, 3 on the third, and so on. Every router that forwards an IP packet is required to decrement its TTL by one; when a router receives a packet whose TTL has just hit zero, it must discard that packet and send back an ICMP "Time Exceeded" message to the original sender, identifying itself in the process.

1

A Packet Is Sent With TTL = 1

The very first router along the path decrements the TTL to zero, discards the packet, and replies with its own address — hop 1 is now known.

2

TTL Is Incremented and Resent

A new packet is sent with TTL = 2; the first router forwards it (decrementing to 1), the second router then hits zero and replies — hop 2 is now known.

3

The Process Repeats

TTL keeps increasing by one for each subsequent probe, revealing one additional hop's identity and round-trip time with every round.

4

The Process Stops at the Destination

Once a probe actually reaches the destination host itself, it replies directly (rather than with a Time Exceeded message), and the trace completes.

📋 TTL & Packet Flow Explained

Time To Live isn't really about time at all — it's a hop-count budget encoded as a single byte in the IP header, originally intended to prevent packets from looping forever due to a routing misconfiguration. Every router that touches a packet decrements this value by exactly one; if it reaches zero, the packet is destroyed on the spot rather than forwarded again. Traceroute simply repurposes this loop-prevention mechanism as a discovery mechanism, deliberately triggering that discard-and-notify behavior at every hop in sequence.

This is why traceroute output always reads top-to-bottom as a literal path: hop 1 is always physically closest to you, and each subsequent hop is one router further along, until the final line represents the destination itself (or the last hop that responded, if the trace doesn't complete).

📡 ICMP, UDP & TCP Traceroute

Not every traceroute implementation uses the same underlying protocol for its probes, and the differences matter for troubleshooting. Windows' tracert uses ICMP Echo Request probes by default. Classic Unix/Linux/macOS traceroute uses UDP packets aimed at unlikely-to-be-open high-numbered ports by default, relying on a "port unreachable" ICMP response from the final destination to signal completion, with an ICMP mode available via a command-line flag. TCP traceroute variants exist specifically to work around firewalls that block ICMP and UDP but must, by necessity, allow certain TCP ports through — sending TCP SYN packets with increasing TTL instead, which is especially useful when tracing to a web server on port 443.

🚫 Why This Tool Can't Run a Real Trace

Browsers run inside a security sandbox that deliberately prevents web pages from sending raw ICMP or UDP packets — this is a fundamental, non-negotiable browser security boundary, not a limitation specific to this tool. Raw socket access is reserved for the operating system and for applications the user has explicitly installed and granted permission to, precisely because unrestricted raw packet crafting from a web page would be a serious security and abuse vector.

That's why this page focuses on what a browser genuinely can do honestly and usefully: generate the exact, correct command for your OS so you can run a real trace in seconds, and perform a client-side reachability and round-trip-time check to the destination using standard, permitted browser networking — giving you an immediate signal while the full hop-by-hop command runs in your terminal alongside it.

📊 Reading Traceroute Output

Each line of real traceroute output represents one hop, typically showing the hop number, the router's IP address (and reverse-DNS hostname if it resolves), and three round-trip-time samples for that hop. A steadily increasing round-trip time from hop to hop is completely normal and expected — every additional hop adds physical distance and processing time. What's worth investigating is a sudden, large jump in latency that isn't sustained at every subsequent hop, or a string of asterisks (* * *) followed by the trace successfully continuing past that point, which usually just means that one router declined to reply, not that anything is actually broken.

Output PatternLikely Meaning
Gradually increasing RTT each hopNormal — expected as the path gets physically longer
One hop spikes, later hops return to normalThat router deprioritized its own reply; usually not a real problem
Asterisks at intermediate hops, trace continuesThat hop silently dropped the probe but still forwarded the packet
Asterisks at every hop from a point onwardA firewall is likely blocking the probes from that point forward

📡 Router Behavior Along the Path

Not every router treats traceroute probes equally, and understanding why avoids a lot of misdiagnosis. Generating an ICMP Time Exceeded reply is explicitly a low-priority "control plane" task on most router hardware — the router's primary job is forwarding your actual traffic as fast as possible, and it will always prioritize that over crafting a diagnostic reply about itself. This means a hop that looks slow or unresponsive in a trace can still be forwarding real user traffic through itself instantly, with zero actual impact on the connection you're trying to diagnose.

🌐 Real-World Scenarios

🏠
Home Networking
A trace to a slow website often shows the first 1-2 hops (home router, ISP edge) responding instantly, isolating whether the slowdown is local or further upstream.
🏢
Enterprise Networking
Internal traces across site-to-site links or SD-WAN paths reveal whether traffic is taking the expected route or an unintended, longer failover path.
☁️
Cloud Networking
Tracing between cloud regions or VPC peering connections helps confirm traffic stays on the provider's private backbone rather than exiting to the public internet.
📡
CDN Diagnostics
Comparing traces to a CDN endpoint from different locations confirms whether users are being routed to the nearest edge node as expected.
🔒
VPN Scenarios
A trace run while connected to a VPN typically shows a large latency jump at the VPN server hop, which is expected overhead rather than a fault.
🌐
ISP-Level Diagnosis
A latency jump that appears consistently at the same hop, on traces to multiple unrelated destinations, points at that specific ISP segment rather than any individual site.

🔒 NAT, Load Balancing & Firewall Behavior

Network Address Translation devices generally don't interfere with traceroute's basic mechanism, but they do mean the hop addresses you see for anything behind a NAT boundary reflect the translating device's public-facing address rather than internal infrastructure, which is expected and by design. Load balancers can make a destination's own internal hops look unusually inconsistent between separate traceroute runs, since consecutive probes may legitimately be routed to different backend paths behind the same public-facing address. Firewalls are the most common source of an incomplete or fully failed trace, since many are explicitly configured to drop the ICMP or UDP traffic traceroute needs while still allowing the actual application traffic (like HTTPS) straight through without issue.

⚠️ Limitations

Traceroute shows you one path snapshot at one moment in time; internet routing can and does change between one run and the next, so a single trace is not necessarily representative of the path your traffic takes a minute later. It also cannot see inside encrypted VPN tunnels beyond the tunnel's own endpoints, cannot distinguish a genuinely congested router from one that's simply deprioritizing diagnostic replies, and provides no visibility at all into asymmetric return-path routing, since it only ever measures the outbound direction from where it's run.

⏱️ Performance Considerations

A full traceroute typically takes anywhere from a few seconds to over a minute to complete, largely driven by how many hops silently drop probes and force the tool to wait out its timeout window before moving to the next hop. Reducing the per-probe timeout speeds up a trace against a well-behaved path but risks false timeouts against genuinely slow, distant hops — the default timeout values in most implementations represent a reasonable, tested balance that's rarely worth changing without a specific reason.

🔧 Troubleshooting

⚠︑ Trace stops completely partway through
A firewall along the path (often at the destination's edge) is likely dropping the probe traffic; this doesn't necessarily mean the destination itself is unreachable for normal application traffic.
⚠️ Command not found (traceroute/tracert)
On some minimal Linux distributions traceroute isn't installed by default; install it via your package manager, or use the built-in tracepath command as a lightweight alternative.
⚠️ Every hop after your router shows asterisks
Your ISP or local firewall/router may be blocking outbound ICMP; try the TCP or UDP variant of traceroute as an alternative probe method.

✅ Best Practices

✅
Trace to Multiple Destinations
Comparing traces to two or three unrelated hosts isolates whether an issue is local, ISP-wide, or specific to a single destination.
💾
Save Output for Escalation
Copy the full trace text before contacting support — concrete hop data resolves tickets far faster than a description alone.
🔄
Repeat Before Concluding a Fault
Run a trace two or three times a few minutes apart, since transient congestion can look identical to a persistent routing problem in a single run.

🔬 Comparison Tables

ToolShows Hops?Continuous?Best Fit
PingNoOptional loopQuick total reachability & latency check
Traceroute / tracertYesNo — single passOne-time path snapshot and hop identification
MTRYesYes — live updatingDiagnosing intermittent loss or ongoing monitoring
PathPing (Windows)YesCombines both approachesStatistical per-hop loss data on Windows without extra tools
PlatformDefault CommandDefault Protocol
WindowstracertICMP
macOS / LinuxtracerouteUDP (ICMP via flag)
Linux / macOS (with mtr installed)mtrICMP by default, configurable

🤔 Frequently Confused Concepts

ConceptNot to Be Confused With
TraceroutePing, which only measures total round-trip time with no hop detail
TTL (hop budget)Cache TTL / DNS TTL, an unrelated "expiration time" concept that shares the same acronym
Hop countPhysical distance — a low hop count doesn't always mean a short physical path
📅 Last updated: September 2026📜 Sourced from: RFC 792 (ICMP) and standard OS networking documentation

ToolsNovaHub tools are built and independently reviewed with a focus on technical accuracy. Spotted an error? Let us know.

📋 Related Tools & Guides Comparison

ResourceTypeLink
Ping TestToolOpen Tool →
IP LookupToolOpen Tool →
ASN LookupToolOpen Tool →
BGP LookupToolOpen Tool →
DNS LookupToolOpen Tool →
Ping vs Traceroute ExplainedGuideRead Guide →
High Latency: Causes & FixesGuideRead Guide →
Packet Loss ExplainedGuideRead Guide →

FAQ

Traceroute depends on sending ICMP or UDP packets with increasing TTL values and reading raw ICMP responses from routers along the path. Browsers are sandboxed and cannot send raw ICMP or UDP packets, so true hop-by-hop tracing has to run from your operating system's command line.
It times how long a request to the destination takes to complete from your browser, giving you an end-to-end latency and reachability signal instantly, without replacing the hop-level detail a real traceroute provides.
They are the same underlying diagnostic concept with different names and default protocols by operating system: tracert is the Windows command (uses ICMP by default), while traceroute is the macOS/Linux command (uses UDP by default, with an ICMP option available).
Many routers are configured to deprioritize or silently drop the ICMP time-exceeded messages traceroute relies on, which shows up as a timeout for that hop even though the packet actually continued on to later hops successfully.
It's a strong starting signal but not a perfect diagnosis on its own, since a slow-responding hop isn't always the hop actually causing end-user impact — many routers deprioritize their own ICMP replies without that delay affecting the traffic passing through them.
MTR is generally more useful for anything beyond a quick check, since it continuously re-probes every hop and shows loss and latency statistics over time, while a single traceroute only gives you one snapshot.