Qr: Create and read barcodes offline

1. Introduction

This App Inventor extension enables offline barcode creation and reading using the robust Zxing library. Effortlessly generate and scan various barcode formats without the need for internet connectivity. Enhance your app’s functionality with reliable and efficient barcode processing capabilities.

Latest Version: 5.3
Released:  March 21, 2020
Last Updated:  June 11, 2024

2. Blocks

3. Documentation

A short documentation for the extension…

  • Bar Code Decoded
    Event raised after decoding bar code with result and bar format

    result ~ object
    barFormat ~ object
result and barFormat are usually strings, but if image has multiple bar codes then these are list
  • Bar Code Generated
    Event raised after GenerateBarCode method with response and filepath.If any error occurred during encoding then filePath value will be empty.

    response ~ text
    filePath ~ text
  • Barcode Formats
    Returns a list of barcode formats which can be either encoded or decoded.Some formats can be encoded and decoded both like QR_CODE and CODE_39.

    Returns : List
  • Decode Bar Code
    Tries to decode barcode from given path.

    filePath ~ text
  • Generate Bar Code
    Generates barcode to given path with provided hints.

    text ~ text
    filePath ~ text
    logoPath ~ text
    height ~ int
    width ~ int
    fileFormat ~ text
    barFormat ~ text
    charset ~ text
    margin ~ int
    bgColor ~ int (Color)
    barColor ~ int (Color)


5. Liked my work/ Support me

If you liked my work, please consider donating some amount to keep me motivated.

6. ChangeLog

ChangeLog v2

Bug Fixes/Changes

  • Replaced relative filePath with abstract filePath in DecodeQrCode and DecodeBarCode methods.But both Generate methods still use relative filePath.
ChangeLog v3

New methods

  • Added BarcodeFormats method


  • Removed some Qr related methods and events.Now you can generate qr using GenerateBarCode method by using QR_CODE as barFormat.
  • Now it will automatically ask for Read and Write permissions if they are not granted/disabled.
ChangeLog v4


  • Added logoPath parameter in GenerateBarCode method
  • Changed package name to com.sunny.qr from com.sunny.Qr
  • The extension does not ask for any permission and uses absolute file paths
ChangeLog v5

New blocks
Normally should not be used


  • Removed redundant barFormat param from DecodeBarCode method
  • Added barFormat param in BarCodeDecoded event

Bug Fixes

  • Fixed assets logo issue in GenerateBarCode method
ChangeLog v5.1

New Blocks
This property forces encoder to use the specified shape


  • Auto scaling : bar codes will be now automatically scaled to match correct rotation according to height and width
  • Some internal changes
ChangeLog v5.2
  • Internal changes in reader method to increase its efficiency by a huge. Now, you can provide it a non-pure barcode which may have other objects too, and it’ll correctly read from there.
  • BarCodeDecoded event’s parameters can be either a list or string now, based on number of barcodes found in the image. In short, it is possible to read multiple barcodes from an image.
ChangeLog v5.3
* No external deps required
* More accurate and faster results
* Aix sized reduced to 378 Kb

Hope it helps!

Notify of
Inline Feedbacks
View all comments