> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/documentation/actions/group-barcode/barcode-scan.md).

# Barcode Scan

Scans a barcode with a Barcode device.

{% hint style="info" %}
On Android, if **BarcodeConnect** was not called, Kalipso will try to scan using the Camera with ML Kit, unless a different library is selected in the [Android Camera Scan Mode](/kalipso/documentation/project/properties/other.md) project property.
{% endhint %}

Action available for the following operating systems:

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-58e83c058239e8434072c808c8df595c7b298849%2F09_Supported_OS_android_windows_oldWin.png?alt=media" alt="OS Supported: Android, Win, Win32"><figcaption></figcaption></figure>

### Parameters

* **Data** - The control or variable that saves the data read from the Barcode device.
* **Type** - The control or variable that saves the type of readed Barcode.
* **Timeout** \<numeric> - The defined timeout to the scan operation (in miliseconds).
* **SoftTrigger** - Defines if the user wants to enable automatically the scanner or not. It can be one of:
  * *Yes* - The scanner will be enabled automatically.
  * *No* - The user will have to press the scann button.

{% hint style="info" %}
The timeout is not used when using Camera Scan mode, this is when **BarcodeConnect** was not called and so Kalipso is using the camera to scan on Android.
{% endhint %}

{% hint style="info" %}
When scanning with the camera using ML Kit, you can read several barcodes at once. Use [Barcode Set Parameter](/kalipso/documentation/actions/group-barcode/barcode-set-parameter.md) with the **MultiBarcode** parameters before calling Barcode Scan.
{% endhint %}
