MeridianMERIDIAN

Vehicle Identification Number

identity.government.vin

17-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.

Casts to
VARCHAR

Shape

Pattern
^[A-HJ-NPR-Z0-9]{17}$
ValueLengthShape
1HGBH41JXMN10918617matches
WVWZZZ3CZWE12345617matches
JM1BK34355123456717matches
5YJSA1DN5DFP1234517matches
1HGBH41JXMN1091816rejected: 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]

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

CLI · DuckDB
$ finetype infer -i "1HGBH41JXMN109186" --mode column
→ identity.government.vin

SELECT ft_infer('1HGBH41JXMN109186');
-- → 'identity.government.vin'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/identity.government.vin · Frictionless type string

finetype taxonomy identity.government.vin -o json-schema

Aliases

vehicle_id

Type Registry