UDS DID Lookup: Standard Data Identifiers
Look up the data identifiers reserved by ISO 14229-1: VIN (F190), active session (F186), software and hardware numbers, fingerprints, OBD and safety ranges.
Updated This page as Markdown
In short
This lookup lists the data identifiers (DIDs) that ISO 14229-1 Annex C reserves for standard purposes: the identification block 0xF180 to 0xF19F (boot and application software, fingerprints, VIN, serial and part numbers, programming date), the manufacturer and supplier specific ranges, and the periodic, dynamic, OBD, tachograph, airbag and safety ranges up to 0xFFFF. Search by code, name or meaning. Everything outside these ranges is defined by the ECU description (ODX or CDD).
A code (F190, 0xF18C), part of a name (VIN, fingerprint) or a word from the meaning.
50 identifiers
| DID | ISO name | What it is |
|---|---|---|
| 0xF180 | bootSoftwareIdentificationDataIdentifier | Identification of the boot software. |
| 0xF181 | applicationSoftwareIdentificationDataIdentifier | Identification of the application software. |
| 0xF182 | applicationDataIdentificationDataIdentifier | Identification of the application data (calibration). |
| 0xF183 | bootSoftwareFingerprintDataIdentifier | Who programmed the boot software and when. |
| 0xF184 | applicationSoftwareFingerprintDataIdentifier | Who programmed the application software and when. Often writable in programming session: a target for write probing. |
| 0xF185 | applicationDataFingerprintDataIdentifier | Who programmed the application data and when. |
| 0xF186 | ActiveDiagnosticSessionDataIdentifier | The currently active diagnostic session. The first DID to read when mapping an ECU. |
| 0xF187 | vehicleManufacturerSparePartNumberDataIdentifier | Manufacturer spare part number. |
| 0xF188 | vehicleManufacturerECUSoftwareNumberDataIdentifier | Manufacturer ECU software number. |
| 0xF189 | vehicleManufacturerECUSoftwareVersionNumberDataIdentifier | Manufacturer ECU software version. |
| 0xF18A | systemSupplierIdentifierDataIdentifier | Who made the ECU (system supplier). |
| 0xF18B | ECUManufacturingDateDataIdentifier | Manufacturing date of the ECU. |
| 0xF18C | ECUSerialNumberDataIdentifier | Serial number of the ECU. Check whether it is writable. |
| 0xF18D | supportedFunctionalUnitsDataIdentifier | Functional units the ECU supports. |
| 0xF18E | VehicleManufacturerKitAssemblyPartNumberDataIdentifier | Kit assembly part number. |
| 0xF18F | RegulationXSoftwareIdentificationNumbers | Software identification numbers for regulation (RxSWIN, UN R156). |
| 0xF190 | VINDataIdentifier | Vehicle identification number. Should be readable everywhere and writable only once. |
| 0xF191 | vehicleManufacturerECUHardwareNumberDataIdentifier | Manufacturer ECU hardware number. |
| 0xF192 | systemSupplierECUHardwareNumberDataIdentifier | Supplier ECU hardware number. |
| 0xF193 | systemSupplierECUHardwareVersionNumberDataIdentifier | Supplier ECU hardware version. |
| 0xF194 | systemSupplierECUSoftwareNumberDataIdentifier | Supplier ECU software number. |
| 0xF195 | systemSupplierECUSoftwareVersionNumberDataIdentifier | Supplier ECU software version. |
| 0xF196 | exhaustRegulationOrTypeApprovalNumberDataIdentifier | Exhaust regulation or type approval number. |
| 0xF197 | systemNameOrEngineTypeDataIdentifier | System name or engine type. |
| 0xF198 | repairShopCodeOrTesterSerialNumberDataIdentifier | Repair shop code or tester serial number. Written at programming: check who may write it. |
| 0xF199 | programmingDateDataIdentifier | Date of the last programming. |
| 0xF19A | calibrationRepairShopCodeOrCalibrationEquipmentSerialNumberDataIdentifier | Repair shop code or equipment serial for calibration. |
| 0xF19B | calibrationDateDataIdentifier | Date of the last calibration. |
| 0xF19C | calibrationEquipmentSoftwareNumberDataIdentifier | Software number of the calibration equipment. |
| 0xF19D | ECUInstallationDateDataIdentifier | Installation date of the ECU. |
| 0xF19E | ODXFileDataIdentifier | Reference to the ODX file describing the ECU. |
| 0xF19F | EntityDataIdentifier | Entity identification. |
| 0xF1A0 | identificationOptionVehicleManufacturerSpecificDataIdentifier (range to 0xF1EF) | Manufacturer-specific identification; the range 0xF1A0 to 0xF1EF. |
| 0xF1F0 | identificationOptionSystemSupplierSpecific (range to 0xF1FF) | Supplier-specific identification; the range 0xF1F0 to 0xF1FF. |
| 0xF200 | periodicDataIdentifier (range to 0xF2FF) | Periodic data identifiers for ReadDataByPeriodicIdentifier (0x2A); the range 0xF200 to 0xF2FF. |
| 0xF300 | DynamicallyDefinedDataIdentifier (range to 0xF3FF) | Dynamically defined identifiers (0x2C); the range 0xF300 to 0xF3FF. |
| 0xF400 | OBDDataIdentifier (range to 0xF4FF) | OBD PIDs mapped into UDS (service 01); the range 0xF400 to 0xF4FF. |
| 0xF500 | OBDDataIdentifier (range to 0xF5FF) | OBD PIDs mapped into UDS (service 02); the range 0xF500 to 0xF5FF. |
| 0xF600 | OBDMonitorDataIdentifier (range to 0xF6FF) | OBD monitor identifiers (service 06); the range 0xF600 to 0xF6FF. |
| 0xF700 | OBDMonitorDataIdentifier (range to 0xF7FF) | OBD monitor identifiers (service 09); the range 0xF700 to 0xF7FF. |
| 0xF800 | OBDInfoTypeDataIdentifier (range to 0xF8FF) | OBD info types; the range 0xF800 to 0xF8FF. |
| 0xF900 | TachographDataIdentifier (range to 0xF9FF) | Tachograph identifiers; the range 0xF900 to 0xF9FF. |
| 0xFA00 | AirbagDeploymentDataIdentifier (range to 0xFAFF) | Airbag deployment identifiers; the range 0xFA00 to 0xFAFF. |
| 0xFA10 | NumberOfEDRDevices | Number of event data recorder devices. |
| 0xFA11 | EDRIdentification | Event data recorder identification. |
| 0xFA12 | EDRDeviceAddressInformation | Event data recorder device address. |
| 0xFA13 | EDREntries (range to 0xFA18) | Event data recorder entries; the range 0xFA13 to 0xFA18. |
| 0xFD00 | SafetySystemDataIdentifier (range to 0xFEFF) | Safety system identifiers; the range 0xFD00 to 0xFEFF. |
| 0xFF00 | UDSVersionDataIdentifier | The UDS version the ECU implements. |
| 0xFF01 | ReservedForISO15765-5 | Reserved for ISO 15765-5. |
How it works
The table is Annex C of ISO 14229-1:2020 in searchable form. Single identifiers are listed with their ISO name; the reserved ranges (manufacturer specific, supplier specific, periodic, dynamically defined, OBD, tachograph, airbag, safety) are listed by their first code with the end of the range in the name, and a search for any code inside a range finds that range. The meaning column is ours: what the identifier is for and what to check when you test.
How to read the result
The identification block 0xF180 to 0xF19F is the ECU’s business card and the first thing a scan reads. It also contains the identifiers that record who programmed the ECU and when (the fingerprints and repair shop codes), which is why write probing concentrates on it. The ranges above 0xF200 mostly exist to map other protocols into UDS: periodic identifiers for 0x2A, dynamic identifiers defined with 0x2C, and the OBD PIDs of ISO 15031.
Anything from 0x0000 to 0xF17F and the manufacturer ranges is defined by the OEM. Without the ODX or CDD file, a scanner sees only “answered” or “not answered”; with it, the result reads like the specification.
Limits
The tool knows the standard, not your ECU. It cannot tell you which DIDs exist on a specific controller, in which session, or whether they are writable. That is what the DID and routine scan in AutoST does: it enumerates the whole identifier space per session, names the results from the ODX or CDD and probes which identifiers accept a write.
FAQ
Frequently asked questions
Which DIDs should every ECU answer?
ISO 14229-1 reserves the ranges but does not force an ECU to implement any particular DID. In practice almost every ECU answers F186 (active session), F190 (VIN) and the F18x identification block, because OEM diagnostic specifications require them. Reading those first is how a scan calibrates itself.
Where do the other DIDs come from?
From the ECU description: the ODX (ISO 22901) or CDD (Vector CANdela) file that the OEM or supplier maintains. It names every DID, its length and its data type. AutoST imports these files so scan results show names instead of hex numbers and so write probing knows the expected length.
Which standard DIDs are security relevant?
Those an attacker would want to change: VIN (F190), serial number (F18C), the fingerprints (F183 to F185) and repair shop codes (F198, F19A), which record who programmed the ECU. They must be readable where needed and writable only in the right session after SecurityAccess, if at all. AutoST tests exactly that in its write-probing stage.
Sources
Related pages
- GlossaryDID (Data Identifier)A DID is the 16-bit identifier UDS uses to address a data record, read with 0x22 and written with 0x2E. Standard ranges from ISO 14229-1 Annex C and writable DIDs.
- GlossaryODX (Open Diagnostic Data Exchange)ODX (ISO 22901-1, ASAM MCD-2 D) is the XML format that describes how an ECU speaks UDS: services, DIDs and routines. How it is structured and what testers do with it.
- GlossaryCDD (CANdela Diagnostic Description)A CDD file is the Vector CANdela description of an ECU diagnostic interface: sessions, services, DIDs, routines and security levels. What it holds and how testers use it.
- Free toolsUDS Message DecoderPaste UDS bytes from a trace and see what they mean: service, sub-function, session, DIDs, routine identifier, SecurityAccess level or NRC, per ISO 14229-1.
- PlatformYour ODX and CDD, turned into tests.AutoST imports ODX, PDX and Vector CDD files to name the DIDs it finds and run the right routines (0x31), with opt-in, clearly warned write-probing.
- PlatformKnow every door into the ECU.AutoST enumerates an ECU over UDS: diagnostic endpoints, sessions, all 255 services and readable DIDs, plus XCP/CCP discovery. Risky services are flagged automatically.
