Introducing moqtap
By moqtap team
Introducing moqtap
MoQT (Media over QUIC Transport) is one of the most exciting protocols being developed at the IETF. It promises low-latency media delivery over QUIC — but building on it today means navigating a tooling vacuum.
There’s no Wireshark dissector for MoQT. Browser DevTools don’t understand MoQT semantics. Relay implementations vary wildly in feature support. Debugging means reading raw byte logs and adding println! to your Rust code.
moqtap changes that.
What is moqtap?
moqtap is a protocol debugger and toolkit for MoQT that gives you direct visibility into sessions — whether you’re building a publisher, subscriber, relay, or CDN node. It ships as a CLI, a desktop app, and a browser extension, so you can debug MoQT wherever you work.
CLI
The moqtap CLI is the fastest way to probe and debug MoQT relays from your terminal:
moqtap peek— connect to a relay and discover namespaces, tracks, and live data. Auto-detects transport (QUIC or WebTransport) and draft version.moqtap intercept— a transparent proxy that sits between your MoQT client and relay, parsing every frame inline without modifying traffic. Supports recording sessions to.moqtracefiles.moqtap trace— replay and inspect recorded.moqtracefiles offline.
Every command supports JSON output (--json / --format json) for scripting, hex dumps for raw byte inspection, and filtering by message type or session.
Install it however you prefer:
curl -sSf https://moqtap.com/install.sh | sh # macOS/Linuxirm https://moqtap.com/install.ps1 | iex # Windows PowerShellbrew install moqtap/tap/moqtap # Homebrewnpm install -g moqtap # npmwinget install moqtap.moqtap # wingetcargo install moqtap-cli # CargoDesktop app
moqtap Desktop is a graphical application for macOS, Windows, and Linux. Connect to any relay, browse namespaces and tracks, inspect every control message and data object, view QUIC transport stats in real time, and export or import .moqtrace session traces — all without touching a terminal.
Download it from the download page or from GitHub Releases.
Browser extension
The WebTransport Inspector extension brings MoQT debugging into your browser’s DevTools. It intercepts all WebTransport connections on a page — including inside iframes — auto-detects MoQT traffic, and gives you:
- Full control message decoding with field-level detail and chunk reassembly
- Dedicated Tracks tab with per-track timing, namespace grouping, and direction filters
- Stream and datagram inspector with virtual-scrolled lists, text filtering, and transfer stats
- ISO BMFF media detection — classifies payloads as CMAF, LOC, or fMP4 with box-level detail
- Auto-detection for CBOR and MessagePack payloads alongside JSON
- Hex viewer with inline object boundary banners and per-object navigation
- Recording controls — pause capture or clear stream data on demand
- Live bitrate display and
.moqtraceexport/import
Available for Chrome and Firefox.
Protocol coverage
moqtap targets MoQT draft-14 as the primary version, with multi-draft support spanning drafts 07–17. It handles both QUIC and WebTransport, parses 31+ control message types, reassembles data stream objects, and detects payload formats including JSON, fMP4, LOC, and MSF.
Open source core
The protocol core is MIT-licensed and split across Rust and JavaScript:
Rust crates:
- moqtap-codec — wire format parser/serializer (drafts 07–17)
- moqtap-client — QUIC/WebTransport client library
- moqtap-proxy — transparent proxy framework
- moqtap-trace — event model and
.moqtracebinary format
JavaScript packages:
- @moqtap/codec — multi-draft MoQT codec (zero dependencies)
- @moqtap/trace —
.moqtracereader/writer for the browser and Node.js
Use them in your own projects, contribute back, or just read the code.
Get started
Head to the docs to get started, check out the pricing page for Pro and Enterprise options, or follow our progress on GitHub.