Check your PTP synchronization
Drop in a network capture (.pcap / .pcapng) or a ptp4l/phc2sys log. The analyzer shows grandmaster, offset, path delay and sync intervals and flags common problems. Your file is processed entirely in your browser and is never uploaded anywhere.
Drop a file here or
Supported: pcap, pcapng (Ethernet, VLAN, Linux SLL/SLL2, raw IP) · PTPv2 over UDP/IPv4, UDP/IPv6 and Layer 2 · logs from ptp4l, phc2sys, ts2phc
Result
Checks
Timeline
Drag across a chart to zoom in, double-click to reset. Dashed lines mark events.
What is PTP?
The Precision Time Protocol (IEEE 1588) synchronizes clocks across a network – not to milliseconds like NTP, but to microseconds or even nanoseconds. The key is hardware timestamping: the network card timestamps packets the moment they are sent or received.
A reference clock, the grandmaster (often with a GNSS receiver), provides the time. Devices agree on which clock that is by exchanging Announce messages and running the Best Master Clock Algorithm: priority 1 → clock class → clock accuracy → variance → priority 2 → clock identity.
From four timestamps the slave calculates the network delay and its own offset:
Offset = (t2 − t1) − path delay
This assumes a symmetric path. PTP-aware switches (transparent or boundary clocks) remove their own residence time via the correctionField. With the peer delay mechanism (P2P, e.g. gPTP) every link measures its own delay using Pdelay messages.
Common profiles
- Default profile (IEEE 1588) – UDP multicast, E2E or P2P, usually domain 0
- gPTP / IEEE 802.1AS – audio/video, automotive, TSN; Layer 2, peer delay
- ITU-T G.8275.1 / G.8275.2 – telecom and 5G fronthaul; Layer 2 (domains 24–43) or UDP unicast (44–63)
- SMPTE ST 2059-2 / AES67 – broadcast and audio over IP, domain 127 or 0
- IEEE C37.238 / IEC 61850-9-3 – power grids and substations
Create a capture
The most meaningful capture is taken on the slave itself with its system clock synchronized by phc2sys – then the capture clock equals the slave clock and the offset can be read directly. Path delay, sync intervals, grandmaster and packet loss work with any capture.
sudo tcpdump -i eth0 --time-stamp-precision=nano -w ptp.pcap \ 'udp port 319 or udp port 320 or ether proto 0x88f7 or (vlan and (udp port 319 or udp port 320 or ether proto 0x88f7))'
With -j adapter_unsynced tcpdump uses the network card's hardware timestamps, if available. To get a log from linuxptp:
journalctl -u ptp4l -u phc2sys --since "1 hour ago" -o cat > ptp.log
Note: timestamps in software captures are only accurate to a few microseconds. For nanosecond-level statements, rely on the values in the ptp4l log (hardware timestamping).