Modbus Register Decoder
Decode a single 16-bit Modbus register from decimal, hexadecimal or binary input. View its unsigned value, signed INT16 interpretation, complete binary pattern and active bit positions.
What Is a Modbus Register?
A standard Modbus register contains 16 bits of data. Holding registers and input registers are therefore commonly represented as unsigned values from 0 through 65535, hexadecimal values from 0000 through FFFF, or sixteen individual binary bits.
The meaning of those bits depends on the device and register map. A register may represent a simple integer, signed number, status flags, control states or part of a larger multi-register value.
How the Modbus Register Decoder Works
Enter one raw 16-bit register in decimal, hexadecimal or binary form. The calculator converts that same 16-bit pattern into several useful representations without changing the underlying register data.
32769
Hex:
8001
Binary:
1000000000000001
The same pattern can then be interpreted as either an unsigned 16-bit integer or a signed two’s-complement 16-bit integer.
Unsigned Modbus Register Values
When interpreted as an unsigned 16-bit integer, every bit contributes to a non-negative value.
0000 hex = 0
Maximum:
FFFF hex = 65535
Unsigned interpretation is common when a register stores counts, flags, raw sensor codes or other values that cannot be negative.
Signed INT16 Register Interpretation
A Modbus register can also be interpreted as a signed 16-bit two’s-complement integer when the device documentation defines it that way.
1000000000000001
Unsigned:
32769
Signed INT16:
-32767
The register bits have not changed. Only the numerical interpretation changes.
16-Bit Modbus Register Range
| Interpretation | Minimum | Maximum |
|---|---|---|
| Unsigned UINT16 | 0 | 65535 |
| Signed INT16 | -32768 | 32767 |
| Hexadecimal | 0000 | FFFF |
| Binary | 0000000000000000 | 1111111111111111 |
Modbus Register Bit Positions
A 16-bit register contains bit positions 0 through 15. Bit 0 is the least significant bit, while bit 15 is the most significant bit.
1000000000000001
In this example, bits 15 and 0 are set to 1 while every other register bit is clear.
Individual bits are often used as status or control flags in industrial devices, but their actual meanings must be taken from the manufacturer’s Modbus register documentation.
Decimal, Hex and Binary Register Input
The calculator accepts the same register value in three common forms.
| Format | Example |
|---|---|
| Decimal | 32769 |
| Hexadecimal | 8001 |
| Binary | 1000000000000001 |
All three examples represent exactly the same 16-bit register pattern.
Why Modbus Register Decoding Is Useful
Industrial devices frequently expose raw register values that are easier to troubleshoot when viewed in more than one representation. A decimal value may be useful for software, hexadecimal may match a device manual, and individual binary bits may reveal which status flags are active.
This is useful when working with PLCs, HMIs, energy meters, sensors, drives, controllers, gateways and other Modbus-compatible equipment.
Important Modbus Register Notes
It does not combine two registers into a 32-bit value.
It does not decode IEEE-754 Float32 values.
It does not change byte or word order.
It does not apply device-specific scaling or engineering units.
Signed interpretation uses standard 16-bit two’s complement.
Individual bit meanings depend entirely on the device manufacturer’s register map.