Barcode reader control in Power Apps (experimental)

Scans barcodes, QR codes, and data-matrix codes on Android and iOS devices.


  • This is an experimental feature.
  • Experimental features aren’t meant for production use and may have restricted functionality. These features are available before an official release so that customers can get early access and provide feedback.


The barcode reader control is experimental and needs to be enabled to show up in the insert pane.

With your app open for editing in Power Apps Studio:

  1. Open Settings
  2. Select Upcoming features in the left-hand menu and select the Experimental tab
  3. Turn on the Barcode reader setting

A photo of the app setting for enabling the experimental barcode reader control.


The control opens a native scanner on Android and iOS devices. The scanner supports the following scanning modes:

  • Automatically scan – A barcode is scanned as soon as it's detected.
  • Select to scan – The user can determine which of the detected barcodes to scan. The control doesn't support scanning in a web browser.


The barcode scanner control is supported on Android and iOS devices. All other platforms will show a warning stating that some features of the app won't work.

Key properties

Barcodes – Output property that contains a table of the barcodes scanned with two columns: Value, and Type. Value is the text value of the code that was scanned, while Type is the type of the code that was scanned.

OnScan – Actions to perform when a barcode is successfully scanned.

OnCancel – Actions to perform when a barcode scan is canceled by the user.

OnChange - Actions to perform when a property on the barcode reader control is changed, including output properties.

BarcodeType - The barcode type to scan. You can target multiple barcode types by concatenating them. Ex. 'Microsoft.BarcodeReader.BarcodeType'.Code128 & 'Microsoft.BarcodeReader.BarcodeType'.Code39. Default: Auto

Scanning mode - Whether to Automatically scan the first barcode detected in view or to allow the user to Select to scan, which of the barcodes in view to scan.

PreferFrontCamera - If enabled the barcode reader will default to using the front facing camera instead of the rear facing camera.

Additional properties

Text - Text that appears on the button that activates the scanner.

BorderColor – The color of a control's border.

BorderStyle – Whether a control's border is Solid, Dashed, Dotted, or None.

BorderThickness – The thickness of a control's border.

DisplayMode – Whether the control allows user input (Edit), only displays data (View), or is disabled (Disabled).

Height – The height of the button that activates the scanner.

Tooltip – Explanatory text that appears when the user hovers over a control.

Visible – Whether a control appears or is hidden.

Width – The width of the button that activates the scanner.

X – The distance between the left edge of a control and the left edge of its parent container (screen, if no parent container).

Y – The distance between the top edge of a control and the top edge of the parent container (screen, if no parent container).

Accessibility guidelines

The same guidelines for the Button control apply to the Barcode scanner control because it's a button that launches the scan.

Visual alternatives

  • The barcode scanner is a button that doesn't display the scan result. Consider showing the scan result with a Label control. Set the label's Text property to First(BarcodeReader.Barcodes).Value where BarcodeReader is the name of the barcode reader control. Set the label's Live property to Polite so that screen-reader users are notified of changes. This change makes the scanned value accessible to everyone, irrespective of visual ability.

  • Users who have visual and motor disabilities might prefer not to point the camera at a barcode. Consider adding another form of input, such as a Text input control, for users to enter barcodes.

Barcode Availability by Device

Barcode Type Supported on iOS and Android Notes
EAN Supports EAN_8 and EAN_13
Interleaved 2 of 5
Databar 14
Supports Stacked and Omnidirectional
Databar Expanded
Supports Stacked and Omnidirectional
UPC Supports UPC_A and UPC_E
Micro QR Code

See also

Limitations of controls in Power Apps