Traceroute and ping,in a single live view.

OpenMTR is a modern, lightweight network diagnostic tool and a successor to WinMTR. It probes every hop continuously and shows loss, jitter, latency and ASN in real time, with a clean Qt6 interface for Windows, macOS and Linux.

Windows 11 · AMD64 · ARM64 macOS 13+ · Apple Silicon Linux · x86_64 · aarch64
OpenMTR0:00–☐✕
Target:
www.wide.ad.jp
IPv6 Ping size:
64
bytes
HopASNHostnameIPLoss%SentRecvBestmsAvrgmsWrstmsLastmsJttrms

A live replica using real data from an OpenMTR export. Press Start to run a live trace, switch the theme, or open the version info.

Why OpenMTR

Live

Every hop between you and the target is probed continuously and the statistics update in real time.

Problem hops stand out

Loss bars and dimmed 0% hops make trouble spots obvious at a glance.

GUI or CLI

A full desktop app, plus a headless report mode for scripts, cron jobs, CI and SSH.

No admin rights

Runs as a standard user. Nothing to elevate, nothing to install as a service.

Follow the path

The example above traces 18 hops from a home router in Czechia to a server in Tokyo. The long jump to about 220 ms is the intercontinental link through Hong Kong.

18hops
224 msto Tokyo
0 %loss at target

Two early hops report loss, but everything after them is clean. That is just those routers rate-limiting ICMP replies, so the path itself is healthy. Knowing how to read that is the whole point of a tool like this.

Prague3 msHong Kong173 msTokyo224 ms

How a trace works

OpenMTR sends packets with an increasing time-to-live. Each router that drops one reports back, and that is how the whole path appears, hop by hop.

Your PC1Router2ISP3Transit4Exchange5Target

Made for real-world problems

Whenever a connection feels wrong and someone asks you to "send an MTR", this is the tool to reach for.

Gamers

Lag spikes? Find out whether it is your Wi-Fi, your provider or the game server, and hand support the proof.

Sysadmins and NOC

Check paths from any workstation, script it with --report, and export csv or json for tickets and monitoring.

Home users and ISP support

When support asks for a trace, export the report and attach it. No account, no installer, no admin rights.

Everything you need to find the bad hop

Derived from the WinMTR Redux engine, with a modern interface and a lot more around it.

Tracing and statistics

Real-time route tracing

Continuously probes every hop and updates statistics live.

Per-hop statistics

ASN, hostname, IP, packet loss, jitter, sent and received counts, plus best, average, worst and last latency.

Packet loss at a glance

A visual loss bar per hop with exact numbers in a tooltip. Hops with 0% loss are dimmed so the problem ones stand out.

Route change and load-balancing detection

Hover a hop that answered from more than one IP and it is flagged as a route change or per-packet load balancing, with details.

ASN lookup

Autonomous System Numbers are resolved automatically through Team Cymru's DNS service.

IPv4 and IPv6

Full dual-stack support, with automatic fallback if the target can't be resolved with the chosen protocol.

Configurable ping size

Adjust the ICMP payload from 64 to 8192 bytes.

Live test duration

A running timer in the title bar during a trace, frozen when stopped. Start time and duration are included in exports.

Interface

Light and dark themes

Switches instantly and follows the system theme on launch. The title bar follows too, natively on every platform.

Custom frameless window

A Fluent-inspired look and the same controls everywhere. On macOS you also get a native application menu.

Tooltips everywhere

Loss details, and the full IP or hostname whenever it doesn't fit its cell. Tooltips follow the cursor and stay on screen.

Smart column sizing

Hostname and IP columns share space by content width, and the toolbar adapts as the window narrows.

HiDPI aware

Crisp on high-DPI and mixed-DPI setups on every platform.

Instant close

The app exits immediately at any time. Background threads stop asynchronously without blocking the UI.

Export and workflow

Export or copy

Save as .txt, .csv or .json through a native Save dialog, or copy the full report. Double-click any cell to copy its value.

Headless report mode

Run a one-shot trace from the command line and get text, JSON or CSV. No window, no display needed.

Works in scripts, too

The same engine and the same report code run without a window. Use it in cron jobs, CI, Task Scheduler, or over SSH.

 terminal

Like the real CLI, progress is a single self-overwriting line on stderr. The demo measures for 10 s to keep it short; the report is from a real 2-minute run.

Options

--time <s>Required. How long to measure after the route has settled. Warm-up isn't counted.
--size <bytes>ICMP payload, 64 to 8192 (default 64, same as the window).
-4 / -6Force IPv4 or IPv6. Default is IPv6 with automatic IPv4 fallback.
--txt / --json / --csvReport format. Text is the default.
--output <path>Write the report straight to a file. Works with no shell or console, e.g. Task Scheduler.
-h / -vShow usage, or print the version.

Progress goes to stderr and disappears when output is redirected, so it never ends up in a saved report.

Exit codes for scripting

0Report printed, the destination replied
1Report printed, the destination never replied
2Invalid command line
3The target could not be resolved
4The trace could not start (no ICMP socket or handle)
5The --output file could not be written
130Interrupted with Ctrl+C, partial report still printed

  

Real output of the same run as the window above, exactly as OpenMTR writes it. Hops 4 and 5 show loss while the rest of the path is clean.

WinMTR vs OpenMTR

OpenMTR carries on the idea of WinMTR, with an engine derived from WinMTR Redux, and builds the rest around current platforms.

