Random VIN Generator

Generate format-valid test VINs: real manufacturer prefixes for 60 makes, correct model-year codes, and passing ISO 3779 check digits. Built for developers testing VIN-handling code — every output survives checksum validation, and one click decodes it to verify your parser.

Generated VINs are format-valid (correct structure, real manufacturer prefix, passing ISO 3779 check digit) but randomly composed — they do not correspond to real vehicles. For software testing, QA, and demos only.

Valid VIN vs. real VIN

A valid test VIN follows the 17-character structure of 49 CFR Part 565 / ISO 3779 — an assigned manufacturer prefix, a correct model-year character, and a passing check digit — so it survives any format validator. A real VIN is one a manufacturer actually assigned to a vehicle and registered with NHTSA. Generated VINs are valid but not real: decoders will resolve the make, year, and country, while model-level attributes may return unknown because the descriptor section is random.

VIN structure (17 characters)

PositionsMeaning
1–3World Manufacturer Identifier (WMI) — maker and country
4–8Vehicle descriptor — model, body, engine attributes
9Check digit — weighted checksum of the other 16 characters
10Model year code (letters I, O, Q, U, Z and 0 never used)
11Assembly plant
12–17Sequential production number

The position-9 check digit is computed by transliterating letters to numbers, multiplying each position by a fixed weight, and taking the sum modulo 11 (10 = "X"). Random 17-character strings fail it ~91% of the time — which is why serious VIN-handling code rejects them and why this generator computes it properly. Full algorithm walkthrough: VIN check-digit validator.

Developer use cases

Unit-test fixtures and CI seeds, QA and staging data, demo environments, VIN-input form validation, decoder integration tests (pair with the free decode API), and sandbox records where using a real customer's VIN would be a privacy problem. Never use generated VINs to misrepresent a vehicle in listings, titles, or insurance documents.

Sources: VIN format per 49 CFR Part 565 (NHTSA) and ISO 3779; check-digit algorithm per 49 CFR 565.15; decoding via the NHTSA vPIC platform, the official U.S. government VIN-decoding source built from manufacturer-submitted data. How to cite this page: CarWhere, "Random VIN Generator," carwhere.com/tools/vin-generator, updated 2026-06-11.

FAQ

Are generated VINs real?

No. They are format-valid — correct 17-character structure, a real manufacturer prefix (WMI), a correct model-year code, and a passing ISO 3779 check digit — but the remaining characters are random, so they do not correspond to actual vehicles. Use them for software testing, QA fixtures, and demos, never to misrepresent a vehicle.

Why do test VINs need a valid check digit?

The 9th character of every North American VIN is a checksum computed from the other 16. Any serious VIN-handling system validates it, so a random 17-character string fails immediately. This generator computes the check digit properly, which is what makes the output usable in test suites.

Will these VINs decode?

The make, country, and model year will decode correctly (they are encoded in the characters this tool sets deliberately). Model and trim attributes may decode as unknown, since the descriptor section is random. Click "Decode" next to any generated VIN to see exactly what a parser extracts.

Is there an API for VIN tooling?

Yes — CarWhere offers a free VIN decode API and a keyed dealer API for window stickers and bulk VIN provisioning, documented with real request and response examples at carwhere.com/developers/window-sticker-api.

For developers