Barcode Scanner Configurations

There are two different apps which enable Barcode Scanner Configurations.

1. Workflow

The “codeREADr” app is the workflow app (public since 2009). You can configure barcode scanning Modes and Smart Scan for both the primary scan from the Tap to Scan screen and for secondary scans as Questions. Your configuration can be the same or different for primary and secondary scans.

Download the iOS app from the App Store

Download the Android app from Google Play (or ask for an APK)

2. Wedge

‘codeREADr KEY’ is the optional keyboard wedge app (public since 2018). Search the app stores for “codeREADr KEY”


You must have SD PRO enabled on the codeREADr website’s My Plan page for your account to use this advanced technology. With the Free Plan, you can select Barcode Scanning Modes in the mobile app’s settings. However, a paid plan is required for an account administrator to pre-configure Barcode Scanning Modes and Smart Scan for their authorized app-users.

Barcode Scanning Modes

1. Batch Mode

Within a single camera view, the app will read up to 100 barcodes in several seconds. There is no need to scan, tap Next;  then scan again, tap Next; etc. Instead, with Batch Mode, you tap to open the camera and (optionally) tap to submit a record of up to 100 barcodes.

  • You can limit how many barcodes to read in each attempt and then auto-submit when the limit is met; or,
  • Decode every barcode in view and then de-select those you don’t want to record.

Multi scan asset tracking

A. Batch scan with codeREADr for iOS showing auto-insert into a single field within the codeREADr application

B. Batch scan with codeREADr for iOS on an iPad scanning 30 serial numbers in seconds

C. Batch scan with codeREADr KEY for Android showing auto-insert into separate fields within a web application

D. Batch scan with codeREADr KEY for iOS showing auto-insert into a single field within a web application

2. Framing Mode

The frame limits what’s decoded to only the barcode within the frame – and only when the whole barcode is in the frame.

  • Administrators can pre-determine the optimum frame size without needing to give instructions to their app-users. For example, a specific frame size might best suit the Kiosk Mode when using the front camera, giving a clear target area for scanning and thus making scanning faster.
  • You can alternatively allow your app-users to freely adjust the size depending on what’s best for each scanning situation.
  • Smart Scan rules can also be applied in the Framing Mode. In this way, the app-user can capture one or more targeted barcodes in a single camera view faster and with far greater accuracy even when compared to the Framing and Targeting Modes alone.

Windowing frame

3. Targeting Mode

With Targeting Mode, a barcode is only decoded when a ‘crosshair’ touches the target barcode. This mode is particularly helpful when multiple, tightly spaces barcodes are in the camera view at once. Administrators can pre-define the cross hair’s size and shape. It can be a series of elements forming a small box shape or a series of elements arranged in a line.

Targeting mode

4. Selecting Mode

With the Selecting Mode, all the barcodes in the camera view are decoded and presented to the app-use in the list form. They can then select one or more barcode to capture. This is particularly useful in situations where there are many barcodes in the camera view but Smart Scan can’t be applied in advance.

Selecting desired barcode

5. Fusion Mode

The Fusion Mode is important because you can enable Smart Scan technology (see details below) for Batch, Framing and Targeting Modes, with or without Trigger Scan.

fusion mode

6. Default Mode

With the Default Mode, only one barcode will be captured in the camera view. This is the fastest scanning mode if your app-users will not have multiple barcodes in the camera view. Smart Scan rules can apply in this mode, making it very effective if periodically the app-user needs to target one or more barcodes in the camera view.

Mode Configurations

1. Enter configuration directly

This is for developers only. Contact

2. Scanner Mode (see above)

You can choose only one Mode for each profile but you can create and assign multiple profiles.

codeREADr App

With the codeREADr app, you can use the Batch Mode for the primary scan (i.e. the scan that starts a scan record) and/or for one or more secondary scans. To do that you need to prompt the app-user to scan again after the primary scan. The primary scan can be set to one Mode and each secondary scan can be configured for its own Mode. The same holds true for Smart Scan configurations. In this way, you better control how your authorized app-users scan and capture data, leading to faster and more accurate results.

codeREADr KEY App

With the codeREADr KEY app, you can enable your app-users to toggle to the codeREADr KEY app and change the Mode as needed. It’s not automatic like the codeREADr app since it requires the app-user to make a setting change but it nonetheless can be quite useful.

3. Trigger Scan

This option mimics the hardware button on mobile computers or barcode scanning accessories that initiates a scan on demand. It is used where the app-user may wish to line up the camera more directly with a specific barcode, or just have more control over when a scan will successfully occur.

Hold – An on-screen button will appear when the camera is open. When the button is held, the scanner will look for input. The camera will not trigger a scan unless the button is held by the app-user.

Toggle – The on-screen button can be tapped to turn it on and off. If the button is on, it will be looking for codes to scan. If the button is toggled off, it will not scan.

4. Barcode Format

Choose one or more barcode types (aka “barcode symbology”) to target when using this profile.

Configuration format

5. Specify the number of barcodes

This is for the Batch Mode. Enter a number here if you want the app to stop reading when a specific number of barcodes are read. By default, the record will auto-submit when the specified number is read.

Allow submit of less barcodes than specified’ means the app will submit when the number of specified barcodes is met but also allow the app-user to submit when fewer barcodes are read.

Must select expected number of barcodes to confirm batch’ means more or fewer barcodes could be read than the specified number but the app-user can only submit when the specified number is met. This allows editing of which scans are to be submitted.

Require app user tap to confirm batch’ will stop auto-submit. The app-user must manually submit.

6. Join together barcodes with a separator

