TL;DR: Free VIN validator per ISO 3779: checks the 17-char alphabet (no I/O/Q) and position-9 check digit locally, parsing WMI region, manufacturer, and model-year code. Format validation only.
This tool runs entirely in your browser. Open DevTools → Network panel and search your input — it appears in no request.
Usage Guide
The VIN is a car’s globally unique ID: 17 characters encoding region, manufacturer, model year, and build serial. This tool validates ISO 3779 locally — alphabet (no I/O/Q), position-9 check digit (weighted mod 11) — and parses the WMI region/manufacturer plus the position-10 year code. Run it before feeding insurance, violation, or used-car lookups to catch typos.
1. The check digit
Each character maps to a value (A-H=1-8, J-N=1-5, P=7, R=9, S-Z continuing; digits as-is), multiplies a fixed positional weight [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2] (position 9 weighs 10 but contributes 0), sum mod 11 — remainder 10 is written X. Classic worked example 1M8GDM9A*KP042788: weighted sum 351, mod 11 = 10, check digit X.
2. Reading the parse
WMI (first 3 chars): the leading char pins the region (1/4/5 US, L China, J Japan, W Germany…), the full trio can identify the plant (LSV = SAIC-VW, WBA = BMW). Position 10 is the model-year code on a 30-year cycle (A=2010, B=2011, … K=2019, L=2020) — the same code repeats every 30 years, so pin the decade against the vehicle generation. Positions 4-8 (VDS) are manufacturer-defined and deliberately not interpreted here.