← VIN Decoder
What's new
Every improvement we ship to the decoder, in plain words. Current version: 2.41.0.
How version numbers work. Each release gets a number MAJOR.MINOR.PATCH, and each one below says why it got its number.
MAJOR (3.0.0): a field is removed, renamed or changes meaning, so code that reads the API may need to change.
MINOR (2.x.0): something new: a field, a page element, a new data source, or a new check across manufacturers.
PATCH (2.x.y): corrections only: fixed rules, repaired data, values restored or withdrawn. Nothing new is added.
Releases before August 2026 are Beta 1.0.
v2.41.0MINOR2026-10-26build 43da3b6812ca
Why this version: New response field model_year_upper_bound and a check across several manufacturer groups: a first-registration year (es_dgt, fr_siv, gb_dvla, ie_nvdf) caps the model year at registration + 1; a served year above the cap is withheld (both shapes), unless the register entry names a different make.
2026-10-26 · accuracy
A model year that the car's first registration rules out is no longer shown
Some cars in our data are listed in a national vehicle register (Spain, France, the United Kingdom or Ireland) with the year they were first registered. A car is not registered before it is built, so its model year is at most one year after its first registration. When the model year we had found for such a car was later than that, we still showed it, sometimes marked as supported by the registration. That year is now left out, with a short note saying why.
- Example: WBAAS71050CH13481, a BMW 3 Series first registered in Spain in 2002, was shown as a 2004 model; BMW's own parts catalogue gives 2002. JMZERH9A600201508, a Mazda CX-7 first registered in Spain in 2009, was shown as 2012; Mazda's European parts catalogue gives 2009. Both now show no model year.
- The registration year is still shown (registration_year). On these cars a new field, model_year_upper_bound, gives the latest model year the registration allows (the registration year + 1). In the VIN breakdown, position 10 no longer repeats a year the registration rules out: for ZFA22000086241616, a Fiat Scudo first registered in 2006, it read 2008 and now reads 'model year ruled out above 2007 by first registration 2006'.
- How we checked: on 186 cars whose maker's own parts catalogue records when they were built (163 BMW and MINI, 21 Mazda, 2 SsangYong), every year we removed was wrong and none was right.
- In a separate sample of about 8,000 registered cars that were not used to build the change, the year was removed on 211 cars in the full decode and 213 in the quick decode. 99 of them (101 in the quick decode) could be compared with another record (from Fiat, GM, Honda or NHTSA), and every one disagreed with the removed year. Those records only count when they disagree, so they cannot show a right year being removed. The other 112 could not be checked.
- When the register entry names a different make than the VIN itself (for example a Peugeot entry on an Opel VIN), the entry may belong to another car, so it is not used to set the model year aside: W0L0AHM756G041992, an Opel Zafira, keeps its model year 2006.
- A model year no later than the year after the first registration is not changed. This applies to both the full and the quick decode. Cars without a register entry are not affected.
v2.40.0MINOR2026-10-25build bec8be429b82
Why this version: Withdrawal checks across manufacturer groups on cells where a year rule rewrote the year: a model introduced much later than the corrected year is withdrawn with the values looked up from it (unless the VIN's own NHTSA record names it or an older car of that name covers the year), and values whose own provenance names the replaced year or an out-of-era engine lookup are withdrawn. Full decode only.
2026-10-25 · accuracy
Older imported cars: details from the wrong decade removed
Since the last release, the full decode reads the right model year for many older cars built outside North America whose year code can mean two years 30 years apart. Some details that had been looked up for the later year were still shown next to the corrected year. They are now removed when the car's own model year shows they cannot belong to it, each with a short note saying why.
- A model that did not exist yet in the car's model year is no longer shown, together with what was looked up from it. Example: WAUGE58B7MA003090, a 1991 Audi, was shown as an 'e-tron GT' with an electric motor, electric fuel, 0 cc and 0 cylinders; those are now withheld, with the note "Model withheld: 'e-tron GT' is a much later model, so it cannot be this 1991 vehicle's model." JHMAF5325FS010273, a 1985 Honda, no longer shows 'CR-Z'.
- Power, engine size and cylinder figures that were looked up for the later year, or for an engine built only decades later, are no longer shown. Examples: WP0AA2998SS323234, a 1995 Porsche 911, no longer shows 485 hp; WP0CA2982VS620505, a 1997 Boxster, no longer shows 302 hp; JT3VN39WXL0007837, a 1990 Toyota 4Runner, no longer shows a 3956 cc engine with 270 hp.
- In our tests, 241 such values were removed on 90 cars. 230 disagreed with the car's own NHTSA record (208), its New York registration (21) or another record we hold (1). None was confirmed by an independent record. 11 could not be checked. On a fresh sample of cars not used to build the change, 125 values were removed on 39 cars: 122 were contradicted by a record, none was confirmed, and 3 could not be checked.
- A value that the car's own NHTSA record or our data for its VIN pattern also gives is kept, for example 4 cylinders on JT3HP10V4V7050838, a 1997 RAV4.
- Once the impossible model is gone, the car's own NHTSA record now supplies a few details, for example all-wheel drive on a 1991 Audi Coupe quattro (WAUGE58B7MA003090) and 3000 cc on 1994-95 Alfa Romeo 164s (ZARED33R4R6290913, ZARED33R6S6311170).
- This applies to the full decode only; the quick decode is unchanged for these cars.
- Values taken from the car's own NHTSA record or its registration are never removed by this change.
v2.39.0MINOR2026-10-25build d655dfedca50
Why this version: A serve-time year rule across manufacturer groups: for US-certified light vehicles built outside North America that have their own NHTSA record (error code 0, light vehicle, the record's model year equal to the pick), the VIN's 7th character (49 CFR 565.15, digit = 1980-2009) decides between the two 30-year readings of position 10 in the full decode; details that only fit the replaced year are withdrawn with it. Aston Martin (SCF) is excluded.
2026-10-25 · accuracy
Older imported cars no longer show a model year 30 years too late
The 10th character of a VIN gives the model year, but each code comes back every 30 years: V means 1997 or 2027, C means 1982 or 2012. Some older cars built outside North America were shown with the later year. For cars, SUVs, vans and pickups up to 10,000 lb (4,536 kg) made for the US market, US rules settle it with the 7th character: a digit there means 1980-2009, a letter 2010-2039. When such a car has its own NHTSA record showing it was made for the US market, and that record gives the same year, the full decode now uses that rule.
- Examples: WP0AA2991VS321426, a 1997 Porsche 911, showed 2027 and now shows 1997. SCAZN42A4CCX05058, a 1982 Rolls-Royce Silver Spirit, showed 2012 and now shows 1982. JHLRD1845VC038843 (1997 Honda CR-V, previously 2027) and JM1NA3513L0137637 (1990 Mazda MX-5, previously 2020) are fixed too.
- Many details that only fit the wrong year are removed with it: a later generation code, a gearbox that did not exist yet (for example 'PDK' on a 1997 911), or a label for a much later model ('911 (991)' on a 1997 Boxster, 'Giulia (952, 2016+)' on a 1987 Spider). A plain 'Automatic' gearbox is kept. Some details from the wrong era can still remain.
- In our tests, 351 of the changed years could be checked against an independent record (mostly New York registrations): 351 of 351 matched it (75 VIN families). On two fresh samples drawn for this release, 135 of 135 matched.
- Aston Martin is left out of this change for now: of 5 Aston Martin cars we could check, 2 came out one year off their registration, so Aston Martin VINs keep the year they showed before.
- The quick decode is unchanged for these cars for now: it does not look up the NHTSA record, so it can still show the later year. Run a full decode to get the corrected year.
- A year from a manufacturer's own model-year code (a VIN dispatch), from the car's own record, from its registration or from its NHTSA year is never changed, and nothing changes when the NHTSA record gives a different year.
v2.38.0MINOR2026-10-24build 44716b7cdac5
Why this version: A serve-time year check across manufacturer groups: a production window of a same-name model generation never built under the VIN's maker code no longer confirms a position-10 reading; when it is refuted, the year is withheld and both possible readings are shown.
2026-10-24 · quality
The quick decode no longer borrows the years of a model generation never built under the car's maker code
The 10th VIN character gives two possible model years, 30 years apart. In the quick decode we sometimes confirmed the newer one with the production years of a model generation that has the same name but was never built under this car's maker code: for example, a Japan-built Nissan Pathfinder was confirmed as a 2017 by the US-built 2017-2021 Pathfinder. When the records show that generation was never built under this maker code, we now leave the year empty and show both possible years.
- Example: JN8HD14Y0HW001093 (a Japan-built Nissan Pathfinder) no longer shows 2017 in the quick decode; it shows '1987 or 2017'. The full decode shows 1987
- This affects very few vehicles: 5 of 6,257 test vehicles changed, and none of 1,300 recent real lookups
- The details that came only with the wrong generation (its series code and engine size) are withdrawn with the year
- The two possible years stay visible on the page and in the API (model_year_candidates)
v2.37.1PATCH2026-10-24build dc2ff4db76a9
Why this version: Website self-hosting (PATCH): the Swagger UI and ReDoc assets and the QR code library are served from the site itself, so /docs and /redoc work under the unchanged security policy and the QR code is drawn locally.
2026-10-24 · quality
The interactive API docs work again, and the QR code is made on our own site
The interactive API documentation at /docs and the API reference at /redoc loaded their code from an outside site. The site's security policy only trusts the site itself, so it blocked that code and both pages stayed blank. That code now comes from our own site, so both pages show the full API again. The QR code button on the decode page used to ask an outside QR service to draw the code, which sent that service the link to your decode. The QR code is now drawn in your browser, and the link is not sent anywhere.
- /docs shows every endpoint again. You can open one, see its parameters and example answers, and try it out
- /redoc shows the full API reference again, with a menu of every endpoint. The page no longer has a search box: the way it searches is not allowed by the site's security policy, so the box never found anything
- The QR code button works as before: same button, same place, and scanning the code opens the same decode on your phone. The link is no longer sent to an outside QR service
- The security policy is unchanged. It still trusts no outside site for scripts or styles
- Checked in a browser on /docs, /redoc, the QR button and 13 other pages: no security-policy error and no script, style or QR request to an outside site (vehicle photos still come from Wikimedia)
- Decoding is unchanged: 300 test VINs got the same answers as before on every field except the version number
v2.37.0MINOR2026-10-24build 8b9cafb226a1
Why this version: A new serve-time check across several manufacturer groups (Toyota/Lexus, Honda, BMW/MINI, Fiat/Ferrari/Maserati, Mazda, Suzuki and others, JP and EU): when VIN position 10 is not a year character, a borrowed point year is withdrawn and the production range shown; vin_history records the served year.
2026-10-24 · quality
A year range instead of a borrowed year when the VIN does not state its year
On many cars built in Japan and Europe, the 10th character of the VIN is not a model-year code (it is a 0 or another character never used for years), so the VIN itself does not say the model year. We used to show one year taken from other vehicles with a similar VIN. When we checked against the cars' own records, that borrowed year was wrong about three times in ten (up to four in ten for Japanese cars). We now leave the exact year empty and show the years this VIN pattern was built, for example 2009-2015.
- About 2 to 3 in every 1,000 full decodes (about 1.6 in every 1,000 fast decodes) now show a production range instead of a borrowed year
- Example: JTJBK11A102457708 (Lexus RX) showed 2009; it now shows 2009-2015
- The range appears wherever the year is shown: the decode page, your Garage, History, Compare, and answers to questions about a VIN
- Engine and generation details stay as they were
- If the car's own registration record is within two years of the decoded year, we keep that year. If the registration is more than a year before the first year this VIN pattern was built, we show no year and no range
- Because the exact year is not known, these cars no longer get a US recall check by year; about a third of them had a US recall list on file for the year we used to show
- History, the recent and popular feeds, the stats page and the CSV export now record the year the decode page shows; they used to record the first year of the range. A range-only answer is recorded with its range and no single year
- If you know the exact year, report it on the decode page; we review it and record it for this VIN
v2.36.0MINOR2026-10-24build 3debf9f89133
Why this version: KPC-12's placeholder-engine rule now also corrects the VIN breakdown (a field it did not write before) across several manufacturer groups; deterministic variant lists; two-way drive types withdrawn from the Toyota Malaysia details.
2026-10-24 · quality
The VIN breakdown no longer repeats an engine code we removed
Since 2.32.0 we no longer show an engine code that was only a placeholder, such as 'NOT KNOWN', or a piece of the VIN itself. The position-by-position VIN breakdown still repeated it. It now says that the records we hold for this VIN give no usable engine code. The rest of the breakdown is unchanged: for example, the serial-number position still shows the end of the VIN.
- On 8,774 test vehicles, 33 VIN breakdowns no longer repeat the removed code
- When the engine serial number was the whole VIN, it is now left empty
- No engine code, engine description, engine size, drive type, make, model, year or fuel type changed
2026-10-24 · quality
Steady model, maker and fuel lists for VINs we only know by their manufacturer code
When we recognise a VIN only by its first three characters, we list the models, makers and fuel types recorded for that code. When there were more than we show, two requests for the same VIN could list different ones. The lists are now the same every time. When we have to choose, we show model names before body-type codes and placeholders (such as '4DSD' or 'OTHER'), and the most often recorded first.
- Two identical decoders now give exactly the same answer on every test vehicle; on the previous build, 2,359 VINs we know only by their manufacturer code could differ
- On the 2,228 model lists that changed, entries starting with a digit fell from 13.7% to 4.3%, body-type codes and placeholders from 10.3% to 3.6%, and the share of the code's most often recorded models rose from 56% to 81%
- The lists remain possibilities for the manufacturer code, not facts about the vehicle
- For these VINs a first decode can take a little longer (about 10 ms at the median)
2026-10-24 · quality
Malaysian-assembled Toyotas: no more two-way drive types in the Toyota Malaysia details
For some Malaysian-assembled Toyotas (the Avanza F601, Fortuner AN160 and Hilux AN120 platform codes), the Toyota Malaysia details gave the drive type as 'FWD/RWD' or 'RWD/4WD'. That names two drive types, so it is not a fact about one vehicle. The details now leave the drive type out for these codes, as the main drive type already did. We never replace it with a guess.
- 114 test vehicles with these platform codes no longer show a two-way drive type in the Toyota Malaysia details
- Nothing else changed for these vehicles
v2.35.1PATCH2026-10-23build 3a83d6491999
Why this version: A check that serves one manufacturer group (GM North America, model years up to 2017): the engine code and size are checked against what the VIN encodes, and conflicting engine details are withheld.
2026-10-23 · quality
GM engine details are now checked against the VIN
For Chevrolet, GMC, Buick, Cadillac and other GM vehicles built in North America, up to model year 2017, the engine code and engine size are now checked against what the VIN encodes for that model year. When they do not match, the decoder no longer shows the conflicting engine code or size, and a warning explains why.
- Details that came only with the rejected engine, such as cylinders, turbocharging, bore, stroke and power ranges, are withheld where we could check them; in the fast decode some of them can still show
- An engine description that names another engine or another size is withheld as well
- Details that still match the engine the VIN identifies are kept
- The VIN breakdown marks a withheld engine code and no longer lists an engine size the VIN contradicts
- Example: a 2016 Corvette Z06 whose VIN names the LT4 engine no longer shows the LT1 engine code or the LT1's power and torque ranges
v2.35.0MINOR2026-10-20build 88fe83e81fac
Why this version: The VIN's own NHTSA record (an existing source) is now read for US-market vehicles built outside North America, across several manufacturer groups: it fills empty engine size, cylinder count and drive, and withdraws an unconfirmed drive it contradicts.
2026-10-20 · quality
Imported cars sold in the US: details from the car's own NHTSA record
Many cars built in Japan, Korea or Europe were sold new in the United States, and each one has its own record at NHTSA, the US road-safety agency, under its VIN. Until now the decoder read that record only for cars built in North America. In a full decode it now reads it for these imports too: it fills an empty engine size, cylinder count or drive from the record, and withdraws a drive the record contradicts when we could not confirm it.
- Example: a 1987 Nissan Pathfinder built in Japan now shows a 3.0-litre, 6-cylinder engine instead of blanks, and no longer claims all-wheel drive (its record says four-wheel drive). Its engine code (VG30i) is not shown yet
- A value is filled only when the record matches the car's make, model and year and agrees with the engine details already shown; a value already shown is never replaced
- The engine size is as precise as the record: most records give it to the nearest 0.1 litre, and the answer says so (data_quality record_less_precise, field_meta precision '0.1 L')
- Drive is left empty when the record covers versions with different drive (for example rear- and all-wheel-drive Porsche 911s), and on 2017 Volvo records whose drive we found unreliable
- In tests on US-market imports, filled values checked against sources independent of NHTSA were right on 391 of 393 drives, 287 of 289 engine sizes and 152 of 152 cylinder counts; withdrawn drives that could be checked were wrong on 231 of 236
- Fuel type is not filled from these records yet, and the fast decode does not read them
v2.34.0MINOR2026-10-20build a0025540ae77
Why this version: ATVs and side-by-sides of manufacturer codes on a new, evidence-built powersports list are decoded (vehicle type powersports) instead of refused, across several manufacturer groups; two new data_quality reasons (powersports_registry, withheld_powersports_scope).
2026-10-20 · quality
ATVs and side-by-sides now decode instead of being refused
VINs of ATVs and side-by-sides were refused with a message saying the decoder handles passenger cars only. When the vehicle's own registration record says it is an all-terrain vehicle and its manufacturer code is on our new powersports list, the decoder now answers, with the vehicle type 'powersports'. It shows only what we checked for this kind of vehicle: the make, the model year and the country of manufacture, each only for the manufacturer codes where records confirmed it. The model, the engine and other car details are left empty, and the VIN breakdown shows no car details for these vehicles.
- Example: RFBLR33U4PBD00406 now decodes as a 2023 KYMCO made in Taiwan, vehicle type powersports; it was refused before
- The powersports list has 48 manufacturer codes, for example Honda, Yamaha, Kawasaki, Suzuki, Polaris, KYMCO, CFMOTO, Arctic Cat, Can-Am (BRP), KTM and Kayo. Each code is named in the manufacturer's own US filing (NHTSA) and appears on New York registration records
- On 1,155 test vehicles never used before, 9 values were wrong: 8 model years and the make of one ARGO-badged KYMCO
- For some manufacturer codes only the vehicle type is shown, because no make, year or country could be checked for that code
- Vehicles that were already decoded are unchanged, including cars, motorcycles and Polaris and Can-Am side-by-sides
- Still refused, now with a message that says what the decoder decodes: trailers, boats and personal watercraft, farm tractors and semi-truck tractor units (not decoded yet), lawn, construction and forklift equipment, snowmobiles, and ATVs whose manufacturer code is not on the list yet
- In the API, data_quality has two new reasons: powersports_registry (a value read by the powersports list's checked rule) and withheld_powersports_scope (a field that is not shown for a powersports vehicle)
v2.33.1PATCH2026-10-20build d6d0a54caf26
Why this version: Removes two panels from the decode page (Ask the VIN and OEM parts cross-reference); the API endpoints behind them are unchanged.
2026-10-20 · quality
A simpler decode page: 'Ask the VIN' and 'OEM parts cross-reference' are removed
The decode page no longer shows the 'Ask the VIN' box or its toolbar button, and no longer shows the 'OEM parts cross-reference' panel with its links to parts search sites. The rest of the page works as before. Developers can still use the API behind both panels: POST /ask/{vin} and GET /parts/{vin} give the same answers as before.
- Removed from the decode page: the 'Ask the VIN' toolbar button, the 'Ask the VIN' card with its question box and suggested questions, and the 'OEM parts cross-reference' card
- The page no longer looks up parts links each time you decode a VIN
- Checked in a browser on 7 vehicles with 68 click and keyboard tests: Copy link, QR code, Add to compare, Report issue, Save to garage, the vehicle picture, similar vehicles, service intervals and the 'How this VIN was decoded' panel work exactly as before
- Decode answers are unchanged: 301 test vehicles decoded in 6 passes gave the same answers as before, apart from the version number
v2.33.0MINOR2026-10-20build 14c7fa4e9d6c
Why this version: A new serve-time check across several manufacturer groups: when the recorded vehicles that share the start of a VIN disagree on the gearbox, body style, engine size, fuel type, power or engine code, that value is withheld unless the vehicle's own record or a VIN rule gives it; a new data_quality reason withheld_members_disagree; the gearbox printed on a Malaysian registration card as per-VIN evidence.
2026-10-20 · quality
Honest gaps instead of guessed gearbox and engine details
Many VINs begin the same way for vehicles that left the factory with different gearboxes, engine sizes, fuel types, power outputs, engine codes or body styles. Until now the decoder sometimes showed one of these values as if the VIN proved it. It now checks the vehicles we hold records for that share the start of the VIN. When they were recorded with different values, the field is left empty and the decoder says why. In the API, the data_quality block gives the new reason withheld_members_disagree.
- Gearbox: checked for vehicles built in Europe, Japan, South Korea and North America
- Body style, engine size, fuel type and engine code: checked for vehicles built in Europe (engine code not for BMW-group cars)
- Power (hp and kW together): checked for vehicles built in Europe and Japan; a figure from the vehicle's own registration record is kept, with the same figure in the other unit
- A value is still shown when the vehicle's own registration record, dealer record or correction gives it, when a rule that reads this VIN confirms it, when the vehicle's own engine number begins with the full engine code, or, for cars registered in Malaysia, when the gearbox type printed on the car's own registration card matches
- Seat and door counts stored as 0 are no longer shown
- In a test on 10,464 vehicles, 3,190 of the newly withheld values could be checked against an independent record of the same vehicle: 1,505 of them were wrong
- On everyday lookups, 79 of every 100 decodes still show a gearbox (81 before; in Europe 74, was 83) and 93 of every 100 European decodes show a body style (95 before)
- Not covered yet: European plants whose VINs start with U (for example Kia in Slovakia and Dacia)
v2.32.0MINOR2026-10-19build 2e2add930d4d
Why this version: A new serve-time check across several manufacturer groups: a drive type is served only when it is one clear drive class, and an engine code that is the VIN, part of the VIN or a placeholder is no longer served.
2026-10-19 · quality
Drive type: one clear answer or none; the VIN or 'NOT KNOWN' is no longer shown as an engine code
Some cars showed a drive description instead of a drive type: a choice of two drives, the name of a hybrid system, or a drive that contradicts the car's own model name. We now show the drive only when it is one clear type (front-wheel, rear-wheel, all-wheel or four-wheel drive); otherwise the field is left empty. An engine code that was really the VIN, part of the VIN, or a placeholder such as 'NOT KNOWN' is no longer shown as the engine code.
- Example: a Chery Omoda 5 hybrid showed 'Series-parallel hybrid' as its drive; that field is now empty
- Example: a BMW X5 xDrive35i showed 'Front-engine, four-wheel-drive layout'; it now shows all-wheel drive (AWD)
- Example: a Mazda CX-3 whose own record says '2.0L 2Wd' was shown with all-wheel drive; the drive is now left empty
- On 1,147 fresh test vehicles, 18 changed: 7 drive descriptions removed, 2 rewritten to all-wheel drive, and 9 engine codes that were a placeholder or part of the VIN removed. No correct value was removed
- Five vehicles that customers decode often were showing a placeholder or the VIN as their engine code; they no longer do
- Not fixed yet: the VIN position breakdown can still repeat the old placeholder next to the engine position
v2.31.1PATCH2026-10-19build 47a5c0599e29
Why this version: Two checks that each serve one manufacturer group: Toyota Camry and Avalon VINs starting 4T1 whose 'Camry hybrid' or trim label the VIN's own records refute, and Mercedes-Benz classes 163, 164 and 463, which cannot be rear-wheel drive. The new keys are diagnostic.
2026-10-19 · accuracy
Toyota Camry and Avalon (VINs starting 4T1): wrong 'Camry hybrid' label removed; no rear-wheel drive on Mercedes 4MATIC classes
Some petrol Toyota Camry and Avalon cars built in the USA (VINs starting 4T1) were shown as 'Camry hybrid' or with a trim the VIN does not confirm, and that label brought a hybrid fuel and a wrong engine, torque and generation with it. These cars now show their own model name, Camry or Avalon, with the engine and figures that fit them, and the hybrid label is gone. The model name no longer includes a trim level (such as XL, LE or SE) that the VIN does not confirm. On Mercedes-Benz M-Class, GL-Class and G-Class 4MATIC vehicles (classes 163, 164 and 463), a rear-wheel drive that these cars cannot have is no longer shown.
- On 12,730 test vehicles, 1,267 Camry and Avalon cars changed: the hybrid label was removed from 850 cars that are not hybrids, and 384 wrong engine codes, 461 wrong torque figures and 317 wrong generations were withdrawn. Every withdrawal but one was of a wrong value; the exception is 184 hp / 137 kW on one 1997 Camry that the decoder still reads as model year 2027
- Where the car's own records confirm it, the engine code is now shown (247 test cars), with its cylinders and engine size
- Mercedes: 83 test vehicles no longer show rear-wheel drive; in real customer traffic this concerns about one vehicle
- On today's real customer traffic about 1 vehicle in 1,443 changes
- Not fixed yet: on these cars the trim field can still show a trim taken from similar VINs; Avalon Hybrids may still show a V6 engine code; some 2010-2011 Camrys show 178 hp where the official figure is 169 hp
v2.31.0MINOR2026-10-18build f09b87d5bf29
Why this version: A new check across five manufacturer groups (SAIC-MG, BYD, Chery, Geely and Great Wall) withholds details that belong to a later version of an older China-built car and serves the model year coded in the VIN, checked against the brand, model and engine shown; it also carries a reference-data repair for 2017 Buick Enclave engines.
2026-10-18 · accuracy
Older Chinese-built cars: fewer guesses and the model year from the VIN; 2017 Buick Enclave engine corrected
For MG, BYD, Chery, Geely and Great Wall / Haval cars built in China, mostly from 2010 to 2020, we no longer show a model, engine, engine size, gearbox, body or power figure when our records show it belongs to a later version of the car. Where we had shown an estimated model year, we now show the model year coded in the VIN itself, and for some older Geely models we now show a year where we showed none. That year is checked against the brand, model and engine we show, and the earlier answer is kept when they do not fit together. Separately, 2017 Buick Enclaves no longer show the engine that only arrived in 2018.
- On the older Chinese-built cars we could check against their own listings and registration cards, the wrong details shown fell from 907 to 254, and 34 more right details are shown. On cars we had not used to design the change, 27 wrong and 7 right details were withdrawn
- Model year from the VIN: 59 of 59 right on BYD, Chery and Geely, and 68 of 68 on Chery and Great Wall, each within one year of the car's own record; 51 of 51 right on Geely models from 2011 to 2014 that showed no year before
- The year is never shown next to a brand or engine it cannot belong to: for example a Chery-built car is no longer shown as a 2016 JAECOO, a brand launched in 2023, and a 2008 Great Wall no longer shows an engine first built in 2017
- Some of these cars now show fewer details, so a few model-based links (recalls, specifications) are not available for them
- Buick Enclave 2017: the 3.6-litre LFY engine code, which only arrived for 2018, and its 310 hp figure are no longer shown on 2017 Enclaves, which have the LLT engine (12 of 12 checked against their own US records)
v2.30.0MINOR2026-10-11build dbdbf121d9c1
Why this version: A new check across several manufacturer groups withholds engine details that came from an engine code the decoder could not confirm, trims taken from other vehicles' listings are withheld unless the vehicle's own listing confirms them, and the values a vehicle's own record holds are no longer erased by later checks. The response gains an engine_details_withheld block that lists what was withheld.
2026-10-11 · accuracy
Unconfirmed engine details and borrowed trims withheld; a vehicle's own record is no longer overwritten
When the decoder could not confirm a vehicle's engine code, it still showed the bore, stroke, compression ratio, aspiration, fuel injection, valvetrain and power and torque ranges of that engine's catalogue entry. These unconfirmed details are now withheld and listed in the new engine_details_withheld block of the API. Trims (variant) that came from listings of other vehicles with a similar VIN are also withheld unless the vehicle's own listing carries them. And the values held in a vehicle's own record, such as a registration card, a verified correction or a researched record, are no longer erased by later checks.
- Unconfirmed engine details are withheld: on the vehicles we could check, about 3 in 5 of these values were right and 2 in 5 wrong, and a wrong engine detail leads to a wrong part. Engine families where the details measured right keep them: on fresh vehicles the details still shown are 96.5% right (1,848 right, 67 wrong)
- On recent traffic, engine details are withheld on about 3 in 10 decodes (873 of 3,028), and power and torque figures change only on North American vehicles
- Trims taken from other vehicles' listings are withheld unless the vehicle's own listing confirms them: about 2 of every 3 trims shown today are removed, and a little more than half of the removed trims were right. When a trim is removed, a sub-model that came from it is removed too
- Values from a vehicle's own record are kept: 116 values that later checks used to erase are shown again (for example Volvo power and gearbox from Malaysian registration cards), all 116 right where an independent record exists
- Researched records are labelled 'Automated research' with a graded confidence instead of full confidence, and records without a stated source are no longer described as sales listings
- Example: the MG ZS no longer shows the bore, stroke and compression ratio of the second-generation engine on a first-generation car
v2.29.0MINOR2026-10-10build bf5343b0b7d6
Why this version: A new check across several manufacturer groups withholds gearboxes that were taken from similar VINs and measured wrong more often than right, and the decoder stops guessing engines on several Isuzu, Nissan and Chery-group VINs. Kia trucks built in 1999 get their Asia Motors label back, as promised in 2.27.0.
2026-10-10 · accuracy
Unreliable gearboxes hidden, the Jetour plug-in hybrid no longer shown as a Jaecoo J7, and fixes for Isuzu, Nissan and Kia
On many VINs the gearbox shown was not read from the car itself but taken from other vehicles with a similar VIN. Where those gearboxes turned out to be wrong more often than right on independent used-car listings, they are now hidden, so you will see a blank gearbox on more vehicles than before, for example on some Audi, BMW, MINI, Opel, Toyota and Holden families. A Jetour plug-in hybrid with a VIN starting LNNBBDEL is no longer shown as a Jaecoo J7, and several Isuzu, Nissan and Kia values that were guessed or wrong are corrected.
- Gearboxes hidden where the value came from similar VINs: on independent used-car listings the hidden gearboxes were 1,398 right and 891 wrong in one group of vehicle families, and 905 right and 3,226 wrong in the other. MG5 sedans no longer show a dual-clutch gearbox
- The Toyota C-HR+ and the Hyundai Inster show an automatic gearbox: 151 of 151 right on independent listings
- The Jetour plug-in hybrid (VINs starting LNNBBDEL) is no longer shown as a Jaecoo J7, and the Jaecoo J7 1.6 petrol figures (194 hp, 145 kW, 290 Nm) are no longer shown on plug-in hybrids where they do not belong: all of the withdrawn figures were wrong
- Isuzu D-Max trucks built at plant G no longer show a guessed engine code, power and torque: on the trucks we checked, 226 of 780 guesses were wrong. Isuzu trucks with the 2.5-litre 4JK1 engine no longer show 3.0 litres (90 of 90 were wrong)
- Nissan vehicles with VINs starting PN8EAAC26 show the MR20DD engine instead of MR20DE (260 of 260 right against Nissan's records), and the Grand Livina name is no longer shown on vehicles that Nissan's records place elsewhere (190 of 190 were wrong)
- Kia: Asia Motors is shown again on 335 trucks built in 1999; one truck built in January 2000 in the same serial range also shows it
- Subaru vehicles assembled in Malaysia (VINs starting PLP) show their 1,995 cc petrol 4-cylinder engine size, fuel and cylinder count from Subaru's parts catalogue
- Not fixed yet: on some vehicles where the gearbox is now hidden, the gearbox can still appear inside the variant name
v2.28.0MINOR2026-10-05build 3643f3141713
Why this version: New checks across several manufacturer groups withhold values that were only guessed from the manufacturer code or estimated from an engine family, and VINs starting with H (a range now allocated to China) are placed in the right region. A customer team in Egypt sent us 18 VINs of Chinese brands that led to this release.
2026-10-05 · accuracy
Chinese-brand VINs: guessed truck specs, 'electric' MG5s and a wrong region removed
A customer team in Egypt sent us 18 VINs of JAC, Jetour, Chery and MG cars. Our decoder showed many wrong values on them. JAC passenger cars appeared with the specifications of a JAC truck, every MG5 sedan appeared as an electric car, and VINs starting with H were placed in Africa. These are fixed for every vehicle of the same kind, not only these 18. When the model can only be guessed from the manufacturer code, the body, doors, drive, gearbox and power that came with that guess are now withheld. Power and torque figures that were only estimated from an engine family are also withheld when the engine itself is unknown.
- On the 18 VINs from Egypt, wrong values shown fell from 83 to 5
- JAC cars no longer show a truck's 2 doors, rear-wheel drive, 5-speed manual gearbox and 114 hp. Where these figures measured right, as on Mazda CX-9s registered in Malaysia and on Malaysian-built Subaru XVs and Foresters, they stay
- MG5 sedans show their 1.5-litre petrol engine with 4 cylinders instead of an electric motor: 160 of 162 right on the cars we checked. Two electric MG S5s are now shown as petrol, which a later release will fix
- Power and torque that were only estimated from an engine family are no longer shown when the engine itself is unknown, outside North America. On MG5s they were all wrong; on other makes they were wrong about as often as right. Makes where they measured right keep them, for example Subaru XV, Honda and McLaren. The engine family's range stays available in the API data
- VINs starting with H are placed in Asia instead of Africa. The Chinese check-digit rule now applies to registered Chinese car makers, not to motorcycle and moped makers
- The decoding history now records exactly the answer that was shown
- Not fixed yet: the plug-in hybrid with a VIN starting LNNBBDEL is still shown as a Jaecoo J7, and the MG5's gearbox is still shown as dual clutch
v2.27.0MINOR2026-10-03build 7688bcc40665
Why this version: A new check across several manufacturer groups (Ford, GM and Opel/Holden) withholds drive and body values that contradict the vehicle, and the wrong-make check now also covers Chery and the Hyundai Motor Group. Old Hyundais get their real model year back, with the later-generation details that contradicted it removed, and several values hidden by earlier releases are shown again where the manufacturer's records support them.
2026-10-03 · accuracy
Old Hyundais show their real year, and more contradicting values are withheld
Many 1990s Hyundais have a year letter that can also be read as a 2020s year. The decoder now shows the real 1990s year where Hyundai's records confirm it, and removes the series, generation and model details of the later car that had been shown beside it (for example an i30 or a Kona on a 1994 car). It also withholds drive and body values that contradict the vehicle: rear- or four-wheel drive on the front-wheel-drive Chevrolet City Express and its leftover Nissan 1.2-litre figures, front-wheel drive on the Ford Everest, and an SUV body on the Holden Commodore. A Malaysian registration card whose VIN had been misread no longer produces a Jaecoo SUV. Some values hidden earlier are shown again where the manufacturer's records support them: the manual gearbox on SsangYong Korando Cs, and the passenger-car label on the Ford Telstar and on China-built Ford Focus, Fiesta and Mondeo.
- On fresh test VINs checked against independent records, wrong values shown fell from 2,331 to 1,545, and right values rose from 21,402 to 22,291
- Old Hyundais: the real model year is shown on 457 of 457 fresh test VINs, all right against Hyundai's build records; the later-generation series, generation and model shown beside them are removed, all of them wrong
- 'Asia Motors' is no longer shown on Kia-built trucks from 2000 onwards; about 30 trucks built in 1999 also lose a correct 'Asia Motors' label, which a later release will fix
- The Chevrolet City Express no longer shows rear- or four-wheel drive or the Nissan 1.2-litre engine size; the Ford Everest no longer shows front-wheel drive; the Holden Commodore no longer shows an SUV body
- Vehicles built by Opel from 2018 (including the Holden Commodore) show the manufacturer as Opel Automobile GmbH; Renault-built Movano vans show SOVAB
- Recall lookups now run for about 85 old Hyundais whose year is now known; the 'How this VIN was decoded' graph keeps the correct Cupra maker step and is about 0.15 seconds slower on Cupra VINs
- On real customer traffic, none of the 715 VINs changes a shown value
v2.26.0MINOR2026-10-03build e2ea4c784e45
Why this version: A new check for every make: power and torque figures that were only the middle of an engine family's range are withheld. It also stops two wrong sources: BMW drive types borrowed from other BMWs, and SAIC-Volkswagen VINs read with another manufacturer's VIN table. Two customer reports led to this release.
2026-10-03 · accuracy
No more averaged power figures, borrowed BMW drive types or wrong data on SAIC-Volkswagen VINs
When the decoder did not know a car's exact engine output, it sometimes showed the middle of the engine family's range: for example 245 hp and 375 Nm for any BMW with a B48 engine. That number is rarely the car's real figure, so it is now withheld and the engine's power and torque range stays shown. On BMWs, the drive type was sometimes taken from other BMWs sharing the start of the VIN, so a rear-wheel-drive 330i appeared as all-wheel drive; when BMW's own type code says otherwise, that value is now withheld. And Volkswagens built in China by SAIC-Volkswagen were being read with General Motors' VIN table, which put a 6.2-litre engine and a wrong series code on small SUVs; that reading is gone.
- On fresh test VINs with a registration record, the withheld torque figures were wrong 109 times and right 4 times; the withheld power figures were wrong 14 times and right 6 times
- BMW drive types that contradict BMW's own type code are withheld: 25 on the test set, all of them wrong
- SAIC-Volkswagen VINs no longer show the 6.2-litre engine, the 610 Nm torque or the 'CA1' series that came from another manufacturer's table
- Two customer reports led to this: a BMW reported as a 318i is, according to BMW's own data, a 330i with rear-wheel drive, and a 2025 SAIC-Volkswagen that showed wrong data is a Tharu XR
- Not shown yet: the BMW variant name (330i) and the SAIC-Volkswagen model name; some decoder notes may still quote a withheld figure
- Every withheld value is marked as withheld in the data quality details, with a plain explanation
v2.25.0MINOR2026-10-02build 569102d516eb
Why this version: Two new checks across several manufacturer groups: model years that are impossible for the VIN's own pattern are withheld (Hyundai, Kia and Mitsubishi), and vehicle types that contradict the vehicle are withheld (Ford and SsangYong). The release also narrows the 2.24.0 checks so that right values they had hidden are shown again, and corrects or withholds makes on four more manufacturer codes.
2026-10-02 · accuracy
Right fuel and body labels are back, and more impossible years, vehicle types and makes are withheld
2.24.0 hid some values that were right along with the wrong ones: the petrol fuel of SsangYong Korando Cs with a petrol engine, and the 'passenger car' label of many Ford cars built in Taiwan and China. Those are shown again, because the decision now uses the engine and model codes inside each VIN. This release also withholds model years that the VIN's own pattern rules out (for example a 1997 Mitsubishi shown as 2027), vehicle types that contradict the vehicle (a Ford Ranger shown as a passenger car, a SsangYong pickup shown as an SUV), and makes on manufacturer codes where the badge depends on the country. The Chevrolet City Express, built by Nissan, now shows Chevrolet, and Suzukis built by GM Korea now show Suzuki.
- On fresh test VINs checked against the manufacturers' own records, wrong values shown fell from 3,403 to 2,041, and right values rose from 29,053 to 29,583
- Shown again, right on every VIN checked: petrol on 160 SsangYong Korando Cs, 'passenger car' on 480 Ford Taiwan VINs and on 230 Ford Focus, Fiesta and Mondeo VINs built in China
- Model years impossible for the VIN's pattern are withheld: 426, all wrong. For these Hyundai, Kia and Mitsubishi patterns, no record anywhere is from 2020 or later
- Vehicle types that contradict the vehicle are withheld: 425, all wrong (Ford Ranger and Everest, SsangYong Actyon and Musso Sports pickups and Istana vans, Ford EcoSport and Kuga)
- Makes corrected, right on every VIN checked: Chevrolet on the City Express (300 of 300), Suzuki on GM Korea-built Suzukis (130 of 130 and 66 of 66). The City Express now also shows its US recall list (22 vehicles on the test set)
- Makes withheld where the badge depends on the country: Holden, Opel or Vauxhall (VINs starting W0V) and Opel or Vauxhall Movano vans (VN1). In our records 526 of these were wrong and 1 was right; in continental Europe these cars were sold as Opel, so a correct make is hidden there
- Right values hidden by this release: 240 'manual' gearbox labels on SsangYong Korando Cs, next to 381 wrong ones; the next release narrows this
- The parts panel now shows the corrected make on 149 VINs. The parts, known-issues, service and image panels show nothing where the make is now withheld (327 and 64 VINs on the test set)
- Still to fix: the City Express can show the Nissan 1.2-litre engine size instead of its 2.0 litre
- On real customer traffic, none of the 715 VINs changes a shown value
v2.24.0MINOR2026-09-27build 418505270037
Why this version: A new check across several manufacturer groups: the decoder now also withholds generic vehicle types and outdated maker links in its decode graph when the manufacturers' records contradict them, and it fixes years and badges that the 2.23.0 check left behind. It is a minor release because two of these checks have their own trigger and act on more than one manufacturer group.
2026-09-27 · accuracy
More wrong guesses withheld: old model years, Datsun badges, diesel shown as petrol, and outdated makers in the decode graph
This release finishes the clean-up started in 2.23.0. When the decoder withholds a wrongly guessed model, some figures copied from that model stayed behind, and some years were read from the wrong 30-year cycle of the VIN's year letter. Those are now withheld or corrected. Datsun cars built in Indonesia are no longer shown as Nissan, diesel SsangYong Korando Cs are no longer shown as petrol, and the 'How this VIN was decoded' graph no longer shows a maker that the decoder has withheld or that its own tables no longer list for that manufacturer code.
- On fresh test VINs checked against the manufacturers' own records, wrong values shown fell from 4,920 to 2,879, and right values rose from 20,391 to 20,493
- Values withheld: 1,775 were wrong and 198 were right. Most of the right ones are a generic 'passenger car' label on Ford Taiwan VINs (155) and a petrol fuel type on 40 petrol Korando Cs; the next release narrows both
- Old Kia trucks from the 1990s (VINs starting KN1) that were shown 30 years too new now show their real year: 300 of 300 right against Kia's build records
- Mercedes-Benz buses and trucks built in Argentina, and some Hyundai and Mitsubishi vans, no longer show a year from the wrong 30-year cycle: 592 years withheld, all of them wrong
- Datsun GO+ and Datsun Cross built in Indonesia are no longer shown as Nissan (210 of 210 were wrong), and Nissan Kicks built in India no longer show the Micra's hatchback body and 3 cylinders
- Diesel SsangYong Korando Cs are no longer shown as petrol: 374 withheld, all wrong
- The decode graph drops a maker step that the decoder withheld or that no longer matches its manufacturer table: 123 wrong makers removed and 7 right ones. Some Cupra and some BMW pages also lose a correct maker step in the graph; the next release restores those
- The known-issues panel now answers with the make alone when only the model is withheld (110 VINs checked, make right on all), and Nissans built at the Renault plant in France now get the Nissan parts panel
- If the database is briefly unreachable, the fallback answer now applies the same corrections instead of the old wrong makes
- On real customer traffic, none of the 715 VINs changes a shown value
v2.23.0MINOR2026-09-27build 7cef0771f8de
Why this version: A new check across several manufacturer groups: makes and models that the decoder guessed from the manufacturer code alone, and that the manufacturers' own records prove wrong, are no longer shown. Where the manufacturers' records agree on every VIN we checked, the wrong make is replaced by the right one.
2026-09-27 · accuracy
Wrong makes and models guessed from the manufacturer code are no longer shown, and five makes are corrected
When the decoder had no record of a VIN, it sometimes filled in the make or model from the first three characters (the manufacturer code) or from the most common model seen with that code. We checked those guesses against the manufacturers' own records and they were mostly wrong: a Kia Bongo truck shown as a Chevrolet Captiva, a Mercedes-Benz Sprinter built in Argentina shown as a Chrysler, a Nissan built in India shown as OLA, a 2010-2016 Chevrolet built in Vietnam shown as a VinFast VF8, a Renault Espace shown as a Citroen, and a Honda Mobilio shown as a CR-V. These guesses are now withheld and marked as withheld in the data quality details, together with the figures that were copied from the wrong model. Where the manufacturers' records named the same make on every VIN we checked, the correct make is shown instead: Kia, Mercedes-Benz, Nissan, Chevrolet and Suzuki.
- On fresh test VINs checked against the manufacturers' own records, wrong values shown fell from 9,919 to 1,521, and right values rose from 14,928 to 16,897
- Values withheld: 8,015 were wrong and 241 were right, most of those a cylinder count or number of doors that happened to match
- Corrected makes, right on every VIN checked: Kia on KN3 (575 of 575), Mercedes-Benz on 8AC (417 of 417), Nissan on 13 Nissan India VIN patterns (676 of 676), Chevrolet on 2010-2016 RLL (270 of 270) and Suzuki on 2S3 (150 of 150). Datsun-badged Nissan India cars show no make rather than a wrong one
- Model years that had been adjusted to fit the wrongly guessed model (for example a 1997 Kia truck shown as 2018): 108 are now withheld, all of them wrong, and 161 are set back to the year in the VIN, all of them right
- Recall lists that hung on a wrongly guessed model are gone: 177 on the test set, 175 of them for the wrong vehicle
- Suzuki XL7s built in Canada (VINs starting 2S3) now show the US recall list for their own model and year, because the make is now right; checked on 8 live VINs, the 2007 models each show 2 recalls and the 2008 models none
- On real customer traffic, 15 of 715 VINs change, each by losing a guessed model
- Known gaps, to be fixed next: the 'How this VIN was decoded' graph can still name the old make, and the parts, known-issues, service and image panels show nothing where the make or model is withheld
v2.22.21PATCH2026-09-24build 8936f488768c
Why this version: A speed fix to an existing lookup: the similar-vehicles list now finds its records through an existing database index instead of reading every stored record. The list is unchanged, vehicle for vehicle and in the same order.
2026-09-24 · performance
Similar vehicles now load in milliseconds instead of four seconds
Under every decode, the home page shows a list of similar vehicles. To build it, the decoder asked the database for other stored records with the same make and model. That request could not use the database's make-and-model index, because the index compares names without regard to capital letters while the request compares them exactly. So the database read all 1.06 million stored records every time, which took about four and a half seconds per page view. The decoder now uses the index to find candidates, keeps only the exact matches, and then sorts them exactly as before. The list is the same vehicle for vehicle and in the same order. It just arrives much faster.
- Measured on the live site before the change: 4.3 to 4.9 seconds per similar-vehicles request
- On test servers over 463 VINs: a median of 0.013 seconds instead of 4.03, and 0.085 seconds at worst instead of 9.1
- All 463 lists came back byte for byte the same, 2,505 vehicles in the same order, including vehicles that share the same record count
- The largest make-and-model group in our records, 9,336 entries, now takes 0.15 seconds
- Decoding is unchanged: 400 test VINs answered byte for byte the same apart from the version stamp, in all three request shapes
- No database change: no index was added or modified
v2.22.20PATCH2026-09-24build 16ed4614699e
Why this version: A fix that runs an existing check at more places: the response cleaner that turns HTML codes such as & back into plain characters now also cleans the make and model in the known-issues, service, parts, Wikipedia-specs, reverse-lookup, search and test-VIN lookups, and the search links built from them. No field is new and no decode answer changes.
2026-09-24 · quality
Known issues, service, parts and search no longer show HTML codes such as &
Release 2.22.18 stopped the similar-vehicles list and the vehicle-image lookup from showing a Chrysler Town & Country as TOWN & COU. Seven more lookups read the same stored records directly and still showed that raw code: known issues, service intervals, parts, Wikipedia specs, reverse lookup by VIN prefix, search, and the test-VIN generator. The known-issues and parts cards also built their search links (Google, Reddit, YouTube, CarComplaints, RockAuto, AutoZone, PartsGeek, eBay, Amazon) from the raw name, so those links searched for “TOWN & COU”. All seven now pass the make and model through the same cleaner the decoder uses, and the links are built from the cleaned name. Only the HTML codes are turned back into characters; which known issues, service data and parts are found for a vehicle is unchanged.
- Measured before the fix on 536 test VINs built from every stored record that carries the code: known issues, service, parts, Wikipedia specs and reverse lookup each showed it in 344 answers (341 models and 3 makes, such as M&M); the known-issues and parts cards also carried it inside every one of their five search links, and the parts card in its note
- After the fix exactly those values and links changed and nothing else did, including on repeat requests answered from the cache, and no answer carries the code any more; the Google link, for example, now searches for 2007 CHRYSLER TOWN & COU problems
- Search: across 8 test searches, 300 model names and 3 makes lost the code; the words you searched for are still shown back exactly as you typed them
- Test-VIN generator: 223 generated rows were checked against the stored records, 38 of them from records carrying the code, and every one shows the cleaned name
- The 400 standard test VINs get exactly the same answers as before from these lookups
- Text that comes from Wikipedia is left exactly as Wikipedia sends it, and spaces around a stored model name are kept
- Two lookups keep the stored spelling for now: the VIN encoder’s model list, because the encoder uses that exact spelling to find the matching model years and VIN patterns (the cleaned name found no model years instead of 26), and the RockAuto catalogue lookup, which was not changed or tested in this release
- Decoding is unchanged: 400 test VINs answered byte for byte the same apart from the version stamp, in all three request shapes
v2.22.19PATCH2026-09-24build b14035d9cee3
Why this version: A fix to an existing page: the history page’s CSV export produced a file that CSV readers could not parse when a value contained a quote, and it now matches the garage export. Nothing new was added, and decode answers are unchanged.
2026-09-24 · quality
The history page’s CSV export opens cleanly
The “⬇ Export CSV” button on the History page wrote each value with a programming-language escape (a backslash before a quote), which is not how CSV works: a model such as It’s “quoted” broke its row in Excel, Numbers, LibreOffice and Google Sheets. The file also used bare line feeds, carried no byte-order mark (accents came out wrong in Excel), turned a hit count of 0 into an empty cell, returned silently when the list was empty, and was named with the UTC date. It now follows the same recipe as the garage export from release 2.22.17: every cell quoted with quotes doubled, Windows line ends, a UTF-8 byte-order mark, an apostrophe in front of any value a spreadsheet would run as a formula (starting with =, +, -, @), the same nine columns as before, your local date in the file name (vin-history-YYYY-MM-DD.csv), and a message when there is nothing to export; the button is greyed out until the list has loaded. Nothing is sent to the server. If a script of yours parsed the old file, note that the new one starts with a byte-order mark and quotes every cell, including the header — read it as UTF-8 with BOM.
- Checked in a real browser: on the previous version the downloaded file for a list containing a quoted model name did not match the CSV rules (backslash-escaped quotes, no byte-order mark, bare line feeds) and a CSV parser mis-read the row; on this version the downloaded bytes equal, byte for byte, the file a reference implementation builds from the same list — for the page’s real history, for a hostile list carrying script probes, quotes, ampersands and angle brackets, and for a list with formula-like text, tabs, carriage returns, embedded line breaks, nested lists and objects — the empty list shows a message and downloads nothing, and while the list is still loading (or if it failed to load) the button is disabled instead of reporting an empty history.
- Everything else on the page is unchanged: the rows, pin, remove, compare, re-decode, the search filter, Clear all and the hostile-value checks from release 2.22.6 pass identically on both versions, and the export sends no request to the server.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding; a second copy of the previous version answered identically to the first.
- Nothing else changed: the file differs from the previous version only in the history page’s HTML and in the version number.
v2.22.18PATCH2026-09-24build c8592fa2bbc5
Why this version: A fix that runs an existing check at two more places: the response cleaner that turns HTML codes such as & back into plain characters now also cleans the similar-vehicles list and the vehicle-image lookup. No field is new and no decode answer changes.
2026-09-24 · quality
Similar vehicles and vehicle images no longer show HTML codes such as &
Since 2.22.16 a decode answer is cleaned of HTML codes at every depth, so a Chrysler Town & Country stored as TOWN & COU is shown as TOWN & COU. Two other lookups read the same stored records but never went through that cleaning: the similar-vehicles list shown under a decode, and the vehicle-image lookup. Both now use the same cleaner. It only turns HTML codes back into characters in the make, model and other card text taken from our records. The picture, the Wikipedia link, title and description come from Wikipedia and are left exactly as Wikipedia sends them.
- Measured before the fix on 536 test VINs built from every stored record that carries the code: the image lookup showed it in 344 answers (341 models, 3 makes) and the similar-vehicles list in 342 answers
- After the fix the image lookup changed exactly those 344 values and nothing else, including on repeat requests answered from its cache
- On a 103-VIN sample of the similar-vehicles list, 116 card values changed, every one of them a value that carried the code, and no card carries it any more
- Only the HTML codes are decoded: spaces around a stored model name are left as they were
- Decoding is unchanged: 400 test VINs answered byte for byte the same apart from the version stamp, in all three request shapes
- Several other lookups that read the same records, such as known issues, service, parts, reverse lookup and search, still show the raw code for now
v2.22.17PATCH2026-09-24build 9d9397e14dac
Why this version: A fix to an existing page: the garage’s Export button did nothing because its function had never been written. Nothing new was added, and decode answers are unchanged.
2026-09-24 · quality
The garage’s Export button works
The “⬇ Export” button on the My garage page called a function that did not exist, so clicking it did nothing (the browser logged an error). It now downloads the saved cars as a CSV file named with your local date (vin-garage-YYYY-MM-DD.csv): one row per car with the VIN, the date it was saved and the main decode fields (make, model, year, year range, engine code, displacement, body, fuel, transmission, drive, plant country, source). The file is built from the browser’s own storage — nothing is sent to the server — and it opens cleanly in spreadsheets: every cell is quoted, quotes inside a value are doubled, accents are preserved, and any value that a spreadsheet would run as a formula (starting with =, +, -, @) is prefixed with an apostrophe so it stays text.
- Checked in a real browser: on the previous version the button raised “exportGarage is not defined” and downloaded nothing; on this version a garage of 18 saved cars downloads vin-garage-<today>.csv (checked from a Malaysian time zone) with a header and 18 rows whose values equal the saved entries exactly; entries carrying quotes, commas, line breaks, accents and formula-like text round-trip through a CSV parser unchanged (apart from the protective apostrophe); an empty garage shows a message and downloads nothing.
- Everything else on the page is unchanged: the 18 saved cards, Remove, Decode again, + Save, Clear all and the hostile-value checks from release 2.22.3 pass identically on both versions.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding; a second copy of the previous version answered identically to the first.
- Nothing else changed: the file differs from the previous version only in the garage page’s HTML and in the version number.
v2.22.16PATCH2026-09-24build fc0b967bb038
Why this version: A fix to an existing check: the response cleaner that turns HTML codes such as & back into plain characters now reaches every piece of text inside the answer, not only its top-level fields. No field is new and no top-level value changes.
2026-09-24 · quality
The per-character breakdown no longer shows HTML codes such as &
Some stored records keep an ampersand as the HTML code &, so a Chrysler Town & Country can arrive as TOWN & COU. The decoder already cleaned that in the main fields of the answer, but the cleaning only looked one level deep and ran after the per-character breakdown had been built. So the model field said TOWN & COUNTRY while position 4 of the breakdown still said model: TOWN & COU. The cleaner now walks the whole answer and unescapes every piece of text in it, at any depth: the breakdown, the variant lists, the twin-model and suspect-WMI blocks. Numbers, flags and key names are never touched, and the top-level fields are treated exactly as before.
- Measured before the fix on 536 test VINs built from every stored record that carries the & code (mostly Chrysler Town & Country): 341 answers showed the code in the breakdown, none in a top-level field
- After the fix those 536 answers show no HTML code anywhere; the only lines that changed are the 344 breakdown lines that carried it (position 4, and position 5 on three of them), in all three request shapes
- The standard battery of 400 test VINs answered byte for byte the same apart from the version stamp, in all three request shapes
- Nested text is only unescaped: surrounding spaces inside nested text are left as they were, so no line changes unless it carried an HTML code
- The home page had been decoding these codes in the browser since 2.22.14 as a workaround; it still does, which is harmless on clean text
v2.22.15PATCH2026-09-24build d5758f62cb04
Why this version: A speed fix to one existing page: the graph page now paints before its visualisation library has downloaded. Nothing new appears and no answer changes.
2026-09-24 · performance
The graph page appears sooner
The Knowledge Graph page loads a 690 KB drawing library. It used to be requested at the very top of the page, so browsers showed a blank page until the whole library had arrived. The library is now requested at the end of the page, after the layout, so the page's heading, search box and tabs paint first and the library follows. Explore works exactly as before, and the library is still the copy served from our own site, checked against the same integrity hash.
- Checked in a browser: with the library deliberately slowed down, the heading is already on screen before the library arrives
- Explore with a VIN in the address bar still draws the graph and fills all three tabs
- Decoding is unchanged: 400 test VINs answered byte for byte the same apart from the version stamp
v2.22.14PATCH2026-09-24build 7021891c4488
Why this version: A fix to an existing page: the home page now shows every decode value and every side answer as plain text and no longer keeps the VIN or a question inside inline click handlers. Nothing new was added, and decode answers are unchanged.
2026-09-24 · quality
The home page shows every value as plain text
The home page builds its result cards in the browser from the decode answer and from the side answers (vehicle image, Wikipedia specs, parts and service links, similar cars, decoder path, the assistant’s reply and the issue-report acknowledgement). Those values were inserted as raw HTML, so a crafted answer or a crafted address could run script in a visitor’s browser. Every one of them is now shown as plain text; the ten result-page actions (copy link, QR code, add to compare, report an issue and submit it, ask a question and the quick questions, use the corrected VIN, twin-model chips, production sub-period chips) carry the VIN and the question as data attributes handled by one page-level handler instead of inline click code; and the vehicle image, the Wikipedia link and the parts-search, engine-code-search and research links only use http(s) addresses.
- Checked in a real browser with a decode answer that carried a script probe in every text field and side answer, a VIN written to break out of the click handlers, and javascript: addresses in the parts links and the Wikipedia link: on the previous version 92 distinct places ran the probe (including the copy-link, QR, compare, report, ask and use-this-VIN buttons) and three javascript: links were emitted; on this version none did, every value is shown literally, the http(s) links are kept exactly, and all 22 checks pass, including keyboard use of the chips and of the ask box.
- Behaviour with ordinary data is unchanged: for a real VIN the result cards, the visible text, the saved garage entry, the compare list, the copied link, the QR address, the report body and the assistant request (button and Enter key) are identical to the previous version. A model name stored with an HTML entity (a Chrysler Town & Country whose position breakdown and similar-cars list carry “TOWN & COU”) still reads “TOWN & COU”, exactly as before.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding; a second copy of the previous version answered identically to the first.
- Nothing else changed: the file differs from the previous version only in the home page’s HTML and in the version number.
v2.22.13PATCH2026-09-24build ad5f9b1a4f84
Why this version: A fix to how existing pages are presented: the site's two typefaces are now served from our own site instead of Google Fonts, so the security policy that blocked them is left untouched. No page, panel or value is new.
2026-09-24 · quality
Every page now shows the site's intended typefaces
The site was designed in Inter with JetBrains Mono for VINs and codes, but every page loaded those fonts from Google, and the site's security policy, which only trusts the site itself, blocked that stylesheet. Browsers fell back to their system fonts on all twelve pages. The two typefaces are now served from our own site, so they display everywhere and the security policy stays exactly as strict as before.
- Inter and JetBrains Mono are served from this site; no request goes to Google Fonts any more
- The security policy is unchanged: it still trusts no outside host for styles, scripts or fonts
- Checked in a browser on all twelve pages: no policy error, both typefaces loaded, same fonts as before
- Decoding is unchanged: 400 test VINs answered byte for byte the same apart from the version stamp
v2.22.12PATCH2026-09-24build 1246828e1042
Why this version: A security tightening of an existing page: the graph page's visualisation library is now served from our own site, so the site's script policy again trusts no outside host. Nothing new is served.
2026-09-24 · trust
The graph page loads its library from our own site again
Earlier today the graph page's Explore view was repaired by allowing one outside script host in the site's security policy. The library it needs (vis-network 9.1.9) is now served from our own site instead, checked against the same integrity hash, and the policy once more allows scripts only from the site itself.
- No outside script host is trusted by the site's security policy
- The library file was verified byte for byte against the integrity hash the page already required
- Decoding is unchanged; this affects only the graph page and the security headers
v2.22.11PATCH2026-09-24build bbde747c2286
Why this version: A fix to an existing page and a security-header change: the Knowledge Graph page can load its drawing library again, from one allowed address, and the page checks the library’s fingerprint before running it. Nothing new was added, and decode answers are unchanged.
2026-09-24 · quality
The Knowledge Graph page works again
The Knowledge Graph page draws its network with a library loaded from a public address, and the site’s security policy had been blocking that address; every “Explore” ended with an error and the network view, decoder-path and sister-cars tabs stayed empty. The policy now allows that one address, and the page carries the library’s fingerprint so that the browser refuses any other file served in its place.
- Checked in a real browser: before, the library was blocked, “Explore” showed “Error: vis is not defined” and the tabs stayed empty; now the library loads, the network is drawn and, for a real VIN, the decoder-path (3 steps), sister-cars (4 makes) and statistics tabs fill from the page’s own answers. A tampered copy of the library served in its place was refused by the browser.
- Nothing else changed: the plain-text protections added earlier today still hold on this page, and the security headers on every other response are as before, apart from the one allowed address.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.10PATCH2026-09-24build b89773ed7ba6
Why this version: A security fix to an existing page: the Knowledge Graph page now shows the VIN you entered, the decoder-path step names and the graph counts as plain text, and carries the VIN safely in its requests. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
The Knowledge Graph page shows every value as plain text
On the Knowledge Graph page, the VIN you entered (or that a link carried) was placed into the “No graph path found” message as HTML, and the decoder-path step names and the graph statistics counts were placed into the page the same way, while the rest of the page already used text. A crafted link could therefore change the page or, in the worst case, run a script. Every value is now shown exactly as it is, the same fix the batch, My garage, Reports, Decode history, Global feed, Compare and VIN encoder pages received, and the VIN is now encoded in the page’s requests, so one containing unusual characters no longer reaches a different address.
- Checked in a real browser with stubbed graph answers: on the previous page, a VIN carrying a hidden image tag in a link, a hidden tag in a step name and one in a graph count ran their script (3 of 3); on this version every one is shown as text and nothing runs, and a VIN containing a slash or a question mark is sent as one encoded segment.
- With the page’s own answers for a real VIN, the decoder-path, sister-cars and statistics tabs rendered identically before and after, and the tabs, the Sample button and the Enter key behave as before. Separately, we found that the page’s network drawing library is currently blocked by the site’s security policy, which stops the Explore button with an error; that is not changed by this release and a fix follows.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.9PATCH2026-09-24build e292974ffa71
Why this version: A security fix to an existing page: the VIN encoder’s copy and decode buttons no longer carry the VIN inside their code, and the few counts it still placed into the page raw are now shown as plain text. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
The VIN encoder’s buttons no longer carry the VIN in their code
The VIN encoder page already showed its values as text, but its “Copy VIN” and “Decode this VIN” buttons, and the copy and decode buttons on every candidate row, had the VIN written into their code, where the page’s text escaping does not apply and a quote could change what the button does. Each button now finds its VIN through a data attribute, the same fix the batch, My garage, Reports, Decode history, Global feed and Compare pages received. The page’s escaping now also covers the apostrophe, and the source counts shown next to WMI candidates, candidate rows and alternative patterns are shown as plain text too.
- Checked in a real browser with stubbed encoder answers: on the previous page, a VIN built to break out of the button’s code ran its script when the button was clicked, and hidden image tags in the source counts ran theirs on display (6 of 6); on this version the copy button copies the VIN exactly as it is, the decode button hands the whole VIN to the decoder page, and every count is shown as text.
- A real encoder answer (a Toyota 4Runner) rendered identically before and after, and the page’s error message and no-result branches behave as before.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.8PATCH2026-09-24build 74d192db9234
Why this version: A security fix to an existing page: the Compare page now shows every VIN and value as plain text instead of HTML, and its chip buttons no longer carry the VIN inside their code. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
The Compare page shows every value as plain text
On the Compare page, the VINs (from the address bar, from your saved list, or typed in) and every decoded value in the table were placed into the page as HTML, so a value containing characters such as < or & could change the page or, in the worst case, run a script. Every value is now shown exactly as it is, the same fix the batch, My garage, Reports, Decode history and Global feed pages received. The VIN was also written into each chip’s remove button, so a VIN containing a quote could not be removed; the button now finds its chip through a data attribute.
- Checked in a real browser with stubbed decode results: on the previous page, a VIN carrying a hidden image tag from the address bar, from the saved list or typed in, and decoded values carrying one in the make, model, year, year range, engine code, country and source, ran their script (10 of 10); on this version every one is shown as text and nothing runs.
- Four real decode results rendered identically before and after across all 26 rows, the “differences only” filter keeps the same rows, a chip other than the first is removed correctly, a VIN containing quotes can now be removed, and Clear and the four-VIN limit behave as before.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.7PATCH2026-09-24build 385fbb34f1d0
Why this version: A security fix to an existing page: the Global decode feed now shows every value as plain text instead of HTML. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
The Global decode feed shows every value as plain text
On the Global decode feed, each row’s VIN, make, model, year, country, date, decode and client counts, and the summary boxes, were placed into the page as HTML. This feed shows everyone’s decodes to everyone: the VIN is stored exactly as the person typed it and the vehicle values come from the decoder, some of them from listings, so a value containing characters such as < or & would have changed the page for every visitor or, in the worst case, run a script. Every value is now shown exactly as it is, the same fix the batch, My garage, Reports and Decode history pages received. The page’s two tabs and its Decode links were already safe.
- Checked in a real browser with stubbed hostile feeds: on the previous page, values carrying a hidden image tag in the VIN, make, model, year and country of the recent tab, the VIN, make, model, country, decode count and client count of the most-decoded tab, and the four summary boxes ran their script (15 of 15); on this version every one is shown as text and nothing runs.
- The live feed rendered identically before and after on both tabs, the tabs still switch, the empty states still show, and the Decode links still carry the whole VIN.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.6PATCH2026-09-24build edc4204e85bd
Why this version: A security fix to an existing page: the Decode history page now shows every value as plain text instead of HTML, and its buttons no longer carry the VIN inside their code. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
Decode history shows every value as plain text
On the Decode history page, each row’s VIN, make, model, year, fuel, engine, country, hit count and date, and the summary boxes, were placed into the page as HTML. The VIN is stored exactly as you typed it and the vehicle values come from the decoder, some of them from listings, so a value containing characters such as < or & could change the page or, in the worst case, run a script. Every value is now shown exactly as it is, the same fix the batch, My garage and Reports pages received. The VIN was also written into the four row buttons’ code, so a VIN containing a quote broke them; each button now finds its row through a data attribute.
- Checked in a real browser with a stubbed list of hostile rows: on the previous page, values carrying a hidden image tag in the VIN, make, model, year, fuel, engine, country, hit count and the summary boxes ran their script (10 of 10); on this version every one is shown as text and nothing runs, and a VIN containing a quote can no longer add an attribute to its cell.
- The row buttons act on the right row: pin, remove, compare and decode-again were clicked on different rows, including a VIN containing quotes and a slash, and each request or link named that row’s VIN; after filtering with the search box, the buttons act on the filtered row. Clear all, the empty list and the pinned highlight behave as before.
- The live history (496 rows) rendered identically before and after, and decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.5PATCH2026-09-24build d3dfdba07073
Why this version: A security fix to an existing page: the Reports page now shows every report value and count as plain text instead of HTML, and its buttons no longer carry the report id inside their code. Nothing new was added, and decode answers are unchanged.
2026-09-24 · trust
The Reports page shows every value as plain text
On the Reports page, each report’s VIN, status, severity, category, the name of who resolved it, the dates, the summary counts and the counts on the filter buttons were placed into the page as HTML, while the free-text fields were already shown as text. The server only accepts fixed values for status, severity and category, so this could not be triggered from the report form; the change closes the gap for good, the same fix the batch page and My garage received. Each button now finds its report through a data attribute instead of having the id written into its code, and the id is encoded in the request address.
- Checked in a real browser with a stubbed list of hostile reports: on the previous page, values carrying a hidden image tag in the VIN, status, severity, category, resolver name, summary counts and filter counts ran their script (9 of 9); on this version every one is shown as text and nothing runs, and a status containing a quote can no longer add an attribute to its badge.
- The buttons act on the right report: Resolve, Acknowledge, Save, Delete, Investigate and Dismiss were clicked on four different cards and each request named that card’s id, including ids containing quotes or a slash, which broke the buttons before. “Resolve all open”, the filter buttons, the non-admin view and the empty list behave as before.
- The live list of 100 reports rendered identically before and after (none contained a special character), and decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.4PATCH2026-09-23build 56ac81096a89
Why this version: A fix to an existing check on VW-group vehicles: a false 'structural rule says' warning no longer fires, and the check that holds back a doubtful engine code now states the true reason and holds back the torque figure derived from that code. Nothing new is served.
2026-09-23 · accuracy
VW-group vehicles: a false engine warning removed, and the real reason given when a code is held back
On Volkswagen, Audi, SKODA, SEAT and Porsche VINs, position 8 is a platform code, not an engine. Our decoder was treating it as an engine and printing a warning that a 'structural rule' disagreed with the engine code, sometimes naming an engine the car never had. That warning is gone. Where the decoder still holds back a doubtful engine code, the reason now says what is true, and a torque figure worked out from that code is held back with it.
- We measured releasing the held-back VW-group values instead: they were right only 25 to 74 percent of the time against the cars' own records, so they stay held back
- Engine codes that come from the exact car's factory record are never held back by this check
- On the test set, 133 values changed on 65 vehicles, all withdrawals of doubtful figures or clearer wording; on real customer traffic, the only change is that 8 vehicles lose a torque figure that had been worked out from a held-back engine code
v2.22.3PATCH2026-09-23build 36b3ca8391d4
Why this version: A security fix to an existing page: the My garage page now shows saved values and VINs as plain text instead of HTML, and its buttons work for any saved VIN. Nothing new was added, and decode answers are unchanged.
2026-09-23 · trust
My garage shows every saved value as plain text, and its buttons work for any VIN
The My garage page placed each saved car’s make, model, year, body, engine and VIN into the page as HTML. Because these values are the decode results saved in your browser, one containing characters such as < or & would have changed the page on every visit, or in the worst case run a script. Every value is now shown exactly as it is, the same fix the batch page received earlier today. The VIN was also written into the buttons’ code, so a saved VIN containing a quote broke “Remove”, and one containing & or # sent only part of itself to “Decode again”. Both buttons now work for any saved VIN, and a car photo whose web address contains a quote or brackets now loads instead of being dropped.
- Checked in a real browser: a saved car whose make, model, year, body, engine and VIN carried a hidden image tag ran its script six times on the previous version; on this version every one is shown as text and nothing runs. “Remove” on that car failed before and works now, “Decode again” on a VIN containing & now hands the whole VIN to the decoder page, and each card’s buttons act on that card (checked on the 6th and the last of 18 cards).
- Normal cars look the same: 18 test cars saved from the batch page rendered identically before and after (none of them contained a special character), a car photo with an ordinary web address still shows, and a VIN typed into “+ Save” or saved from the decoder page still appears as a card.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.2PATCH2026-09-23build c01be4a454fe
Why this version: A security fix to an existing page: the batch page now shows decoded values, the typed VIN and error messages as plain text instead of HTML. Nothing new was added, and decode answers are unchanged.
2026-09-23 · trust
The batch page now shows every value as plain text
On the batch page, the make, model, year, body, country, the VIN you typed and any error message were placed in the results table as HTML. Some of our data is collected from listings, and a value containing characters such as < or & could change how the page looked or, in the worst case, run a script in your browser. Every one of these values is now shown exactly as it is. The engine and quality columns already were.
- Checked in a real browser: a test result whose make and model carried a hidden image tag ran its script on the previous version, and so did a line typed into the VIN box. On this version the tag is displayed as text and nothing runs.
- Normal results look the same: 400 test VINs rendered identically before and after, and the “+ garage” button still saves every row (18 of 18).
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.1PATCH2026-09-23build 78b7b93b1438
Why this version: A fix to an existing page: the batch page’s “+ garage” button failed on results containing an apostrophe. Nothing new was added, and decode answers are unchanged.
2026-09-23 · quality
The batch page’s “+ garage” button now saves every car
On the batch page, the “+ garage” button failed whenever a result contained an apostrophe, and in our checks every result did, for example in its explanation text. On some rows the button was replaced by a block of raw text. On the others it looked normal but did nothing when clicked. It now saves every row, and the saved car matches the result on screen.
- Checked in a real browser on 19 test VINs: before, none of the 18 decoded rows could be saved, and 12 showed raw text instead of the button. Now all 18 save, and each one appears on the My garage page.
- Decode results are unchanged: 400 VINs gave the same answers as the previous version, apart from the version number, for single, fast and batch decoding.
v2.22.0MINOR2026-09-23build 1eaf8344ea99
Why this version: New output: a Quality column on the batch page and a status column per field in its CSV export, plus a new optional request field, include_quality, that lets API users skip the quality block.
2026-09-23 · trust
Batch results now show each value's quality, and the CSV export carries it
The batch page gains a Quality column, and its CSV export now gives every exported field its status (verified, unverified, estimated, withheld or missing), so a spreadsheet shows at a glance which values are confirmed. API users who do not need the per-field quality block can now leave it out.
- CSV export: the original columns stay first, followed by one status column per field, the fields grouped by status, any unconfirmed candidates, and quality warnings
- When the engine code is withheld, the Engine cell says so instead of showing a bare engine size, and labels the size with its status
- API: send include_quality: false on /decode or /decode/batch to skip data_quality (it comes back as null, about 5.6 KB smaller per result); every other value is unchanged, and leaving it out keeps the block
v2.21.0MINOR2026-09-23build 7376987efef4
Why this version: New response field and header: every answer carries decoder_version, also sent as X-Decoder-Version and shown on /health.
2026-09-23 · trust
Every answer now carries the decoder's version number, and this page is a patch log
Each decode now says which release of the decoder produced it, so a saved or printed result can always be traced back to its release. This page now lists every release since August under its version number, with the reason it got that number.
- The API returns decoder_version with every result; the same number is in the X-Decoder-Version header and on /health
- Numbers follow fixed rules: MAJOR when a field is removed or changes meaning, MINOR when something new is added, PATCH for corrections only
- Every update since 25 August is filed under its version, from 2.0.0 to 2.21.0, and each version says why it got its number
- Releases before August 2026 are Beta 1.0
v2.20.0MINOR2026-09-23build dea84bb3c41e
Why this version: New response block: data_quality labels every field verified, unverified, estimated, withheld or missing.
2026-09-23 · trust
The API now says which values are verified, and which are not
Every decode now includes a data_quality section: each field is labelled verified, unverified, estimated, withheld or missing, with a one-sentence reason and where the value came from. 'Verified' is deliberately strict: a value earns it only when an independent record for that exact vehicle confirms it, so most values honestly read unverified. It is documented, with a ready-to-use example, in the API docs.
- Nothing else in the response changed, and single, batch and fast decodes carry the same section.
- A value we found but could not confirm is reported as withheld, never silently dropped.
- We measured every source before trusting it: where we could compare, NHTSA's engine code matched the vehicle's registration record only 14 times in 43, so NHTSA alone can only verify a diesel fuel type.
v2.19.0MINOR2026-09-22build 63fd86968b5e
Why this version: New method across manufacturers: body style comes from the vehicle's own VIN pattern instead of broad US registration classes.
2026-09-22 · accuracy
Station wagons, vans and hatchbacks are no longer labelled SUVs
US registration records use broad classes: 'Suburban' covers both SUVs and station wagons, and we were showing every one as an SUV. The decoder now uses the body styles recorded for the vehicle's own VIN pattern. A Volvo V70, VW Golf SportWagen or Audi A4 Avant now reads Wagon, a Ford Focus reads Hatchback, and Sprinter and Transit vans read Van.
- A few compact crossovers (Mazda CX-3, Lexus UX, Hyundai Venue) now read Wagon, which is how NHTSA classifies them.
- Engine measurements that came with an engine code the decoder rejected are withdrawn when the vehicle's own records contradict them.
v2.18.1PATCH2026-09-22build e37304140231
Why this version: Corrections: the engine-size check now runs at the very last step, and a data repair fixed Sprinter engine sizes.
2026-09-22 · accuracy
Mercedes-Benz and Dodge Sprinter vans get their engine data back
A listing source recorded 3.9 litres for 776 Sprinters that have the 3.0-litre OM642 V6 diesel. That false figure made the decoder reject the correct engine and show no engine data at all. The false figure is removed: Sprinters now show their cylinders and power, and the OM642 engine is shown as unverified instead of being hidden.
v2.18.0MINOR2026-09-22build 02e57bfe9b1c
Why this version: New check across manufacturers: bore, stroke and cylinder count must agree with the engine size.
2026-09-22 · quality
Engine measurements that contradict the engine size are withdrawn, with an explanation
Bore, stroke and cylinder count fix an engine's size exactly. When they disagreed with the engine size shown on the same page by more than 3%, one of them had to be wrong. The decoder now withdraws the bore, stroke and compression ratio in that case, because they usually come from a single catalogue row while the engine size has independent support, and says why on the page.
- On our test set, physically impossible combinations went from 169 responses to none.
- The check runs as the very last step of the decode, so a later lookup cannot bring a contradiction back.
v2.17.0MINOR2026-09-21build 76d24f8ca803
Why this version: New page panel: 'What might be wrong', with held-back values shown as unverified. Also, engine reference data corrected against manufacturer sources.
2026-09-21 · trust
The vehicle page shows the values we held back, and what might be wrong
When the decoder is not confident enough in a value it holds it back, and until now the page just showed a blank. Those values now appear, clearly marked unverified, and a new 'What might be wrong' panel lists every field we withheld, estimated or are unsure of, plus any risk that affects the whole decode.
- Nothing is hidden silently: a held-back value is shown with the reason it was held back.
- The panel also flags engine measurements that do not add up, and decodes with low overall confidence.
2026-09-21 · accuracy
Engine reference data corrected against manufacturer sources
We compared our engine reference tables with manufacturer documents and independent sources, and fixed every conflict we could prove with at least two citations. The most common fault was torque recorded in pound-feet but labelled as newton-metres. Proposals that failed an independent check were not applied.
- Acura TL 3.5: 254 to 344 Nm. Acura RDX: 260 to 353 Nm. Acura MDX: 275 to 373 Nm.
- A Honda CR-Z was shown the bore and stroke of a Buick 2.4-litre engine that shares its short code; it now shows its own 1.5-litre engine.
- A 2012 Malaysian-built Honda Accord was listed as a Proton Perdana; it now reads Honda Accord 2012.
v2.16.0MINOR2026-09-21build 8fe3f7250f8a
Why this version: New labelled values on the vehicle page: bore × stroke and compression rows. Also, correct US engine data released from over-strict checks.
2026-09-21 · coverage
US vehicles get their engine details back
Safety checks added in August were holding back correct engine data together with doubtful data, and American vehicles lost much of the engine detail they used to show. Between 18 and 21 September we went through every check, released the values independent records confirm, and kept the protections that catch real errors.
- On 4,689 US test VINs: engine codes shown went from 1,864 to 2,977, engine size from 3,741 to 4,412, power from 2,331 to 2,906 and torque from 1,889 to 2,038.
- Bore and stroke now appear on the vehicle page.
- Wrong fuel types on US vehicles fell from 255 to 75, and wrong power figures from 234 to 211 (8,468 test VINs).
v2.15.1PATCH2026-09-18build 8f2777d5ceaf
Why this version: Correction: a VIN-table rule now checks the model year.
2026-09-18 · accuracy
A rule that gave every model year of a VIN pattern the same engine now checks the year
One of our VIN tables mapped a single VIN character straight to one engine for a whole manufacturer code, with no model year. We measured it: 40 of its 62 checkable entries were wrong for every model year. An entry is now used only when the vehicle's own NHTSA record or its model year supports it.
- 343 Toyota Camrys in one VIN pattern were all being given the same V6 engine code, wrong for every one of them; that assignment is gone.
- Entries that were right only for some years are now limited to those years.
v2.15.0MINOR2026-09-18build b10454782dbf
Why this version: Existing source, new field across manufacturers: the engine code NHTSA holds for that exact VIN, with NHTSA's known errors blocked.
2026-09-18 · coverage
US vehicles show the engine code filed with NHTSA for that exact VIN, with NHTSA's own known mistakes blocked
Manufacturers file an engine description with NHTSA for every VIN, and for about a quarter of US vehicles it is an exact engine code. We now use it as the last step of the decode, after checking it against the engine family and the vehicle's own measurements. Four kinds of NHTSA error we found, such as some 2014-2016 Sienna records naming a later engine, are blocked. On 8,503 test VINs it added over a thousand engine codes, and none of those we could check against another record was wrong.
- A 2010 Honda CR-V that showed no engine code now shows K24Z6, from its own NHTSA record.
- An engine note meant for Malaysian CR-Vs (R20A) no longer appears on US cars.
- Where NHTSA only gives an engine family, it is no longer presented as an exact engine code.
v2.14.1PATCH2026-09-17build ea484b9d2280
Why this version: Corrections for one model: the Honda Accord's exact engine and gearbox.
2026-09-17 · accuracy
Honda Accords get their exact engine and gearbox, and a misleading 'Engine family' line is gone
A 2014 Accord was shown with no engine code and a 5-speed automatic it never had. Three rules were fixed: the exact engine variant now comes from the car's own NHTSA record when it agrees with the engine family we hold, a gearbox rule written for Malaysian Accords now applies only outside North America, and 2003-2007 Accords are split by model year so each gets its own engine. We also removed the 'Engine family' line from the vehicle page: on real traffic at least 14 of the 194 we displayed were wrong.
- 2014 Honda Accord 2.4: now K24W1 with a CVT, taken from its own NHTSA record.
- 2003-2005 and 2006-2007 Accords now get their own engine codes instead of sharing one.
- Power is filled from the vehicle's NHTSA record only when it falls inside the known range for that engine.
v2.14.0MINOR2026-09-13build c6a53de0cacb
Why this version: New check across manufacturers: an engine code we cannot stand behind is withdrawn everywhere on the page and in the API.
2026-09-13
When we cannot stand behind an engine code, the vehicle page no longer shows one anyway
A vehicle whose engine code could not be verified was still having an engine named for it elsewhere on the page and in the API. A 2003 Nissan Almera displayed a 2020 engine. A 2012 Civic's data named a Japanese-market Fit engine while the correct code sat unused. Those claims are now withdrawn wherever they appear, and nothing is thrown away: each withdrawn value is kept in the response, marked unverified, with the reason it was held back.
- 3,641 unverified engine claims were removed across 486 vehicles in the test set. They appeared in the engine family line on the vehicle page, in the engine name, and in several provenance fields returned by the API.
- The engine family line is shown on the vehicle page, so this is visible: a 2003 Almera read 'Engine code: -' with 'Nissan HR10DET, 1.0L 3-cylinder turbo' printed beneath it. That engine is from 2020 cars.
- Nothing is deleted. Every withdrawn value is preserved in the response under an explicitly unverified field, together with which rule withheld it, so nothing that was known is lost.
- Sentences are no longer edited word by word. An earlier attempt cut engine codes out of prose and produced text like 'Camry Hybrid Hybrid'; the shipped version drops a whole clause or the whole field instead.
- This does not fill in missing engine codes. The number of vehicles showing no engine code is unchanged, by design: the codes being withheld were measured as correct only about 43% of the time, and showing them would make the decoder less reliable, not more.
- Known gap: one vehicle in the examples still reports 3 cylinders inherited from the wrong engine. A different rule owns that field and it is queued.
v2.13.1PATCH2026-09-12build 54ffe7163bbf
Why this version: Reliability fixes: a failed NHTSA call no longer hides engine details until restart, and the year's confidence dot now matches the evidence.
2026-09-12
A failed lookup no longer hides a vehicle's engine details until restart, and the year's confidence dot now reflects the evidence
Two quiet defects. A failed call to NHTSA was remembered forever by whichever server handled it, so a single two-second timeout could hide a vehicle's engine details for hours. And the confidence dot beside the model year showed maximum certainty whenever a network lookup had set that year, even though that lookup checked nothing at all.
- A failed NHTSA lookup is now retried after five minutes instead of being remembered until the server restarts. Before this, one timeout could leave a vehicle missing its engine details indefinitely, and two servers could disagree about the same VIN forever.
- Successful answers are still kept for the life of the server, so this does not increase traffic to NHTSA.
- The year's confidence dot no longer claims maximum certainty just because a network lookup set the year. That lookup applies no checks: no verification of the VIN's check digit, and it never even reads NHTSA's own error code.
- Where the VIN's year letter reads as the same year one 30-year cycle apart, that is now treated as agreement rather than a contradiction, so the dot does not drop for the wrong reason.
- A dead check meant a vehicle's model year could disagree with its year. It is fixed. No vehicle changed today, so this is a guard against future drift rather than a visible improvement.
v2.13.0MINOR2026-09-12build 119770ef2a24
Why this version: Existing source, new field across manufacturers: NHTSA's record now also fills the assembly plant name. Also fixed: a year that could change between identical requests.
2026-09-12
Vehicles now show the assembly plant that built them, and a model year can no longer change between identical requests
NHTSA's per-VIN record names the plant a vehicle was built in, and we were dropping that name instead of serving it. It is now shown for 415 vehicles in our test set, checked against the vehicle's own city and state so a corporate label such as 'GMNA' is refused rather than displayed. Separately, a year-correction rule was switching itself off on a vehicle's first decode, so the first person to look up a VIN could see a different year from everyone after them.
- 415 vehicles gained the name of the plant that built them. Nothing was overwritten: that field was empty on every one of them.
- NHTSA's text is free-form and carries typos, so the name is repaired to the spelling the record itself uses elsewhere for the same plant. 'Michigan Assy' now reads 'Michigan Assembly', and 'Ohio Assebly Plant' reads 'Ohio Assembly Plant'.
- Names that identify a company rather than a plant, such as 'GMNA', are refused. The field stays empty rather than showing something misleading.
- Plants that share a city stay distinct: Toledo North Assembly and Toledo South Assembly are never merged.
- A model year could previously change between two identical requests. The first-ever lookup of a VIN served an uncorrected year and held it for an hour, while later lookups returned the corrected one. The year correction no longer switches itself off.
- Known gap, unchanged: four flex-fuel vehicles are still shown as petrol.
v2.12.0MINOR2026-09-12build 3fa04ec0d761
Why this version: New data source: NHTSA's per-VIN record now decides the plant, model name and engine details of North American VINs.
2026-09-12
North American VINs now use NHTSA's own per-VIN record for the plant, the model name and the engine details we were holding back
Manufacturers must file their VIN decoding with NHTSA, and we already held its answer for 157,000 VINs without using it. Comparing 2,400 North American VINs showed the plant city wrong 46% of the time, model names cut short on one in eight, and engine details hidden on the majority of vehicles even when our own data had them. This release uses the NHTSA record to confirm and release those values, and repairs several wrong model names.
- Plant city was wrong on 46% of North American vehicles and is now taken from NHTSA. A 2015 Jeep Compass that read Detroit now reads Belvidere, Illinois.
- US-built Toyota Highlanders were being shown as Kluger, the Australian name. They now read HIGHLANDER, and their engine, cylinders and power are unchanged.
- Other model repairs: a Subaru shown as Crosstrek is an Impreza, a Nissan shown as Sentra is a Maxima, and 'NEON HIGHL' now reads Neon. Cut-short model names fell from 13.4% to 3.3%.
- Engine details we held but hid are now shown when NHTSA's record for that exact VIN agrees. Missing engine codes fell from 70.9% to 55.6%, missing displacement from 31.2% to 13.1%, missing cylinders from 12.5% to 4.0%, and missing fuel from 9.1% to 3.6%.
- A 1991 Ford Ranger was returned as a 2021 on the fast API. It now returns 1991.
- Trade-offs, stated plainly: 48 vehicles lose the assembly plant's name while gaining the correct city, one Highlander's engine code is now withheld rather than shown, and two vehicles' series code regressed.
- 1,000 vehicles built outside North America were checked and none changed.
v2.11.0MINOR2026-09-11build b294f91a9319
Why this version: New response field: recall_vehicle says which vehicle each recall list was fetched for.
2026-09-11
Safety recalls are now found under the name NHTSA actually files them under, and the site's VIN-pattern count is honest
Recalls were looked up while the model name was still provisional, so NHTSA rejected keys like GRANDCHEROKEE, F150 or SEDONA EX and the vehicle appeared to have no recalls. The lookup now runs once the vehicle is fully identified and uses NHTSA's own model name for North American VINs. On 500 test VINs the right recall list is now returned for 487, up from 304. Separately, the headline that claimed 930,524 decodable VDS codes was wrong by about 14 times and has been replaced.
- Recalls: a 2019 Ford F-150 now shows 9 recalls, a 2017 Jeep Grand Cherokee 6, a 2006 Kia Sedona 7 and a 2020 Chevrolet Silverado 1500 12. All four previously showed none.
- Every recall list now states which vehicle it was fetched for, so a list can never be shown silently for a different model.
- Lists shown for vehicles built outside North America are marked as US-market NHTSA recalls, with a note to check whether they apply.
- The recalls-by-VIN endpoint now returns exactly the same list as the decode, and reads NHTSA's park-it flags under their correct names.
- The site's headline figure now reads about 66,800 road-vehicle VIN patterns instead of 930,524 'decodable VDS'. The old number counted the check digit, ignored the maker code and included around 332,000 boat hull numbers.
- Removed unsupported claims of sub-millisecond and under-5 ms decoding; a cached fast decode measures about 23 ms at the median.
- Known gap: the recall panel is still not shown on the website. The data is in the API and the display is being wired up next.
v2.10.0MINOR2026-09-11build cdbaa51422ca
Why this version: New data source: Toyota's dealer catalogue now confirms Toyota and Lexus engine codes. Also fixed: recalls hidden after a model's first decode.
2026-09-11
Safety recalls now show on every decode, and Toyota engine codes are confirmed from the dealer catalogue
NHTSA safety recalls were only shown the first time a model was ever decoded; on every later decode a date-handling fault hid them. That is fixed, and failed NHTSA calls can no longer be recorded as 'no recalls'. Toyota and Lexus engine codes are now checked against Toyota's own dealer parts catalogue, which fills or corrects about 1,800 vehicles. Fast API requests no longer make outside network calls.
- Safety recalls: recall lists already on file are now shown on every decode, not only the first time a model was ever decoded. A date-handling fault had hidden them since at least June 2026.
- A failed call to NHTSA can no longer be stored as 'no recalls'. Old 'no recalls' entries written during outages are re-checked on the next decode, and an NHTSA outage no longer hides recalls we already hold.
- Toyota and Lexus: 1,677 vehicles that showed no engine code now show one, and 119 wrong engine codes were corrected, each confirmed by Toyota's dealer parts catalogue. Checked against NHTSA's per-VIN data, none of them disagree.
- Fast (audit) API requests no longer call NHTSA or other outside services. On 2,400 North American VINs this changed 7 fast answers (6 Tesla 'NHTSA confirmed' flags, 1 recall list). The website's normal decode still uses NHTSA.
- Known gap, fix in progress: some models still show no recalls because the lookup uses the model name before it is final (for example a 2019 Ford F-150 or a 2017 Jeep Grand Cherokee).
v2.9.0MINOR2026-09-10build a132942bccc7
Why this version: New data source: Nissan's dealer catalogue and per-VIN factory table now decide Nissan and Infiniti engine codes.
2026-09-10
Nissan and Infiniti engine codes now come from the dealer parts catalogue
We hold Nissan's own dealer catalogue and a per-VIN factory build table, but the decoder had never used them. It now looks up a Nissan or Infiniti VIN in the factory table, reads the chassis code, and takes the engine from the catalogue. On a 1,761-vehicle test, 776 cars that previously showed no engine code now show one.
- 776 vehicles went from no engine code to a real one. Nothing lost: no vehicle's year, make, model, trim, drivetrain or transmission changed, and confidence never went down.
- Where the catalogue lists several engines for a chassis, the vehicle's own displacement and cylinder count decide; if they cannot, we say nothing rather than guess.
- The catalogue also corrects wrong codes: 79 were replaced and 19 withdrawn, all from a structural rule measured wrong on 111 of 115 checks. An Infiniti Q45 showing a 5.6-litre V8 now correctly shows its 4.5.
- Checked against four sources the catalogue has no hand in: our own registration buckets agreed on all 289 comparable cars, factory geometry on 991 of 991, and human-verified records on 196 of 196.
- Human overrides and verified records were never overruled: 269, 29 and 12 of them respectively came through untouched.
v2.8.8PATCH2026-09-10build 55bfdfb9d94e
Why this version: Correction within one manufacturer group: BMW catalogue engine codes are checked against the engine reference before they are served.
2026-09-10
BMW engine codes from the dealer catalogue are now checked against the engine reference before being served
The BMW dealer-EPC path serves engine codes for about three quarters of BMW VINs. A small class of catalogue tokens that no engine reference recognises was being served at full confidence - and in some cases used to overrule and blank out a car's displacement and cylinder count. Those are now served at engine-family grain, or withheld with the evidence stated.
- 579 of 614 catalogue type-code entries name an engine the reference knows; those are unchanged. The 35 that do not (for example B32S15A, where the only known B32 family is a Mazda engine) now serve the family or abstain.
- One class of X5 M / X6 M / XM cars was being shown as a 3.0-litre six-cylinder because of an unrecognised S68B44A token; they now correctly show the S68 4.4-litre V8.
- Nothing that was served correctly changed: 0 of 984 keyed BMW VINs went from a value to nothing, and 150 North-American-WMI BMWs, 150 unkeyed BMWs, 600 non-BMWs and 45 BMWs with human overrides were byte-identical.
- This is the first step of the programme to put the dealer EPC catalogues to work across brands; Nissan/Infiniti is next.
v2.8.7PATCH2026-09-10build 53dfcb7a8f0b
Why this version: New check for one manufacturer group (GM): electric models are no longer given a combustion engine code.
2026-09-10
Electric GM vehicles are no longer given a combustion engine
Battery-electric Chevrolet, GMC and Cadillac models were being served a petrol or diesel engine code inherited from the position-8 engine tables. When the record itself shows the vehicle is electric, that code is now withheld and the evidence is stated instead.
- A 2024 Silverado EV was being shown with the L5P 6.6-litre Duramax diesel; Hummer EV pickups and SUVs with a 3.6-litre V6 or a 1990s 3.1 V6 label. Those are now withheld.
- The check only fires on positive evidence that the vehicle is electric - the manufacturer's own electrification data on the record, or a VIN line that is verified electric-only. Vehicles whose powertrain is unknown are left exactly as before.
- Plug-in hybrids keep their real engine codes: the Ampera, Volt and ELR were tested and are unchanged, as were roughly 3,500 petrol and diesel trucks and SUVs.
- When a code is withheld, the response carries it under engine_code_contested with the reason, and a warning that states the evidence on file rather than a verdict about the vehicle.
v2.8.6PATCH2026-09-09build 119864b70f00
Why this version: Wording only: a suspected mistyped VIN now gets a lead to check, not an asserted correction.
2026-09-09
When a VIN looks mistyped, we now offer a lead instead of asserting a correction
If your VIN's manufacturer code is one we have flagged as commonly mistyped, we used to tell you what your vehicle 'really' is. We now say what we actually know: that the code resembles another one, and that you should check it against the vehicle.
- The old message said a code was 'likely a typo' and named 'the legitimate WMI'. That is a per-code table entry applied to every vehicle sharing the prefix - it cannot tell you what YOUR car is.
- Measured on registration cards: the six vehicles whose VINs read as 'PH1' are a Toyota, a Honda, a Renault and BMWs. The single stored correction pointed all of them at Toyota.
- Nothing was hidden or removed. The suggested VIN is still returned exactly as before - we only stopped stating it as fact.
- We tested two designs that would have SUPPRESSED suggestions instead, and rejected both: one would have silenced correct suggestions for the newest cars, and the other would have rejected 5 of the 11 VIN corrections we had already verified and accepted.
v2.8.5PATCH2026-09-08build 10195a8108fd
Why this version: Wording only: refusal messages now say what we observed. No field was added.
2026-09-08
When we can't decode a VIN, we now say why - accurately
If we turn a VIN away, the message now tells you what we actually observed rather than asserting what your vehicle is. One customer's MINI was being told it was a trailer.
- Previously a refusal said 'this VIN appears to be a non-passenger vehicle' in two very different situations: when the vehicle's own record says so, and when only the manufacturer code suggests it. Those are now worded differently, because we know far less in the second case.
- A 2019 MINI Cooper S was refused as a trailer. Its VIN had been mis-transcribed by a single letter, and the code it landed on belongs to a trailer manufacturer - so the message now says the code, not the car, is what looks non-passenger, and that it may be a typo.
- Where we already hold a reviewed correction for a mistyped manufacturer code, the refusal now offers it - while making clear we have not decoded it and you should check it against the vehicle.
- We deliberately did not add automatic guessing of near-miss VINs: tested across our whole database it would have pointed roughly one time in thirty at a motorcycle, truck or bus instead of the car.
v2.8.4PATCH2026-09-08build e13fd838ffcd
Why this version: Correction: ordinary cars were being refused as boats.
2026-09-08
Cars are no longer turned away as boats
Some ordinary cars were being refused outright, with the decoder insisting they were boats. They now decode normally - and genuine boats and trailers are still correctly declined.
- A Kia Spectra and an Isuzu D-Max were among the vehicles rejected. The D-Max now correctly decodes as a pickup.
- The cause: almost half our reference records are American boat and trailer registrations, which are filed under a 12-character hull number rather than a 17-character VIN. When a car had no exact match, the decoder looked at vehicles with similar-looking codes and inherited 'boat' from those records.
- Because a boat's hull number can never be a 17-character VIN, we can tell that kind of coincidence apart from a genuine match with certainty - so real boats and trailers are still declined, as they always were.
v2.8.3PATCH2026-09-08build 39e3189a0a56
Why this version: Correction: when the year character repeats every 30 years, the decoder no longer leans on evidence about other vehicles.
2026-09-08
Thirty-year misdates corrected on vehicles we know least about
A VIN's year character repeats every thirty years, so 1988 and 2018 look identical. When the decoder had to guess which, it was allowed to lean on evidence that was never about your vehicle - and sometimes chose thirty years wrong.
- A 2018 Land Rover was being dated 1988, and a 2011 Volkswagen 1981. Both now decode correctly.
- The decoder may no longer break that thirty-year tie using a range pooled from similar vehicles or a window covering a manufacturer's entire history - neither says anything about the specific car.
- Where a genuine per-vehicle record exists, nothing changed: the tie-breaking rule that works is correct 99.5% of the time across 700,000 vehicles and was left exactly as it was.
v2.8.2PATCH2026-09-08build 25332621cfe0
Why this version: Correction to an existing rule: one vehicle's engine details could be copied onto unrelated vehicles.
2026-09-08
Fewer wrong answers in every category
We found a flaw that let one vehicle's engine details be quietly copied onto unrelated vehicles - and fixing it reduced wrong answers across engines, displacement, year and fuel all at once.
- When the decoder had little to go on, it borrowed details from a 'typical' vehicle sharing the VIN's manufacturer prefix. That typical vehicle was picked from an unsorted sample, so it was often not typical at all - on one Mazda prefix it picked a model making up under 1% of the vehicles.
- The borrowed details were then presented as though measured on your vehicle. A 1990s Mazda was being reported with a diesel engine that did not exist until 2012.
- The decoder now abstains instead of borrowing, and says so. Ten wrong answers were removed from our regression set with no new ones introduced - the best scores we have recorded in every field.
- Vehicles whose VIN does not encode a year in the standard position, and vehicles with verified engine records, are explicitly left untouched.
No new versionMEASUREMENT
Why no version: this change was to how we test the decoder; the decoder itself did not change.
2026-09-08
We fixed how we measure ourselves
Our regression tests were quietly ignoring every vehicle the decoder refused to answer, and reporting a diagnostic column as zero when it was not. Both are fixed, and our scores are restated honestly.
- If the decoder refused a vehicle outright, our own scoring silently removed it from the test set rather than counting it against us - so refusing a car scored better than answering it wrong.
- A column meant to show how many vehicles we could not verify at all was hardwired to zero in every report we have ever produced. The real figure is between 52 and 81 vehicles per field.
- Restated honestly, the decoder's error counts are unchanged - the refusals were never inflating them. What changes is that the numbers now show their own denominator.
- No change to decoding. This affects only how we grade ourselves.
v2.8.1PATCH2026-09-07build 726c98ca84fe
Why this version: Corrections: the BMW catalogue now outranks other data for BMW, and Honda CR-V and Accord records were repaired.
2026-09-07
The dealer catalog now has the last word on BMW engines
We found the decoder second-guessing the manufacturer's own parts catalog - and sometimes replacing a correct engine with an impossible one. The catalog now wins.
- A date-checking rule was treating OEM catalog data as a guess. On a 2-Series it swapped the real 2.0 four-cylinder for a 4.4 V8, and on an M3 it fitted the M5's V10 - both triggered by a misread build year. Catalog engines are now protected from it.
- One M3 was even being reported as an M5, because a hardcoded lookup had its chassis wrong. The catalog's 7,160 records for that car say otherwise, and it now decodes as the M3 it is.
- Where the catalog contradicts our other data, the catalog now wins outright and is served at full confidence.
- The exception is your vehicle's own registration document: if it disagrees with the catalog we keep what the document says, flag the difference, and show you what the catalog reads - a swapped or replaced engine is a fact about that specific car.
2026-09-07
Honda CR-V and Accord records cleaned against the factory catalog
We removed engine records that Honda's own dealer catalog shows are impossible for the cars they were attached to - including a third-generation CR-V engine recorded on second-generation vehicles.
- Around 3,900 second-generation CR-V records carried the K24Z1, an engine Honda did not build until the next generation. They now carry the K24A1 those cars actually use.
- For 1997-2001 CR-Vs we removed the engine code entirely rather than guess: the record key those vehicles share cannot tell a 1998 car from a 1999 one, and Honda changed the engine exactly at that line.
- A small group of 1990s Accord records listed a four-cylinder engine on V6 cars; those now carry the correct V6.
- Every change was checked against Honda's dealer catalog and independently against NHTSA's own VIN records before being applied.
v2.8.0MINOR2026-09-07build 3ad20e65d756
Why this version: New data source: BMW's dealer parts catalogue (12.6 million rows) now decides BMW engine codes.
2026-09-07
BMW engines now verified against the manufacturer's own dealer catalog
BMW and BMW M engine identification is now cross-checked against the same OEM parts-catalog data BMW dealerships use - 12.6 million catalog rows now back the decoder.
- Over 600 BMW vehicle groups that previously returned no engine code now serve one, straight from the dealer catalog - including full factory designations like B48B20B and S85B50.
- Existing engine codes that agree with the OEM catalog are upgraded to dealer-catalog confidence.
- The catalog also quietly fixed real errors: an E39 M5 that was being served the wrong generation's V10 now correctly shows its S62 V8.
- Ambiguous catalog entries are deliberately excluded - the decoder only serves what the catalog is unambiguous about.
v2.7.3PATCH2026-09-07build 6229510f9de6
Why this version: Correction: an old Ford letter table was retired, so correct Ford engines show again.
2026-09-07
Ford engines un-hidden: Explorer, Mustang and truck data freed from a bad rule
A user's 2020 Explorer was missing its engine - the culprit was a legacy one-size-fits-all Ford letter table that contradicted correct data and made the decoder hide it.
- 2020-2025 Explorer now decodes its engines with verified specs: 2.3 EcoBoost (300 hp), ST 3.0 (400 hp), 3.3 V6 (285 hp) - each confirmed against Ford's own VIN guides.
- 2016-2019 Explorer 2.3 correctly shows 280 hp, and the stray 270 hp figure (which belongs to the Ranger) was cleaned out of the data.
- The retired rule had been silently blanking engine codes and horsepower on thousands of Ford, Lincoln and Mustang vehicle groups - those now decode from real data instead.
- Also fixed: US Explorers no longer show the European electric model's VW platform note.
v2.7.2PATCH2026-09-07build 63607e575ccb
Why this version: Correction for one model: the Mazda CX-9 engine.
2026-09-07
Mazda CX-9 gets its real engine back
A user spotted a suspicious engine label on a 2014 CX-9 - and they were right.
- 103 database rows carried a scraped junk label, 'CAV California', including a misspelled twin, instead of the real engine code.
- The junk was contesting the correct code and hiding it; all rows now carry CAY1, the factory 3.7L V6, verified against Mazda's own parts catalog.
- First-generation 3.5L models are correctly left separate, and the affected Mazda3 rows were cleaned to honest-empty.
v2.7.1PATCH2026-09-07build 9c530c066e80
Why this version: Correction: a safety check was hiding the correct Toyota Tacoma and Kia Sportage engines.
2026-09-07
Tacoma and Sportage engines now fully shown
User-reported fix: Toyota Tacoma (3.5 V6, 2GR-FKS) and Kia Sportage (2.5 GDI, G4KN) VINs now serve their full engine identity - the decoder had resolved both codes internally but a safety gate hid them.
- Fixed with fully verified per-family rows (420/420 corpus agreement on the Sportage), and 373 corrupted reference windows repaired, improving engine and displacement accuracy across the board to campaign bests.
- Two broader gate relaxations were tested and rejected by measurement - correctness gates stay strict where the data still demands it.
v2.7.0MINOR2026-09-07build 9cb1be836bd9
Why this version: New check on every make: fuel labels in other languages are mapped to the standard values, and a value outside the standard list is held back. Also fixes for Ford Super Duty, VW and Genesis.
2026-09-07
Ford Super Duty engines and cleaner provenance
Ford Super Duty trucks decode their real engines per year-band (year-guessing default deleted - unknown codes now honestly abstain), the European VW/Audi engine tail joins the abstention framework with its downstream writers gated in the same release, Genesis 3.3/3.8 sedans gain 9,000 verified engine fills, Toyota HiLux and Nissan X-Trail/Patrol gain new verified year ladders, four statistically-impure inference rules are disabled with their weekly-rebuild resurrection path closed, and mixed-language fuel labels are normalized at serve time.
v2.6.0MINOR2026-09-07build 377054c6e518
Why this version: New method across manufacturers: real build years from serial-number ranges for Toyota, Mazda, Nissan and Mercedes VINs that encode no year.
2026-09-07
Build years for VINs that do not encode them
Serial-range ladders mined from 63 verified production cohorts now serve real build years for Toyota, Mazda, Nissan and Mercedes vehicles whose VINs encode no year at all - each cohort ships only after clearing a 95%-accuracy holdout gate, and vehicles outside a proven cohort keep honest year ranges instead of guesses.
- Genesis sedans get their correct engines per market (the same VIN letter means different engines in Korea vs America - now handled), classic Subarus decode their era-correct engines, model-year-2027 vehicles resolve properly, Ford Super Duty trucks shed a phantom NAVISTAR petrol engine for their real Power Stroke diesels, and 179 engine records damaged by an old data-link bug are restored.
v2.5.0MINOR2026-09-07build b5f9b8ba5703
Why this version: New method across manufacturers: the cylinder count is filled from coherent engine evidence (measured 98.5% accurate), and engine codes fill from factory-confirmed records.
2026-09-07
Verified answers replace blank fields
Verified engine codes now fill from factory-corroborated cells (Skoda Octavia BVZ, VW Jetta AWP/CBUA, Subaru FB25), a measured 98.5%-accurate cylinder fill drains 40% of the missing-cylinders backlog, Amarok/Crafter/Ranger diesels get their fuel from coherent engine evidence, and family-label power guesses (76.6% wrong when measured) now abstain while honest power ranges keep serving.
- Model-year 2027 vehicles decode correctly, and a live suppression-cascade bug was caught and structurally fixed before release: a marketing family label can never again pose as an engine code.
v2.4.1PATCH2026-09-05build e779e145c403
Why this version: Corrections to model-name tables, brand by brand. Nothing new was added.
2026-09-05
Model names cleaned up across six brands
Wave F cleans up the model-name long tail across six brands: Dodge Grand Caravans no longer decode as Journeys, Nissan Muranos/Pathfinders/Xterras get their real names back (full letter-table audit), Audi Q5s stop reading as Q3s, Ford S-MAX identity restored, Renault Scenic/Kadjar/Express serve their own nameplates instead of platform siblings, VW Taigo and Skoda Kodiaq/Superb decode from the correct VIN positions, SEAT Arona/Ateca land right, and two internal self-contradictions (BMW model-vs-series, Mercedes W204-vs-W203) are fixed at the source.
- Mercedes trim rows verified against parts catalogs; market-name aliases (Kluger/Highlander, Kuga/Escape) now recognized.
v2.4.0MINOR2026-09-05build ee8e0aa11f98
Why this version: New check across manufacturers: a family engine label (such as VW EA211 or Ford EcoBlue) can no longer pass a family-default size or cylinder count to a specific car.
2026-09-05
A structural honesty layer for engine specs
Marketing-family engine labels (like VW EA211 or Ford ECOBLUE) can no longer smuggle a family-default displacement or cylinder count onto a specific car from ANY data layer - a structural rail catches all of them at serve time.
- Mixed-fleet fuel guesses below 94% certainty now abstain on every make, US registry body-type codes can no longer masquerade as model names, and a dozen verified per-VIN fixes land: Jeep Grand Cherokee CRD diesels, MG and Volvo EVs, Toyota Yaris Cross identity, Kluger and Corolla Cross hybrids, and four Mercedes C/B-Class trim corrections verified against parts catalogs.
v2.3.5PATCH2026-09-04build 982db0ede6f1
Why this version: Rules that each serve one manufacturer group: Nissan export model names from the chassis code, Hyundai and Genesis engine codes from the engine letter, plus fixes.
2026-09-05
The three biggest error families, fixed
Wave D targets the three biggest remaining error families found by our 937,000-VIN test campaign: Nissan/Infiniti export VINs now decode their factory nameplate from the chassis code inside the VIN (Teana no longer masquerades as Sentra), Genesis and Hyundai luxury models get their true engine codes from the VIN engine letter (verified against factory catalogs - including 5.0 V8s that decoded as 3.3 V6s), and the Genesis-to-G80 2017 rebrand is now era-aware in both directions.
- Also fixed: Nissan Thailand Navara years, pre-2000 Skoda years, Audi A6/A7 platform confusion, and VW family-label displacement guessing on Touaregs and Tiguans.
2026-09-04
Nissan export VINs get their factory model names
Nissan JN1/JN8 Japan-export VINs now decode the factory model from the chassis code in the VIN itself (50 chassis families, e.g.
- Teana, Q50, X-Trail, Almera, Urvan) instead of falling back to a wrong lookup guess.
v2.3.4PATCH2026-09-04build f19a46f9cc0a
Why this version: Correction within one manufacturer group: VW Golf-family models are now told apart.
2026-09-04
Golf-family precision and five more fixes
VW Golf-family VINs now distinguish Golf, Golf Plus, Jetta, Beetle, Sportsvan and e-Golf using plant and serial evidence inside the VIN.
- The Subaru chassis-cell engine table extends to nine more families (older Foresters, Legacy, Impreza/WRX) with every cell verified against factory catalogs; Mercedes V-Class/Vito Japan-market keys return at precise 4-digit grain; Lada serves proper VAZ model numbers the way registries do.
- A Toyota-UK year bug (1986 on 2021 cars) is defused.
- And Volvo XC70/V90 Cross Country mislabels are fixed with the last guess-prone label rows removed.
v2.3.3PATCH2026-09-04build 681ef008e59a
Why this version: New rule for one manufacturer group only: Skoda fuel is read from the engine letter in the VIN.
2026-09-04
Skoda fuel read straight from the VIN
Skoda fuel now decodes from the engine letter inside the VIN itself (75 verified cells across Fabia/Octavia/Kamiq/Karoq/Enyaq - petrol, diesel, hybrid and electric all identified structurally, with unknown letters honestly abstaining).
- Audi S/RS badges are no longer guessed: a European Audi only wears an S3-style badge when real power evidence backs it.
- And the decoder stopped passing off statistical guesses as measurements for VW-group displacement - wrong displacement on our ground-truth corpus dropped by a third this wave, wrong fuel labels fell further, with honest unknowns instead of confident errors.
v2.3.2PATCH2026-09-04build 1c8b531cc086
Why this version: Corrections to existing rules for specific models (Subaru, Ford Ranger and Everest, Nissan exports and more). Nothing new was added.
2026-09-04
Nine fixes from the million-VIN test campaign
Nine-class accuracy wave from the full-corpus test campaign: Subaru Forester/Legacy engines now decode from the chassis code in the VIN itself (petrol cars no longer served a phantom diesel), Ford Ranger/Everest V6 models keep their real 6-cylinder identity, Nissan Patrol/X-Trail export VINs get honest production-window years instead of a wrong decade, Toyota bZ4X decodes as the EV it is, Volvo V70s are no longer mislabeled V90 (and a fictional Polestar rule is gone), Mercedes Vito vans keep their name, and Chery models abstain rather than guess.
- Verified against registries and factory catalogs across markets.
v2.3.1PATCH2026-09-04build 1cf9c9f5e7ee
Why this version: Correction within one manufacturer group: VW Group fuel type is no longer guessed from thin family statistics.
2026-09-04
VW-group fuel accuracy overhauled
Fuel-type accuracy overhaul for European VW-group vehicles (VW, Audi, Skoda, SEAT): the decoder no longer guesses petrol vs diesel from thin family statistics.
- Fuel now requires real per-vehicle evidence - registration records, verified engine codes, or a clean fleet consensus - and honestly reports unknown instead of guessing.
- Measured on our ground-truth corpus: wrong fuel labels cut by a third globally, and 4 out of 5 wrong VW-group fuel labels eliminated.
v2.3.0MINOR2026-09-03
Why this version: New method across manufacturers: the decoder reads how six brands build their VINs (which positions encode model, chassis and engine), and engine rules now depend on the generation.
2026-09-03 · accuracy
The decoder now understands VIN construction logic
A breakthrough in how our decoder works: instead of only recognizing VINs it has seen before, it has now extracted the underlying construction grammar manufacturers use - which positions encode the model, chassis and engine family for Honda, BMW, Renault, Mazda, Nissan and Subaru. Proven on thousands of held-out combinations at up to 100% accuracy and stress-tested against real-world registrations before going live, this means the decoder can correctly identify vehicles it has literally never encountered - because it understands the logic, not just the examples.
2026-09-03 · accuracy
Honda Odyssey engines now exact across all four generations
A generation-blind rule was assigning the newest Odyssey engine to every North American Odyssey, and our own safety rails were catching the contradiction and hiding the engine rather than serving a wrong one. The chassis code inside the VIN itself now selects the correct engine for each generation - from the 1999 original through the current model - with the mid-2000s generation honestly reporting the engine family where the exact variant depends on trim.
2026-09-03 · quality
Generation-aware engines across every brand
The bug class behind the Odyssey fix is now closed everywhere: we audited every rule that maps a model name to an engine and found dozens written for one generation but applied to all of them. The worst offenders - Jeep Cherokee, VW Jetta, Chevy Tahoe and Suburban among others - now carry verified generation ladders or honestly say nothing, and a new global safeguard automatically catches any engine claim that contradicts the engine's own production years, for every make, forever.
2026-09-03 · quality
Full security and reliability audit of the decoder and website
Nine independent audit passes hammered every page, endpoint and decoding layer with over 1,500 adversarial requests. The core held up impressively - zero crashes, authentication solid, sub-second decode times under load. What the audit did find is now fixed: hardened input handling and new browser security headers, a fuel-type edge case where two data layers could disagree, two slow public endpoints made instant, stronger privacy for decode history, and smarter year handling for brands that don't encode the year in the VIN - eliminating seven wrong years from our benchmark in one change.
2026-09-03 · accuracy
373 modern engines freed from a hidden date trap
A registration-card investigation on a Malaysian-assembled Renault uncovered a subtle data bug: engines documented as 'in production since year X' had been stored as if they stopped that same year, silently blocking 373 modern engines from ever being shown on newer cars. All 373 are now correctly open-ended, year arbitration got smarter about which brands truly encode a year in the VIN, and the reported vehicle now decodes perfectly from its official registration record.
2026-09-03 · performance
Infrastructure upgrade: 10x faster data backbone
The decoder's entire knowledge base - over 550 collections including 300 million manufacturer records - now runs on dedicated high-performance infrastructure co-located with the decoder itself. Data lookups that previously crossed the internet now happen in microseconds on the same machine, making decodes faster and immune to third-party cloud slowdowns.
v2.2.0MINOR2026-09-02
Why this version: New data source: manufacturers' own factory build records now decide model, engine and year (Nissan, Subaru, Mazda, VW Group, BMW, Honda, Renault, BYD, Mitsubishi).
2026-09-02 · Big upgrade
The decoder now learns directly from manufacturer factory records
We connected millions of official factory build records (Nissan, Subaru, Mazda, Volkswagen Group) straight into the decoder's brain. It learned over 10,000 new VIN patterns from the people who built the cars.
- Nissan & Infiniti: chassis and platform identified from 78 million factory records
- Volkswagen, Audi and Skoda: factory engine codes now resolvable for many cars
- Subaru: engine size and fuel type from the official parts catalogue
- Mazda: build-year ranges straight from production data
2026-09-02 · Big upgrade
Five more manufacturers learned: BMW, Honda, Renault, BYD, Mitsubishi
The decoder's factory knowledge grew from 10,000 to 56,000 learned patterns in one day. BMW type codes, Honda's per-market engine ladders, Renault's own decoding rules, BYD prefixes and Mitsubishi production records now resolve directly from the VIN.
- BMW: 5,861 factory type codes map the VIN to series, model and engine family
- Honda: factory engine and gearbox per VIN prefix, worldwide markets
- Renault: the manufacturer's own decode rules, learned verbatim
- Four more cars in our verification library now decode their exact engine correctly
2026-09-02 · Accuracy
Fourteen more engines right - learned from 160 million parts records
We distilled the world's parts catalogues into an engine dictionary: which engine belongs to which chassis code, straight from manufacturer data. Fourteen more cars in our verification library now show their exact engine - with zero new errors.
- BMW: over 1,000 factory type codes now name their engine family
- Nissan chassis codes resolve their engines (S13 to CA18DT, Note to HR12DE)
- Malaysian registration cards added as document-grade evidence
- Everything re-learns automatically every week
2026-09-02 · coverage
Japanese homologation codes now power fuel and engine detection
Vehicles imported from Japan carry government type-designation codes, and our decoder now reads their official grammar: it can tell petrol, diesel, hybrid, plug-in hybrid and electric apart directly from the designation prefix, and for Renault models it reads the exact engine code embedded in the designation itself. Every new mapping was verified against official Japanese market specifications before going live.
2026-09-02 · quality
Model-year logic validated against 60 million factory records
We tested our model-year decoding against 60 million manufacturer build records. The industry-standard year encoding was confirmed for 92 manufacturer codes with over 98% agreement, and we mapped exactly which manufacturers do not encode a year in the VIN, so the decoder never guesses where the data is not there.
2026-09-02 · accuracy
Factory records now correct mislabeled Renault models
When a Renault VIN arrives with a wrong model name attached from a polluted data source, the decoder now recognizes the conflict and serves the model that Renault's own factory grammar proves for that VIN - while carefully preserving trim variants and verified data.
2026-09-02 · quality
Independent audit hardens our accuracy benchmark
We ran a full independent audit of how the decoder learns, and raised the bar: our internal accuracy benchmark is now strictly separated from all training data, every learning pipeline enforces that separation automatically, and a handful of under-evidenced mappings were retired until stronger independent proof arrives. Where retiring a mapping could have exposed stale third-party data, new coherence safeguards now catch it - so a petrol car can never be served a diesel engine. Accuracy numbers we report are now provably earned, never memorized.
2026-09-02 · coverage
Volkswagen Group VINs now decode from the factory's own build records
For 1.5 million Volkswagen, Audi, SKODA, SEAT and Porsche vehicles, the decoder now consults the manufacturer's own production record for that exact car - returning the precise factory engine code, model year and even the build date, instead of an educated guess. When your VIN is in the factory books, you get the factory answer.
2026-09-02 · accuracy
Renault years now bounded by the factory's production calendar
Renault encodes its model type in every VIN, and we now pair that with the manufacturer's own production calendar for each type - nearly 5,800 model variants gained factory build-year windows. When a VIN's year letter claims a year the factory provably never built that model, the decoder now says so honestly instead of passing the error through.
2026-09-02 · quality
Every data source re-audited field by field
We audited every data source the decoder learns from, field by field, and recovered value that earlier pipelines had silently dropped: factory build-year windows now cover all Nissan and Subaru learned keys, Honda coverage quadrupled by handling the factory's wildcard notation, BYD coverage doubled, Australian displacement and body-style evidence turned back on across 200,000 listings, and several subtle data-reading bugs were fixed - including one that could label hybrid vehicles as petrol.
v2.1.0MINOR2026-08-28
Why this version: New method across manufacturers: an engine code is deduced from the specs on file when they match exactly one engine the brand ever made.
2026-08-28 · Smarter
Engine codes deduced from the specs
When the specs on file (size, cylinders, fuel, power) match exactly one engine ever made for that brand, the decoder now names it - verified against real registration documents before release.
- More engine codes shown, with zero new wrong answers on our 659-document verification library
- Applies everywhere: from a Lamborghini's V10 to everyday hatchbacks
2026-08-28 · Coverage
Rolls-Royce and Mercedes-Maybach: full coverage
Ghost, Phantom, Cullinan, and every modern Maybach (S550 to S680, GLS600) now decode with the exact factory engine, power and torque.
- A Cullinan that used to show as a 'Phantom convertible' now decodes perfectly
- Maybach S680's 6.0 V12 identified with 603 hp and 900 Nm
v2.0.0NEW MAJOR2026-08-25
Why this version: Start of version 2. From August every release passes the automated checks before it goes live, and a value the decoder cannot stand behind is held back instead of guessed. Releases before August 2026 were Beta 1.0.
2026-08-26 · Trust
We'd rather show a blank than a wrong answer
New safeguards stop one mislabeled foreign record from contaminating a whole model family - the error that once showed petrol cars as diesels.
- A single record from abroad can no longer overwrite what we know about your car
- Engines that are impossible for a car's year are automatically rejected
- When a VIN genuinely covers several engines, we say so instead of guessing
2026-08-25 · Coverage
Fifteen brand families upgraded in one month
Infiniti, Acura, classic Mercedes and AMG, Opel, European and Thai-built Fords, Land Rover, Lada and more - each fixed for the whole model family, permanently.
- Renamed models (QX56 to QX80, G37 to Q60) now resolve to the one correct badge for your exact car
- Classic AMG and W124 Mercedes decode from the factory model code
- Every fix is locked by automatic tests so it can never silently break
Beta 1.0BETAbefore August 2026
Every release before August 2026. These releases are not renumbered.