Windows Barcode Scanner

Latest Version:
3.1 (June 150 2019)

3.0 (March 10 2019)
  • Exposure and Zoom settings have been added.

2.9 (October 23 2018)
  • Mirror DataMatrix and QRCode barcode decoding has been added.
  • Fast double tap (in different points) stops barcode scanning.
  • Barcode match and search by Regular Expression.

2.8 (August 22 2018)
  • Some bugs have been fixed.

2.7 (July 19 2018)
  • The preview lag problem has been fixed.
  • Some minor bugs have been fixed.

2.6 (Mar 28 2018)
  • The preview is not frozen after the barcode has been decoded.

2.5 (Oct 28 2017)
New setting has been added:
  • Replace Barcode Text.

2.4 (Oct 19 2017)
New setting has been added:
  • Add coordinates.

2.3 (July 5 2017)
New settings has been added:
  • Beep Type and Volume.
  • Delay after decoded barcode.

2.2 (July 1 2017)
  • New feature "Barcode Area" has been added. It allows to decode barcode only in required area.
  • Now barcode can be transferred through Windows Remote Desktop Connection.

Barcode Scanner Automation

DataSymbol Barcode Scanner Automation allows to handle decoded barcodes or to get other features.

Dim WithEvents BarScanner As BarcodeScannerLib.Reader

Private Sub Command1_Click()
    'Create a new instance of Barcode Scanner object
    Set BarScanner = CreateObject("BarcodeScanner.Reader")
    BarScanner.Visible = True
End Sub

Private Sub BarScanner_BarcodeIn(ByVal barcode As String)
    Text1.Text = barcode
    'MsgBox barcode
End Sub

[VB Script (Internet Explorer)]


<title>BarCode Scanner test page</title>



<object id="BarReader" 

Barcode: <span id="barcode"></span>

<SCRIPT LANGUAGE="vbscript">

    sub BarReader_BarcodeIn(barText)
        Document.getElementById("barcode").innerHTML = barText
        'MsgBox "BarcodeIn"
    End sub

    BarReader.Visible = true




namespace WindowsFormsApplication1
  public partial class Form1 : Form
    BarcodeScannerLib.Reader br;

    public Form1()

    private void button1_Click(object sender, EventArgs e)
      br = new BarcodeScannerLib.Reader();
      br.Visible = true;

      BarcodeScannerLib._IReaderEvents_BarcodeInEventHandler bin = new 
      br.BarcodeIn += bin;

    static void OnBarcodeIn(String Text)
      Console.WriteLine("Barcode: {0}", Text);


import win32com.client  #
import pythoncom
import time

class EvHandler:
    def OnBarcodeIn(self, _1):

scanner = win32com.client.DispatchWithEvents("BarcodeScanner.Reader", EvHandler)
scanner.Visible = True

while 1:
    time.sleep(0.8) # Don't use up all our CPU checking constantly
See on YouTube

Linear: Interleaved 2/5, Industrial 2/5, Code 39, Code 39 Extended, Codabar, Code 11, Code 128, Code 128 Extended, EAN/UCC 128, UPC-E, UPC-A, EAN-8, EAN-13, Code 93, Code 93 Extended, DataBar Omnidirectional (RSS-14), DataBar Truncated (RSS-14 Truncated), DataBar Limited (RSS Limited), DataBar Stacked, DataBar Expanded, DataBar Expanded Stacked.
2D: PDF417 (Compact, Micro), QRCode (Micro), DataMatrix, Aztec Code
Windows 32 & 64, 10(UWP), Phone 8/8.1/10,Windows Mobile, Android, Linux, Raspberry Pi, MacOS, iPhone