Edit

Computer hardware ID (CHID)

A computer hardware ID (CHID) is a unique hardware ID value that identifies a specific computer based on a combination of System Management BIOS (SMBIOS) field data. Unlike hardware IDs for other devices, CHIDs are generated by Windows every time the system boots.

Generate CHIDs with the ComputerHardwareIds tool

The ComputerHardwareIds tool (ComputerHardwareIDs.exe) generates the set of CHIDs for a computer. For Windows 7, Windows 8, and Windows 8.1, the tool is included in the Windows Driver Kit (WDK). Beginning with Windows 10, the tool is included in the Software Development Kit (SDK).

The tool creates CHIDs from the SMBIOS information. Each CHID is a GUID created by hashing a combination of SMBIOS field values using the SHA-1 algorithm.

Important

A CHID is only generated if every individual SMBIOS field used to create it is populated in the system's SMBIOS data.

SMBIOS fields used in CHID generation

The following table describes the SMBIOS fields used to generate CHIDs.

Field name Structure name and type SMBIOS specification version Offset Length Value Description
Manufacturer System Information (Type 1) 2.0+ 04h BYTE STRING The index of a null-terminated string within the dmiStrucBuffer array. This string specifies the name of the computer manufacturer.
Family System Information (Type 1) 2.4+ 1Ah BYTE STRING The index of a null-terminated string within the dmiStrucBuffer array. This string specifies the family to which a particular computer belongs. A family refers to a set of computers that are similar but not identical from a hardware or software point of view. Typically a family is composed of different computer models, which have different configurations and pricing points. Computers in the same family often have similar branding and cosmetic features.
Product Name System Information (Type 1) 2.0+ 05h BYTE STRING The index of a null-terminated string within the dmiStrucBuffer array. This string specifies the product name of the computer.
Vendor BIOS Information (Type 0) 2.0+ 04h BYTE STRING The index of a null-terminated string within the dmiStrucBuffer array. This string specifies the name of the BIOS vendor.
BIOS Version BIOS Information (Type 0) 2.0+ 05h BYTE STRING The index of a null-terminated string within the dmiStrucBuffer array. This string can contain information about the processor core and OEM version.
System BIOS Major Release BIOS Information (Type 0) 2.4+ 14h BYTE Varies. The major release of the system BIOS.
System BIOS Minor Release BIOS Information (Type 0) 2.4+ 15h BYTE Varies The minor release of the system BIOS.
Enclosure type System Enclosure (Type 3) 2.0+ 05h BYTE Varies The system enclosure or chassis types.
SKU Number SKU Number (Type 1) 2.4+ 19h BYTE STRING The identification of a particular computer configuration for sale.
Baseboard Manufacturer Manufacturer (Type 2) 04h BYTE STRING Number of null-terminated string. This string identifies the Manufacturer of the Baseboard, where the Baseboard – Board Type is 0Ah (Motherboard).
Baseboard Product Product (Type 2) 05h BYTE STRING Number of null-terminated string. This string identifies the Product name of the Baseboard, where the Baseboard – Board Type is 0Ah (Motherboard).

For more information about the dmiStrucBuffer array and the SMBIOS fields, see the System Management BIOS (SMBIOS) specification on the Distributed Management Task Force (DMTF) website.

CHID composition by Windows version

The following tables show which SMBIOS fields are combined to form each CHID. CHIDs with lower numbers are more specific, while higher-numbered CHIDs are more general.

Windows 7

HWID SMBIOS fields
HardwareID-0 Manufacturer + Family + Product Name + Vendor + BIOS Version + System BIOS Major Release + System BIOS Minor Release
HardwareID-1 Manufacturer + Product Name + BIOS Vendor + BIOS Version + System BIOS Major Release + System BIOS Minor Release
HardwareID-2 Manufacturer + Family + Product Name
HardwareID-3 Manufacturer + Product Name
HardwareID-4 Manufacturer + Family
HardwareID-5 Manufacturer + Enclosure Type
HardwareID-6 Manufacturer

Windows 8 and Windows 8.1

HWID SMBIOS fields
HardwareID-0 Manufacturer + Family + Product Name + SKU Number + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-1 Manufacturer + Family + Product Name + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-2 Manufacturer + Product Name + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-3 Manufacturer + Family + Product Name + SKU Number
HardwareID-4 Manufacturer + Family + Product Name
HardwareID-5 Manufacturer + SKU Number
HardwareID-6 Manufacturer + Product Name
HardwareID-7 Manufacturer + Family
HardwareID-8 Manufacturer + Enclosure Type
HardwareID-9 Manufacturer

Windows 10 and later

HWID SMBIOS fields
HardwareID-0 Manufacturer + Family + Product Name + SKU Number + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-1 Manufacturer + Family + Product Name + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-2 Manufacturer + Product Name + BIOS Vendor + BIOS Version + BIOS Major Release + BIOS Minor Release
HardwareID-3 Manufacturer + Family + Product Name + SKU Number + Baseboard Manufacturer + Baseboard Product
HardwareID-4 Manufacturer + Family + Product Name + SKU Number
HardwareID-5 Manufacturer + Family + Product Name
HardwareID-6 Manufacturer + SKU Number + Baseboard Manufacturer + Baseboard Product
HardwareID-7 Manufacturer + SKU Number
HardwareID-8 Manufacturer + Product Name + Baseboard Manufacturer + Baseboard Product
HardwareID-9 Manufacturer + Product Name
HardwareID-10 Manufacturer + Family + Baseboard Manufacturer + Baseboard Product
HardwareID-11 Manufacturer + Family
HardwareID-12 Manufacturer + Enclosure Type
HardwareID-13 Manufacturer + Baseboard Manufacturer + Baseboard Product
HardwareID-14 Manufacturer