Paste raw RTU or TCP hex bytes. Get the full frame broken down: device address, function code, register address, byte count, data values, CRC validation.
Paste any raw Modbus RTU or TCP/IP frame as hex bytes. The tool auto-detects the frame type based on the MBAP header structure — TCP frames start with a transaction ID and the protocol identifier 0x0000, while RTU frames start directly with the device address byte.
For RTU frames, the tool validates the CRC using the standard Modbus CRC-16 polynomial (0xA001, initialized to 0xFFFF). The last two bytes of an RTU frame are the CRC, LSB first. If they don't match the computed CRC, the tool flags the frame.
Register data is decoded as Int16, Uint16, and as a 32-bit IEEE 754 float across consecutive register pairs in all four register/byte orderings: ABCD (big-endian word, default — most SEL devices), CDAB (little-endian word — SunGrow, some SMA inverters), BADC, and DCBA. Pick the one your device documents and compare against the engineering value you expect; the others will look like garbage. If none match, the pair isn't a Float32 — it may be a 32-bit unsigned integer or two unrelated Int16s.
Nothing is sent to any server. All decoding runs entirely in the browser.