vininfo
Extracts useful information from Vehicle Identification Number (VIN)
What it is and what it does
Vininfo is a Python library and CLI tool that decodes Vehicle Identification Numbers to extract structured information about vehicles. It parses the standard VIN format into its components (WMI, VDS, VIS) and maps them to real-world data like country of origin, manufacturer, and region. For supported brands—AvtoVAZ, Ford Australia, Nissan, Opel, and Renault—it can extract additional details such as body type, engine code, model name, and plant location. The package also provides VIN checksum verification to validate whether a number is correctly formatted.
You can use it either as a Python library by importing the Vin class and calling methods on VIN strings, or as a standalone CLI tool to query VINs from the command line. It has no runtime dependencies for basic use, making it lightweight to integrate into existing projects.
Use it for:
- Validate and decode VINs in automotive inventory or sales systems to automatically populate vehicle metadata.
- Verify VIN checksums in data pipelines to catch data entry errors or corrupted identifiers.
- Extract manufacturer and country information from bulk VIN lists for compliance or analytics reporting.
- Build a vehicle lookup feature in a mobile or web app that shows detailed specs for supported brands.
- Audit vehicle registration databases by decoding and cross-checking VIN components against expected values.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts and verifies information from Vehicle Identification Numbers (VINs), including manufacturer, country, region, and detailed vehicle specs when available.
Yes. Vininfo is lightweight, actively maintained, has no runtime dependencies, and solves a specific problem well. Install it if you need to parse or validate VINs in your application. The permissive BSD-3-Clause license poses no barrier. Be aware that detailed vehicle specs are only available for five major brands; for other manufacturers, you get only basic WMI-level information.
Install
vininfo on PyPI
pip
pip install vininfouv
uv add vininfopoetry
poetry add vininfoInstalling vininfo
Before you install
Low install friction with no runtime dependencies. Actively maintained as of 2026-05-02 with 146 repository stars and recent activity.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute this package with minimal restrictions provided you include the license notice.
Quickstart
pip install vininfo
from vininfo import Vin
vin = Vin('VF1LM1B0H36666155')
print(vin.country) # France
print(vin.manufacturer) # Renault
vin.verify_checksum() # False
Requires Python 3.10 or later. CLI usage requires the click package, installed via `pip install vininfo[cli]`.
Verify before relying
- How frequently the WMI and brand details dictionaries are updated to cover new manufacturers and vehicle models.
- Coverage completeness for non-major manufacturers beyond AvtoVAZ, Ford Australia, Nissan, Opel, and Renault.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 104 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 377,484/month — #7,123 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: vininfo-1.11.0-py3-none-any.whl
Keywords: vehicles, vin
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
renault-apiCommunicates with Renault's private API to read…
permissive · top 15,000 on PyPI
udsoncanImplements the Unified Diagnostic Services…
permissive · top 15,000 on PyPI
aioouiPerforms asynchronous lookups of…
permissive · top 15,000 on PyPI
subarulinkInteract with Subaru's MySubaru Connected…
permissive · top 15,000 on PyPI
knowitExtracts detailed metadata from media files…
permissive · top 15,000 on PyPI
httpagentparserParses HTTP User-Agent strings to extract and…
unclear · top 15,000 on PyPI
hyundai-kia-connect-apiProvides a Python API to authenticate with and…
permissive · top 15,000 on PyPI
luhnGenerates and verifies Luhn check digits for…
permissive · top 15,000 on PyPI
python-stdnumParses, validates, and reformats standard…
copyleft · top 5,000 on PyPI
vonage-network-number-verificationVerifies a mobile device's phone number by…
permissive · top 15,000 on PyPI