Original WinMTROpenMTR
Platforms & delivery
Platforms
Windows only
Windows 11 (AMD64, ARM64), macOS 13+ (Apple Silicon) and Linux (x86_64, aarch64)
Distribution
Windows executable
Windows EXE, macOS DMG and Linux AppImage
Analysis
Per-hop statistics
Hostname, loss, sent/recv, best/avg/worst/last
All of that, plus ASN and jitter per hop
ASN lookup
Automatic through Team Cymru DNS, cached
Jitter
Its own column
Loss at a glance
Numbers only
Loss bar per hop, 0% hops dimmed so problem hops stand out
Route changes
Multiple answering IPs are flagged as route change or load balancing, with details
IP versions
IPv4 only
IPv4 and IPv6 with automatic fallback
Ping size
64 to 8192 bytes
64 to 8192 bytes
Interface
Window
Classic Win32 dialog
Modern Qt6 window with a Fluent-inspired frameless design
Themes
Light and dark, follows the system, native title bar on every platform
Hop details
Properties dialog per hop (double-click)
Loss details, plus the full IP or hostname where it doesn't fit
Copying
Whole report as text or HTML
Whole report, or any single value with a double-click
Export and automation
Export formats
Text, HTML
txt, csv and json through a native Save dialog
Headless mode
GUI only, the command line just starts a trace in the window
--report with text, JSON or CSV output
Exit codes
Documented codes 0 to 5 and 130 for scripts
CSV safety
Spreadsheet formula injection neutralised in hostnames
Under the hood
Engine
Thread per hop
Single async dispatch loop, based on WinMTR Redux
Documentation
README and a short in-app help
Architecture, engine, GUI, build and CI docs, plus a known-issues history
Development
Moved to GitHub in Nov 2025, still looking for developers
Actively developed
License
GPL v2
GPL v2

supportedpartlynot available

Small, fast and documented

One binary that is either a Qt Widgets GUI or a headless CLI. Everything that matters is shared between the two, so they can never disagree about what a trace found.

Async engine

A single dispatch loop replaces one thread per hop, avoiding a thread's stack and scheduling slot for every hop.

Shared core

The tracer, report formatting, warm-up logic and ASN cache are used identically by the window and the command line.

No Qt Network

Deliberately avoided, together with hardened build flags and uncompressed packaging, to keep antivirus false positives down.

Safe exports

Hostnames come from remote reverse DNS, so CSV exports neutralise spreadsheet formula injection in that column.

Well documented

Architecture, engine internals, GUI internals, build and CI notes, and a known-issues history live in the repo's docs/ folder.

main.cpp
 ├─ --version   → print version, exit
 ├─ --report    → cli::run()          (no QApplication)
 └─ otherwise   → QApplication + MainWindow

shared:  tracer  ·  report_core  ·  asncache  ·  updatecheck
Start / stop tracing Enter
Copy full report Ctrl/⌘ + C
Export dialog Ctrl/⌘ + S
Copy a single value Double-click

Get OpenMTR

Free and open source. Pick your platform.

RequiresWindows 11, AMD64 or ARM64
Recommended24H2 (build 26100) or newer. On earlier builds the window opens with an empty console window behind it.
Tip: started from a shell without arguments, the shell waits until the window closes, like any console program. Use start OpenMTR.exe in cmd or Start-Process OpenMTR.exe in PowerShell to get the prompt back.
RequiresmacOS 13 Ventura or newer, Apple Silicon

Open the .dmg and drag OpenMTR to Applications. The app is signed ad-hoc rather than with an Apple Developer ID, so macOS refuses the first launch. Clear the quarantine flag once:

xattr -dr com.apple.quarantine /Applications/OpenMTR.app
Local network: macOS will ask for local network access on the first trace. A traceroute's first hop is normally your own router, so it is needed.
RequiresDesktop Linux, x86_64 or aarch64, with a recent glibc

Download the AppImage from the releases page, make it executable and run it:

chmod +x OpenMTR*.AppImage && ./OpenMTR*.AppImage
Building yourself: your distribution's qt6-base-dev, CMake 3.22+, Ninja and a C++20 compiler are enough.

Questions

Is OpenMTR a replacement for WinMTR?

Yes. It does the same job, a combined traceroute and ping with live per-hop statistics, in a modern application that also runs on macOS and Linux. Its network engine is derived from WinMTR Redux.

Do I need administrator rights?

No. OpenMTR runs as a standard user.

How do I read the results?

Loss at the final hop is what matters. A middle hop that shows loss while later hops don't is usually just a router rate-limiting its ICMP replies, not a real problem. In the example above, hops 4 and 5 show loss but the destination is clean.

My antivirus flagged it. Is it safe?

The source is open, so you can read or build it yourself. Network tools that send ICMP packets sometimes trigger machine-learning false positives, and the project's build flags and packaging are chosen specifically to reduce that.

macOS says the app is damaged.

The app is signed ad-hoc, not with a paid Developer ID. Run xattr -dr com.apple.quarantine /Applications/OpenMTR.app once after moving it to Applications and it launches normally.

Is it free?

Yes, GPL v2, with no ads and no accounts. If it helps you, you can support development on Ko-fi or GitHub Sponsors.

Built in the open

OpenMTR builds on WinMTR Redux by White-Tiger and the original WinMTR by Vasile Laurentiu Stanimir. The macOS build was created and fine-tuned by BKPepe. The whole application was built with Claude, directed and reviewed by the project maintainer.