# Scanner

## Scan wallet passes with barcode and QR code readers

Barcode and QR code passes are made to be presented on a phone screen. The scan experience depends on the scanner hardware, its configuration, and on-site conditions.

Hardware constraints often drive the decision between barcode/QR scanning and NFC. A broader compatibility overview is available in [Hardware](https://docs.thewalletcrew.io/connect/hardware).

<details>

<summary><strong>Real-world examples</strong></summary>

* Retail loyalty: a 2D scanner reads a QR code from a phone at checkout.
* Event entry: handheld scanners read QR codes at the gate, in bursts.
* Gift card redemption: a counter scanner reads a barcode, then applies value.
* Pop-ups: a staff smartphone validates passes using a camera-based scanning app.

</details>

### Recommended scanner type for phone screens

2D imaging scanners (2D imagers) are typically the right choice for wallet projects. They capture the code as an image, which makes reading from screens reliable.

Laser scanners can work well on printed 1D barcodes. They often underperform on phone screens because reading depends on reflected light. Modern screens and protective glass tend to reduce that reflection.

{% hint style="info" %}
Most 2D imagers support many 1D and 2D symbologies. Support varies by model and license. Hardware specs should be checked against the barcode formats used in pass templates.
{% endhint %}

### 1D vs 2D codes (why it matters for scanners)

<figure><img src="https://3566051324-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWLc8AHXW4tdrAXUBfrYF%2Fuploads%2Fgit-blob-22f4e32c6fa073f9cca5362703a4b141a9f396ac%2Fscanner_1.png?alt=media" alt="Comparison between a 1D barcode (linear bars) and a 2D barcode (matrix code such as QR)."><figcaption><p>1D codes are linear. 2D codes are matrix-based.</p></figcaption></figure>

#### 1D (linear) barcodes

1D barcodes are parallel bars, often with a human-readable number below. They usually carry short identifiers.

They can be fast to scan at distance. They also tend to be cheaper to support in hardware.

#### 2D (matrix) barcodes

2D barcodes store data in a grid. QR code and Data Matrix are common examples. They can store more data and are widely used for tickets.

They scan well at short range and in multiple orientations, which helps throughput in crowded environments.

### Practical selection checklist

Scanner selection should be validated early. It reduces rollout risk and avoids late read-rate issues.

Key checks that usually matter in production:

* Confirm “reads from **mobile screens**” is explicitly supported.
* Prefer **2D imagers** for mixed 1D/2D needs and screen reliability.
* Confirm supported symbologies match what is used (QR, Data Matrix, Code 128, PDF417, etc.).
* Test with iOS and Android devices, across low and high brightness.
* Test with common phone conditions: screen protector, cracked glass, and low-battery dimming.
* Validate throughput in realistic conditions (queue, scan distance, staff habits).

### FAQ

<details>

<summary><strong>Does barcode scanning require NFC-capable hardware?</strong></summary>

No. Barcode and QR code scanning uses optical reading (scanner or camera).

NFC is a different hardware and protocol layer. More context is available in [Hardware](https://docs.thewalletcrew.io/connect/hardware).

</details>

<details>

<summary><strong>Can a phone screen be scanned with a 1D laser scanner?</strong></summary>

Sometimes, but it is not a reliable baseline for production. Many 1D laser scanners struggle on phone screens due to reflection and screen technologies.

2D imagers are the common default for wallet deployments because they are built to read from screens.

</details>

<details>

<summary><strong>Should QR code be preferred over a 1D barcode for wallet passes?</strong></summary>

QR codes are widely supported by 2D imagers and work well on screens.

The right choice depends on operational constraints and existing infrastructure. When 1D barcodes are required, using 2D imagers still keeps scanning reliable on phone screens.

</details>
