complete.tools

Barcode Scanner

Scan barcodes using your device camera and decode the data

What is a Barcode Scanner

A barcode scanner reads machine-readable codes printed on products, labels, packages, and documents. Each barcode encodes information — product numbers, URLs, serial numbers, or other data — as a pattern of bars, spaces, or dots. The Barcode Scanner tool uses your device's camera and the browser-native BarcodeDetector API to read these codes directly in your browser, with no app to install and no data sent to any server.

You can scan product barcodes from retail packaging, QR codes from posters or websites, shipping labels, loyalty cards, event tickets, and more. The tool works on desktop browsers and mobile devices. On mobile, it uses the rear camera by default, which gives the best results for physical barcodes. On desktop, it uses your webcam.

All scanning happens entirely on your device. The camera feed is never uploaded or recorded. The decoded value is displayed on screen immediately and added to a local scan history so you can review what you have scanned in a session.

How It Works

The tool relies on the BarcodeDetector API, a standard browser API available in Chrome 83 and later, Edge 83 and later, and Samsung Internet on Android. This API provides hardware-accelerated barcode detection built directly into the browser engine.

When you click Start Scanning, the browser requests permission to use your camera. Once permission is granted, the live camera feed appears and the detector continuously analyzes each video frame looking for barcode patterns. When a barcode is found, the tool extracts the raw decoded value and the format type (for example, EAN-13, QR Code, or Code 128) and displays the result instantly.

Detection happens at the frame rate of the video stream — typically 30 frames per second. The tool prevents duplicate entries by only recording a new result when the decoded value changes from the previous scan. This means you can hold the camera steady on a barcode and see one clean result rather than dozens of duplicates.

Supported Barcode Formats

The tool supports all formats provided by the BarcodeDetector API:

- **QR Code** — widely used for URLs, contact information, Wi-Fi credentials, and general data - **EAN-13** — standard retail product barcode used internationally - **EAN-8** — compact retail barcode for smaller products - **UPC-A** — North American retail product barcode, 12 digits - **UPC-E** — compressed version of UPC-A for small packages - **Code 128** — high-density linear barcode used in logistics and shipping - **Code 39** — alphanumeric barcode used in industrial and military applications - **Code 93** — compact version of Code 39 - **Codabar** — older format used in libraries and blood banks - **Data Matrix** — 2D matrix code common in electronics manufacturing - **PDF417** — stacked linear barcode used on driver's licenses and boarding passes - **Aztec** — 2D barcode used on transit tickets - **ITF (Interleaved 2 of 5)** — used on shipping cartons and outer packaging

The exact set of supported formats may vary slightly by browser and platform. QR codes and EAN/UPC barcodes are supported everywhere the BarcodeDetector API is available.

How to use

1. Open the Barcode Scanner tool on a device with a camera (phone, tablet, or desktop with webcam). 2. Click the **Start Scanning** button. 3. Allow camera access when the browser asks for permission. 4. Point your camera at a barcode, keeping it steady and within frame. 5. Wait a moment — the barcode is detected automatically. No button press needed. 6. The decoded value and format appear under **Last Detected**. 7. Click **Copy Value** to copy the result to your clipboard. 8. Continue scanning more barcodes. Each result is added to the **Scan History** list. 9. Click **Stop Scanning** when you are done. 10. Click **Clear** to erase the history for the current session.

FAQs

Q: Does the barcode scanner work on iPhone? A: The BarcodeDetector API is not yet supported in Safari on iOS. Use Chrome for Android or a desktop browser for best compatibility. You can also use the built-in camera app on iPhone to scan QR codes.

Q: Why does the scanner not find the barcode? A: Make sure the barcode is well-lit, fills a good portion of the camera frame, and is not blurry. Avoid reflections on glossy labels. Move the camera slightly closer or farther to help the autofocus lock on to the barcode.

Q: Is my camera data stored or transmitted? A: No. The camera feed is processed entirely on your device using the browser's built-in BarcodeDetector API. No images, video frames, or decoded values are sent to any server.

Q: Can I scan multiple barcodes in one session? A: Yes. Every unique barcode you scan is added to the Scan History list. You can copy any value from the history by clicking the copy icon next to it.

Q: What browsers support the BarcodeDetector API? A: Chrome 83 and later, Edge 83 and later, and Samsung Internet support the BarcodeDetector API. Firefox and Safari do not currently support it. If you see an unsupported message, try switching to Chrome.

Q: Can I use this on a product's barcode at a store? A: Yes. The scanner works well for standard retail barcodes like EAN-13 and UPC-A. Open the tool on your phone, grant camera permission, and point the rear camera at the barcode on the product.

Q: How do I copy all scanned barcodes at once? A: Currently the tool lets you copy one result at a time from the history list. Use the copy icon next to each entry to copy its value to the clipboard.