Scanning VIN Using Barcode Reader or OCR

Feb 06, 2020
Scanning VIN Using Barcode Reader or OCR

Anyone tasked with regularly and manually capturing vehicle identification numbers (VIN) knows how troublesome they can be when doing so from a vehicle. You usually have to hover over and read through the windshield at the engraved numbers etched in low contrast. Or, you can kneel to look at the usually sideways sticker placed on the door or door opening to get to the long 17-digit code. There is an easier way and it’s by scanning it.

Build A VIN Number Scanner

Option 1. Scan a VIN Barcode

Rapidly processing VIN information is possible with Dynamsoft Barcode Reader SDK. VIN number scanning often proposes the following challenges: water spots on car windows, glare, distance, angle, low light, in motion, and sometimes in the rain.

The barcode SDK gives developers the flexible APIs needed to customize scan settings for different usage scenarios, such as VINs. You can create barcode reading templates with settings such as barcode region, barcode count, barcode format, deblur level to enhance scanning accuracy and speed.


A VIN Consists of Several Sections to Make Up its 17 Digits and it Varies By Country of Use


Request a free trial of Dynamsoft Barcode Reader SDK and start implementing VIN scanning via barcode scanning in your application today.

Start your Free 30-Day Trial of Barcode Scanner

Dynamsoft Barcode Reader SDK comes with interfaces for different programming languages, so that you can easily add the VIN barcode scanning functionality regardless of your tech stack.

  • Supports web application development using JavaScript and web frameworks.
  • Supports desktop and server-side development using C++, C, Python, Java, and .NET.
  • Supports mobile app development using Objective-C, Swift, Kotlin, Java for Android, and mobile dev frameworks.

So, it’s possible to use iOS or Android smartphones, tablets, and even wearable devices to deploy enterprise-grade barcode scanning and data capture.


Try our Free Online Demo of VIN Number Barcode Scanner

Option 2. Scan VIN Text Using OCR

Dynamsoft Label Recognizer SDK accurately reads alphanumeric characters and standard symbols from images of varying background color, font, or text size. VINs on cars are a typical usage scenario among other applications. It’s quicker than a manual read and reduces human errors.


Advanced text recognition solutions allow scanning VIN codes at a very high speed, at different angles, and at varying distances.


Request a free trial of Dynamsoft Label Recognizer SDK and start implementing VIN scanning via optical character recognition in your application today.

Start Free Trial of VIN Text OCR


Try our Free Online Demo of VIN Number OCR

More About VIN Barcodes

What is a Vehicle Identification Number (VIN)?

A VIN is a unique code that is used in the automotive industry to identify individual motor vehicles. It is standardized by ISO 3779 and ISO 4030. VINs have been in use in the US since 1954. But they weren’t standardized until the National Highway Traffic Safety Administration (NHTSA) standardized them in 1981.

There are various organizations that want to expedite the capture of VIN-related data. Government facilities tasked with processing vehicle registrations are one. It might be car auto insurance agencies processing new clients. Or, it could be car dealerships taking in new vehicle inventories or working with customers for the service of vehicles.

Most vehicles sold today come with VINs that have a barcode next to them.

VIN Characteristics and Symbology

These VIN codes on cars are a subset of Code 39 barcodes. However, it’s not automatic that any barcode scanner capable of decoding Code 39 codes will decode VIN barcodes. VIN codes have a strict standard to be considered for successful scanning.

The Uniform Symbology Specification Code 39 (USS Code 39) is nearly identical to Code 39. USS Code 39 is used for vehicle identification, and while based on Code 39, it does not contain start and stop characters. The name of code 39 comes from the fact that it could only encode 39 characters in total. However, in its most recent version, the character set has been increased to 43. You can read more about the specifics of Code 39 here.

It’s important to note the VIN that is made from 17 alpha-numeric digits isn’t necessarily encoded as Code 39 itself. The 17 digits can be encoded as other symbologies such as Data Matrix and QR codes, depending on the usage scenario.

The 17 Digits Are Prefixed With an “I”

Sometimes we may find a leading “I” at the beginning which makes the barcode reading result total up to 18 digits. But according to the regulation, the letters O (o), I (i), and Q (q) (to avoid confusion with numerals 0, 1, and 9) are illegal characters in a VIN. So why a leading “I”?

The “I” actually stands for “import” so as to sometimes identify imported vehicles. Thus we can simply strip it off and parse the following 17 characters.