Private IO-Link engineering aid

IO-Link IODD Process-Data Decoder & Simulator

Load a device’s IODD and paste the raw process-data bytes from your master, PLC or sniffer. See every record item as a named value with scaling, unit, enumeration label and range check; build output bytes from editable fields; and follow each bit on the byte map.

Local device description

Open an IODD

No IODD selected.

Accepts IODD 1.1 XML or the ZIP package from IODDfinder or a vendor site (stored or deflated members). XML up to 8 MiB. Standard-definition files are not bundled, so references to standard datatypes are reported rather than guessed.

Paste IODD XML or choose a local file.

IODD files, process-data bytes, captures and reports stay in this browser tab. Nothing is uploaded, and nothing is written to an IO-Link master or device.

What this IODD decoder does

An IODD (IO Device Description) is the XML file that tells engineering tools how an IO-Link device lays out its cyclic process data. This page reads DeviceIdentity, the DatatypeCollection, conditional ProcessData configurations, ProcessDataIn/ProcessDataOut records and arrays, SingleValue and ValueRange definitions, primary-language texts, and the UserInterface gradient, offset, unit code and display format. It then decodes or encodes bytes using exactly those declarations.

IO-Link bit numbering, explained

Process data travels as octets with octet 0 first. An IODD bitOffset counts from the least-significant bit of the whole process data, so offset 0 is bit 0 of the last octet. In a 32-bit PDIn, a 16-bit distance at offset 16 occupies octets 0–1 (big-endian), and a switching flag at offset 0 is the lowest bit of octet 3. Signed IntegerT values use two’s complement within their declared bit length; Float32T follows IEEE 754 big-endian; strings and octet strings place their first octet in the most-significant position.

Scaling, units and value checks

Engineering value = raw × gradient + offset, rounded per displayFormat such as Dec.1. Common IO-Link unit codes (for example 1013 = mm, 1001 = °C, 1342 = %) are named; others stay visible as the numeric code. Raw values outside every declared single value and range are flagged, which often reveals a wrong process-data configuration or an incorrect byte order in the PLC mapping.

Validation boundary

This is an analysis aid, not IODD schema validation, an IO-Link master, or a commissioning tool. It does not apply the official XSD and checker, bundle the IO-Link standard definitions, evaluate menus, parameters (ISDU), events, data storage, block parameterization, profile semantics or vendor extensions, or know which configuration a real device is running. PLC process images may add master-specific headers, byte swapping or port qualifiers. Confirm values against the device manual, the master’s own decoding and controlled testing before relying on them for control or safety.

Frequently asked questions

How are IO-Link process-data bit offsets counted?

From the least-significant bit of the whole process data. Octet 0 is transmitted first and holds the most-significant bits, so bit offset 0 is bit 0 of the last octet.

Where do the units and scaling come from?

From the IODD UserInterface ProcessDataRefCollection: gradient, offset, unitCode and displayFormat per record item. Without that information the raw value is shown unscaled.

My values look wrong. What should I check first?

Select the process-data configuration the device is actually set to, confirm the byte count matches, and check whether your PLC or gateway swaps 16-bit words. A shifted or swapped capture usually produces out-of-range labels.

Is my IODD uploaded?

No. The XML or ZIP is parsed in your browser, DTDs and external entities are refused, and nothing is sent to a device or server.

Authoritative references

The IO-Link Community publishes the IO Device Description specification and schemas and the official IODDfinder device-description database. The underlying interface is standardized as IEC 61131-9 (single-drop digital communication interface).

Browse industrial-automation tools · Inspect EtherCAT ESI / SII · Inspect PROFINET GSDML