Skip to content
Related Articles

Related Articles

Improve Article

Create a GUI to Extract information from VIN number Using Python

  • Last Updated : 29 Dec, 2020

Prerequisite: Python GUI – tkinter

In this article, we are going to look at how can we use Python to extract vehicle information from its VIN number (Vehicle Identification Number). A VIN consists of 17 characters (digits and capital letters) that act as a unique identifier for the vehicle. It is a unique code that is assigned to every motor vehicle when it is manufactured. VIN can be used to extract information about a vehicle like the country it was manufactured in, its manufacturer, etc.

Before we start we need to install the vininfo module. Run this code into your terminal for installation:

pip install vininfo

Below is the implementation.


# importing module
from vininfo import Vin
# Pass the VIN number into Vin methods
vin = Vin('MAJGERTYKGHG56037')
# prints vehicle's country
# prints vehicle's manufacturer
# prints vehicle manufacturer's region



Program to extract information from VIN number Application with Tkinter. This Script implements the above implementation but in GUI.


# import modules
from tkinter import *
from vininfo import Vin
from tkinter import messagebox
def check_vin():
        vin = Vin(str(e.get()))
        messagebox.showerror("showerror", "VIN not found")
# object of tkinter
# and background set for light grey
master = Tk()
master.configure(bg='light grey')
# Variable Classes in tkinter
country = StringVar()
manufacturer = StringVar()
region = StringVar()
model = StringVar()
Plant = StringVar()
Serial = StringVar()
year = StringVar()
res = StringVar()
# Creating label for each information
# name using widget Label
Label(master, text="VIN NUMBER :", bg="light grey").grid(row=0, sticky=W)
Label(master, text="Status :", bg="light grey").grid(row=3, sticky=W)
Label(master, text="Country :", bg="light grey").grid(row=4, sticky=W)
Label(master, text="Manufactures :", bg="light grey").grid(row=5, sticky=W)
Label(master, text="Region :", bg="light grey").grid(row=6, sticky=W)
Label(master, text="Model :", bg="light grey").grid(row=7, sticky=W)
Label(master, text="Plant :", bg="light grey").grid(row=8, sticky=W)
Label(master, text="Serail no:", bg="light grey").grid(row=9, sticky=W)
Label(master, text="Year :", bg="light grey").grid(row=10, sticky=W)
# Creating lebel for class variable
# name using widget Entry
Label(master, text="", textvariable=res, bg="light grey").grid(
    row=3, column=1, sticky=W)
Label(master, text="", textvariable=country,
      bg="light grey").grid(row=4, column=1, sticky=W)
Label(master, text="", textvariable=manufacturer,
      bg="light grey").grid(row=5, column=1, sticky=W)
Label(master, text="", textvariable=region,
      bg="light grey").grid(row=6, column=1, sticky=W)
Label(master, text="", textvariable=model,
      bg="light grey").grid(row=7, column=1, sticky=W)
Label(master, text="", textvariable=Plant,
      bg="light grey").grid(row=8, column=1, sticky=W)
Label(master, text="", textvariable=Serial,
      bg="light grey").grid(row=9, column=1, sticky=W)
Label(master, text="", textvariable=year, bg="light grey").grid(
    row=10, column=1, sticky=W)
e = Entry(master)
e.grid(row=0, column=1)
# creating a button using the widget
# Button that will call the submit function
b = Button(master, text="Show", command=check_vin)
b.grid(row=0, column=2, columnspan=2, rowspan=2, padx=5, pady=5)


 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :