VINinfo is a Python library (current version 1.9.2) designed to extract useful information from Vehicle Identification Numbers (VINs). It can operate as a standalone command-line application or be integrated as a Python package. The library provides both basic and detailed VIN information (where available) and offers functionality for VIN checksum verification. It is actively maintained with a recent release in September 2025 and focuses on decoding VINs using its internal databases, specifically enhancing data for brands like AvtoVAZ, Nissan, Opel, and Renault.
pip install vininfoVerified import paths — ran on the pinned version, not inferred.
Initializes a Vin object with a VIN string and demonstrates accessing various attributes like country, manufacturer, region, and performing checksum verification. It also shows how to retrieve detailed information and an annotated VIN string.
Ensure your project uses Python 3.10 or a newer compatible version.
If relying on pre-2009 VIN data, verify results carefully. For checksum verification, be aware of the default model year check and explicitly set `model_year_check=False` if needed for older VINs or specific use cases.
Understand that data availability depends on the library's internal dictionaries and detail extractors. Contributions for missing WMI or detail extractors are encouraged.
When working with VINs from manufacturers not listed, anticipate that `.details` might be empty or less comprehensive. You can check `vin.details` for availability.
Ensure you are on version `1.9.2` or later to benefit from the fix for `Vin.years` regression.
pip install vininfo
Ensure the input VIN string is precisely 17 characters long before passing it to vininfo.Vin(), for example: vininfo.Vin('1GNCU0V3557000000')Always check if the attribute is not None before attempting to call methods on it, for example: `vin = vininfo.Vin('YOURVINHERE').decode(); if vin and vin.make: print(vin.make.lower())`Pass the VIN string as an argument when instantiating the Vin object, for example: `vininfo.Vin('YOURVINHERE')`