CAN frame decoder
Paste an identifier and the data bytes to see every field by name, with units: 639 NMEA 2000 PGNs, J1939 engine data and DM1 fault codes, and CANopen network management, heartbeat, SDO and emergency messages.
29-bit ID 0x09F21401
How it works
NMEA 2000 layouts come from canboat, the open-source PGN database that Signal K server's NMEA 2000 input (canboatjs) is built on. Values are little endian; the top of a field's range means “not available” and the value below it “error”. SI units (rad, K, m/s, Pa, C) are shown with a friendlier conversion next to them.
Victron and MG Energy Systems also send proprietary register messages — Victron VREGs and MG MGREGs on PGN 61184 — for values with no standard PGN. The decoder names the registers from the makers' own documents (state of charge, cell min/max, BMS state, charge limits, device state and more). Where canboat marks a PGN's layout as unverified, the decoder says so; for the new Electric Energy Storage PGNs it uses the layout MG Energy Systems publishes instead.
Messages longer than 8 bytes travel as fast-packet frames. Paste the reassembled payload here, or the raw frames into the log analyzer, which puts them back together.
J1939: SAE's parameter database isn't public, so only engine parameters published in manufacturer manuals are decoded — engine speed and torque, load, coolant temperature, oil pressure, battery voltage, fuel level, engine hours — plus DM1 lamps and fault codes (SPN, FMI, occurrence count).
CANopen: NMT commands, heartbeat states, expedited SDO reads and writes with abort codes, and emergency messages with the error register. PDO contents depend on each device's mapping, so they're shown raw — decode them with the signal calculator.
Other CAN tools
Everything is decoded in your browser — logs and frames are never uploaded. Message layouts come from these documents; where a source doesn't define something, the tools show the raw bytes rather than guess.
- canboat — NMEA 2000 PGN database v9.0.0 (Apache License 2.0) — NMEA 2000 PGN layouts, lookups and fast-packet / ISO transport framing
- DynaGen (Cattron) TOUGH Series J1939 Reference Manual 9M02-9252-A201 — J1939 engine PGNs/SPNs, DTC layout
- Mecc Alte MxK CAN-Bus Technical Guide — J1939 DM1 lamp bits and values
- Schneider Electric Machine Expert — IoDrvJ1939 FMI (ENUM) — J1939 FMI names
- Faulhaber Communications Manual 7000.05050 (CANopen protocol description) — CANopen COB-IDs, NMT, heartbeat, SDO, abort codes, EMCY
- Victron — VE.Can registers (public) — Victron VREG register messages (PGN 61184)
- MG Energy Systems — Master LV Communication Guide v1.42.0.0 — MG MGREG registers, and the Electric Energy Storage PGN layouts (128003, 127491, 127495)
The NMEA 2000 definitions are derived from canboat, © 2009–2026 Kees Verruijt, under the Apache License 2.0. NMEA 2000® is a registered trademark of the National Marine Electronics Association; canboat's definitions are reverse-engineered, not the official NMEA database. Check critical values against your equipment's documentation.