---
title: "Barcode scanning"
description: "Scan barcodes with a payment terminal."
url: "https://docs.adyen.com/point-of-sale/android-terminals/scan-barcode"
source_url: "https://docs.adyen.com/point-of-sale/android-terminals/scan-barcode.md"
canonical: "https://docs.adyen.com/point-of-sale/android-terminals/scan-barcode"
last_modified: "2025-02-06T16:35:00+01:00"
language: "en"
---

# Barcode scanning

Scan barcodes with a payment terminal.

[View source](/point-of-sale/android-terminals/scan-barcode.md)

On the Android payment terminals [S1E Barcode](/point-of-sale/user-manuals/s1e-user-manual), [S1E2L](/point-of-sale/user-manuals/s1e2l-user-manual), [S1F2L](/point-of-sale/user-manuals/s1f2-user-manual), and [S1U2](/point-of-sale/user-manuals/s1u2-user-manual) you can make use of the integrated barcode scanner.

The following barcode scanning solutions are available:

* **Use the scan button on the terminal** to activate the scanner and scan a barcode. When you scan a barcode, the terminal pastes the barcode content into an Android barcode scanner app with an input text field installed on the terminal.
* **Use a Terminal API request** to activate the scanner and **scan a single barcode**. When you scan a barcode, you receive the barcode content in the response to your request.
* **Use a Terminal API request** to activate the scanner and **scan multiple barcodes** while holding down the scan button. While you hold the scan button on the terminal pressed, the scanner scans every barcode that it faces. You receive the barcode content in event notifications.

## Barcode symbologies

Symbologies are barcode formats that a payment terminal can recognize, and they depend on the decoder of the barcode scanner. When you use Terminal API requests to initiate the barcode scanner, the response returns barcode symbologies. If the barcode is scanned successfully but the symbology is not recognized, the response still returns the content inside `Barcode.Data`, but the `Barcode.Symbology` is **UNKNOWN**.

Our payment terminals recognize the following barcode symbologies:

|               | S1E Barcode                                                                                 | S1E2L                                                                                       | S1F2L                                                                                       | S1U2                                                                                        |
| ------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| CODABAR       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| CODE 128      | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-")                                                |
| CODE 39       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| Data Matrix   | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| EAN-8         | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| EAN-13        | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| GS1           | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| Matrix 2 of 5 | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| MaxiCode      | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-")                                                |
| PDF417        | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-x-](/user/data/smileys/emoji/x.png "-x-")                                                |
| QR Code       | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| UPC-A         | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |
| UPC-E         | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") |

## Next steps

[Use terminal button to scan barcodes](/point-of-sale/android-terminals/scan-barcode/button-scan)

[Learn how to enable the scan button on Android payment terminals that have a barcode scanner.](/point-of-sale/android-terminals/scan-barcode/button-scan)

[Single barcode scan with Terminal API](/point-of-sale/android-terminals/scan-barcode/single-session)

[Learn how to activate the barcode scanning button to perform a single scan.](/point-of-sale/android-terminals/scan-barcode/single-session)

[Multiple barcode scans with Terminal API](/point-of-sale/android-terminals/scan-barcode/batch-session)

[Learn how to create a scanning session to scan multiple barcodes using Terminal API.](/point-of-sale/android-terminals/scan-barcode/batch-session)