You MUST check this option. You can use the common separators such as a comma,  bat, semi-colon or carriage return. A commonly used setuo is a comma and carriage return. Note that to add a carriage return, you must be using a multi-line, short form question.  Simply place the cursor in the configuration field, type in a comma and then click “Enter” on your computer or use “\n” (a return line).

codeREADr App

All scans will be submitted into the ‘barcode’ field of a scan record if Batch Mode is used for the primary scan. All scans will be submitted into the ‘answer’ field if used for an app-user prompt.

codeREADr KEY App

All scans will be submitted into the one target field where the cursor was blinking.

7. Front Camera

This will make the device’s front camera the scanner.

8. Custom Frame Size

This is only for the Framing and Targeting Modes (see above). With this setting, the account administrator can define the frame size in advance and allow or not allow the app-user to change it. Note: For the targeting mode, you can have the frame be a cluster of pixels or a line of pixels.

In the example below, the X (width) and Y (height) percentages are left blank which centers the frame in the camera view. The Width (80) and Height(20) percentages are specified, resulting in the frame shown below.

Framing configuration

Smart Scan

Smart Scan is a very powerful feature. Essentially it allows you to configure filter sets that enable your app-users to capture just the right barcode when in the right context.

It’s important to understand what we mean by filters, filter sets, context, and matches.

barcode filter is created with a preset configuration such that when the app’s camera view is open to read one or more barcodes, the right barcodes are captured in that view only when a match is made.  The barcodes within the camera view must have some definable context, such as the barcode types in the view and optionally the data embedded in those barcodes (suffix, prefix, etc.).

In some applications, you’ll need more than one barcode filter if required by the context. Those filter sets work together to ensure the correct match in that view. Also, for some applications, you may need a set of matches because your app-user may be presented with different camera views, each with their own context and filter sets.

IMEI Example

Here’s an example of how Smart Scan can be used to capture just the IMEI barcode on Apple’s iPhone box. There are four Code 128 barcodes and one UPC barcode all within the same camera view. The IMEI is one of the four Code 128 barcodes so we can’t filter simply by barcode type.

For this example, let’s assume the IMEI always starts with “035” or “35” (which it does under certain criteria). One of the filters can be the barcode type code 128 and the other must then must be a pattern match using a regular expression. With these filters, the app looks for a Code 128 barcode and only captures it if when it has the suffix is “035 or “35”.

IMEI Barcode

You can have your app-user instantly capture just the IMEI barcode on an iPhone box in a camera view and still be able to scan Code 128 barcodes when not scanning iPhone boxes. In that case, you need additional filters to further define the iPhone box’s context and also consider the context of the other camera views to create filter sets and matches accordingly.

So for example with the iPhone box, you could add a barcode filter such that the match must include a UPC barcode, assuming the other contexts won’t meet the matching requirements of that filter.


1. Join together barcodes with a separator

The standard scanning configurations (i.e. non-smart-scan) only captures one barcode in the camera view. However, with Smart Scan the app will try to read every barcode in the camera view but will only capture your targeted barcodes. If you want to capture multiple barcodes in a camera view, you should check this box and define a separator such as a comma, bat, semi-colon or carriage return.

codeREADr App

It will submit all scans into the ‘barcode’ field of a scan record if you use the Batch Mode for the primary scan. Also, it will submit all scans into the ‘answer’ field if you use for an app-user prompt.

codeREADr KEY App

All scans will be submitted into the one target field where the cursor was blinking.

2. Match barcodes in order

This is not live yet. When released the order in which the barcodes are read must match the order configured here.

3. Match barcode format

You will specify the barcode type(s) targeted with this profile.

4. Match barcode value pattern

In this variant, you will define the characteristics of the barcode value(s) that are allowed to be read and captured (“capture-only“). Values that don’t match are ignored. Examples:

a) The Pattern regex for an IMEI that begins with either a prefix of “35” followed by 13 digits or a prefix of “035” followed by 14 digit is : ^(35[\d]{13})|(035[\\d]{14})$

b) The Pattern regex to only capture barcodes beginning with (5) zeros followed by (5) numbers (“0000012345”) would be ^(00000[\d]{5})$

In both “capture-only” cases the option to “Replace pattern match” must be unchecked.

5. Replace pattern match (Alter Scan value)

Also, you can use the Pattern match to alter the scan value. In that case, you enter the pattern regex and must enter the replacement value. It’s used for the same reasons when using our our standard Alter Scan feature. Also, you can use the standard Alter Scan feature instead of applying it here. However, when you apply it here, you have more options, including multiple replacements and filters. In the screenshot example below, we show a regex to capture just the first 39 characters of a scanned value.

Note: If you use this replacement feature for Barcode 1 you should also create a Barcode 2 (see screenshot).

6. Not Required

You can allow an override of the Smart Scan rule if it doesn’t meet this particular profile.

7. Return barcode with results when found

Here, you can choose to have the barcode matching this profile recorded or not. You may want this profile matched but only record the barcode matched with another profile.

8. Add another barcode

With this, you can add another barcode filter to create a filter set. Notice in the screenshot below, the filter is ‘Barcode 1’. Also, you can create Barcode 2, Barcode 3, etc.

9. Add another match

You can add other filter sets for matching. Notice in the screenshot below, the match is ‘Smart Scan 1’. Likewise, you can create Smart Scan 2, Smart Scan 3, etc.

codeREADr App

With the codeREADr app, you have an extra degree of flexibility in that you can create a filter set for the primary scan and then different filter sets for secondary scans (i.e. app-user prompts after the primary scan).


On the dev agenda is adding configurations for matching fields to filters. We will announce that feature when available.

10. Make a copy of this profile

This is a helpful tool when using the JSON developer option.

Configured Secondary Scan
in Services