Free Tool

Stop Modbus Address Confusion

Convert between 40001-style references, protocol addresses, and hex. Eliminate 0-based vs 1-based mistakes and generate requests you can verify.

Modbus Address Calculator showing address conversions and function codes

Designed for Commissioning and Debugging

🔢

40001 ↔ Protocol Offset

Convert human-readable references into correct 0-based protocol addresses.

🧭

Function Code Guidance

Pick the right function code for coils, inputs, holding registers, and input registers.

🧾

Hex + Decimal

Work in decimal, hex, and offsets without manual conversions.

🧪

Sanity Checks

Avoid off-by-one errors before you hit the PLC or device on-site.

🔌

RTU / TCP Friendly

Use the same addressing logic whether you’re on serial RTU or Modbus TCP.

🔐

Privacy First

Runs entirely in your browser. No accounts or data upload.

Addressing Features

Convert Between All Common Address Formats

Translate 0xxxx/1xxxx/3xxxx/4xxxx references into the protocol address and back. Perfect for manuals that mix conventions.

  • 0-based vs 1-based clarity
  • Holding vs input register mapping
  • Decimal and hex views
Address conversion results for multiple Modbus formats

Generate Request Parameters You Can Verify

Use the converted offsets as the exact address field used in requests. Reduce field debugging time by starting from known-good parameters.

  • Start address + quantity
  • Coils and registers
  • Consistent with common clients
Generated request parameters for Modbus clients

Explain the “40001” Problem Clearly

Many devices and software tools label addresses differently. This tool helps you reason about what the device actually expects on the wire.

  • Avoid off-by-one mistakes
  • Know what the protocol field means
  • Faster commissioning
Explanation of Modbus addressing conventions

Common Questions

Many documentation conventions label the first holding register as 40001, but the Modbus protocol address field is typically 0-based. So “40001” (human reference) often maps to protocol address 0.
Holding registers are typically read/write (Function Code 03), while input registers are read-only (Function Code 04). Devices may expose different data in each region.
No—register addressing for values is the same. Only the framing differs (TCP header vs RTU CRC).
No. Everything runs in your browser. Nothing is uploaded.

Ready to Try Modbus Address Calculator?

Free to use. No signup required. Works right in your browser.

Launch Tool Now