Vehicle Identification Number
identity.government.vin17-character alphanumeric code uniquely identifying motor vehicles. Uses characters A-H, J-N, P, R-Z, 0-9 (excludes I, O, Q to avoid confusion with 1, 0). Encodes manufacturer, vehicle attributes, and serial number.
Shape
^[A-HJ-NPR-Z0-9]{17}$| Value | Length | Shape |
|---|---|---|
| 1HGBH41JXMN109186 | 17 | matches |
| WVWZZZ3CZWE123456 | 17 | matches |
| JM1BK343551234567 | 17 | matches |
| 5YJSA1DN5DFP12345 | 17 | matches |
| 1HGBH41JXMN10918 | 16 | rejected: one character short |
Background
Origin
VINs were first used in 1954 in the United States.[1] In 1981, the National Highway Traffic Safety Administration of the United States standardised the format.[1]
In the United States the VIN is set out in 49 CFR Part 565, which specifies the format, content and physical requirements for a vehicle identification number.[2] Part 565 says the rules are meant to make it easier to look up vehicle identification information.[2] It also says they are meant to make vehicle recall campaigns more accurate and efficient.[2] Under Part 565, each VIN consists of seventeen characters.[3] The characters allowed are capital letters, excluding I, O and Q, and the digits 0 to 9.[3] Every space in the VIN must be filled.[3]
Use
Part 565 divides the VIN into four sections: positions 1 to 3, positions 4 to 8, position 9, and positions 10 to 17.[4] The first character of the fourth section, position 10, represents the vehicle model year.[4] Position 11 represents the plant of manufacture.[4] For high-volume manufacturers, positions 12 to 17 hold the number sequentially assigned by the manufacturer in production.[4] The letters U and Z and the digit 0 are not used for the model year code.[1]
Position 9 holds a check digit, which is zero to nine or the letter X.[4] To compute it, each character is given a value, multiplied by its position's weight, the products are summed, and the total is divided by 11.[4] The check digit is compulsory for vehicles in North America and China, but not in Europe.[1]
NHTSA's Vehicle API includes a Decode VIN service that returns the decoded output as key-value pairs.[5] The API also supports partial VIN decoding, for VINs of fewer than 17 characters, with an asterisk marking unavailable characters.[5] NHTSA recommends always sending in the model year with a decode request.[5]
Where you'll meet it
The United States National Highway Traffic Safety Administration publishes a Vehicle API that decodes VINs, including in batches of up to 50 VINs per request.[5]
Sources
- [1]Vehicle identification numbersecondary source
- [2]49 CFR § 565.10 - Purpose and scope.documentation
- [3]49 CFR § 565.13 - General requirements.documentation
- [4]49 CFR § 565.15 - Content requirements.documentation
- [5]Vehicle APIorganisation
Detection notes
ISO 3779 standard. Position 9 is a check digit (North America). Excludes I, O, Q to prevent misreading. 17 characters since 1981.
Use it
$ finetype infer -i "1HGBH41JXMN109186" --mode column
→ identity.government.vin
SELECT ft_infer('1HGBH41JXMN109186');
-- → 'identity.government.vin'CAST({col} AS VARCHAR)Schema
https://meridian.online/schemas/identity.government.vin · Frictionless type string
finetype taxonomy identity.government.vin -o json-schema