About PingRoute
A modern, high-performance network diagnostic tool that combines the route-tracing of traceroute/mtr with real-time multi-flow ping telemetry.
Why PingRoute
Diagnosing a flaky connection usually means running the same traceroute or ping command against several hosts, in several terminal tabs, trying to keep the numbers straight in your head. PingRoute puts that entire workflow into one window: multiple flows, split-screen and grid comparisons, live charts for latency, jitter, and packet loss, and a hop inspector that surfaces the metrics you'd otherwise have to calculate yourself.
It's built for the moments where you need to watch more than one thing at once — comparing an ISP route against a VPN route, checking whether a spike is local to one hop or affecting an entire path, or keeping an eye on several remote hosts during an incident.
What guides the design
Local by default
PingRoute probes your network directly from your device. There's no telemetry, no account, and no remote server in the loop — every hop, chart, and export stays on your machine.
Built for many flows at once
Most diagnostic tools show you one traceroute at a time. PingRoute was designed around comparing several routes side by side, because that's usually how real debugging happens.
Native performance, one codebase
Flutter lets PingRoute ship a genuinely native-feeling app on desktop and mobile from a single codebase, with sandboxed platform-level ICMP probing rather than shelling out to system binaries.
Details that matter to network people
Smart IPv4 sorting, an automatically generated incident log, per-hop timelines — the kind of detail that only shows up when the person building the tool is also the person staring at hop tables at 2am.
Tech stack
PingRoute is written in Dart on Flutter, styled with Fluent UI for a native-feeling desktop experience, and charts everything with fl_chart. Network probing runs through dart_ping and platform-level socket bindings, sandboxed on macOS rather than shelling out to system binaries.
Open source, LGPL-2.1 licensed
The full source is on GitHub — read it, build it, or open an issue if something looks off.