BarcodeDetector: BarcodeDetector() constructor

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The BarcodeDetector() constructor creates a new BarcodeDetector object which detects linear and two-dimensional barcodes in images.



new BarcodeDetector()
new BarcodeDetector(options)


options Optional

An options object containing a series of BarcodeFormats to search for in the subsequent detect() calls. The options are:


An Array of barcode formats as strings. To see a full list of supported formats see the Barcode Detection API.


This example creates a new barcode detector object, with specified supported formats and tests for browser compatibility.


// create new detector
const barcodeDetector = new BarcodeDetector({
  formats: ["code_39", "codabar", "ean_13"],

// check compatibility
if (barcodeDetector) {
  console.log("Barcode Detector supported!");
} else {
  console.log("Barcode Detector is not supported by this browser.");


Accelerated Shape Detection in Images
# dom-barcodedetector-barcodedetector

Browser compatibility

BCD tables only load in the browser