Skip to the content.

Configure Barcode Readers

This guide explains how to configure which barcode formats Quagga2 will detect.

Basic Configuration

Specify readers in the decoder.readers array:

Quagga.init({
  decoder: {
    readers: ["code_128_reader", "ean_reader"]
  }
});

Available Readers

Reader Format Common Uses
code_128_reader Code 128 Shipping, packaging
ean_reader EAN-13 Retail products
ean_8_reader EAN-8 Small products
upc_reader UPC-A North American retail
upc_e_reader UPC-E Small products
code_39_reader Code 39 Industrial
code_39_vin_reader Code 39 VIN Vehicle identification
codabar_reader Codabar Libraries, blood banks
i2of5_reader Interleaved 2 of 5 Warehouse
2of5_reader Standard 2 of 5 Industrial
code_93_reader Code 93 Logistics
code_32_reader Code 32 Italian pharmaceuticals

Reader Priority

Readers are processed in order. Put most likely formats first:

decoder: {
  readers: [
    "ean_reader",     // Most common - checked first
    "upc_reader",     // Second most common
    "code_128_reader" // Fallback
  ]
}

EAN Supplements

To read EAN-2 or EAN-5 extension supplements:

decoder: {
  readers: [
    "ean_reader",  // Regular EAN without supplements
    {
      format: "ean_reader",
      config: {
        supplements: ["ean_5_reader", "ean_2_reader"]
      }
    }
  ]
}

Best Practices

  1. Only enable needed readers - More readers = slower performance
  2. Order by frequency - Put most common formats first
  3. Test thoroughly - Some formats can conflict

← Back to How-To Guides