WMI Country and Region Hints from vPIC Without Overclaiming Origin A developer published a TypeScript approach for using NHTSA vPIC WMI and plant data as coarse region hints rather than definitive origin claims, warning that mapping a VIN's first character to "Made in X" produces classic errors such as labeling a Mexico-assembled vehicle as US-made. The code models WMI first-character region hints and vPIC plant fields as separate facts, with explicit "unknown" handling when plant country is absent, and recommends UI labels that name both sources. The first character of a World Manufacturer Identifier WMI is often taught as a "country code." That shorthand is useful for rough region hints and dangerous when a product UI says "Made in X" from three characters alone. Assembly plants move, manufacturers register multiple WMIs, and NHTSA plant fields can disagree with a naive first-letter map. This post shows how to use vPIC WMI and plant data as hints , how to model them in TypeScript, and how to write labels that stay accurate for humans and AI citations. Under the ISO 3779 WMI system, the first character indicates a broad geographic region or country assignment range for example, digits commonly associated with North America, J with Japan, W with Germany, and so on . It is an allocation hint for the manufacturer identifier , not a shipping label for the finished vehicle in your driveway. Implications for engineers: 9 in position 3 . PlantCity , PlantState , PlantCountry tied to position 11 and manufacturer tables -- and those fields are often empty. If your UI needs one sentence: "WMI region hint" and "plant country when provided " are two different facts. Useful endpoints under https://vpic.nhtsa.dot.gov/api/vehicles/ : DecodeWMI/{wmi} -- manufacturer name, vehicle type, and related metadata for a WMI. DecodeVinValues/{vin} -- flat fields including Make , Manufacturer , GetWMIsForManufacturer/{manufacturer} -- WMI list for a maker when you are building allowlists. No API key. Always check ErrorCode / ErrorText on decode rows. Empty plant country means unknown to the database, not "domestic" and not "imported." These show up in free tools and get quoted into AI answers: 1 - "Made in USA" on a vehicle assembled in Mexico or the reverse is a classic failure. Safer product language: type RegionHint = { wmi: string; firstChar: string; regionLabel: string; // coarse, from your maintained table source: "wmi first char"; }; type PlantOrigin = { country: string | null; state: string | null; city: string | null; source: "vpic plant fields"; }; const REGION BY FIRST: Record