Scan any barcode or QR code online for free with your phone or webcam, or from an image or screenshot. No app to install, and nothing leaves your device.
More free tools: UPC & GTIN barcode lookup and barcode generator.
The scanner reads all common 1D barcodes and 2D codes:
See supported barcode types for details on each symbology.
Tap Scan from image and pick a photo or screenshot that contains the code. On a computer, you can also drag images onto the scanner or paste a screenshot with Ctrl+V (Cmd+V on a Mac). Several images can be scanned at once.
Use a sharp image in which the code is in focus and not too small. If an image does not scan, try scanning the code with the camera instead: the camera scanner analyzes many frames per second, which makes it much more forgiving than a single photo.
Yes. Take a screenshot of the barcode or QR code, open this page, tap Scan from image and choose the screenshot from your photos. The code is read directly from the image, no second device needed.
No. Barcode detection runs entirely in your browser, on your device. Neither the camera feed nor the images you pick are sent to a server. The scanner is built with STRICH, our barcode scanning SDK for web apps.
Open this page in your browser, tap Scan with camera and point the camera at the barcode. The scanner works in any up-to-date browser on iPhone, Android, tablets and computers with a camera, so there is nothing to install. Your browser asks for permission to use the camera the first time you scan.
Yes. This page uses STRICH's PopupScanner for camera scanning and ImageScanner for images. Both take just a few lines of JavaScript, see the example below. STRICH works with plain JavaScript and frameworks like React, Angular, Vue and Svelte.
This scanner is a live demo of STRICH, a JavaScript barcode scanning SDK for web apps. The same scanning that runs on this page can run in your own app, on any device with a browser and a camera, in a few lines of code:
import { StrichSDK, PopupScanner } from '@pixelverse/strichjs-sdk';
await StrichSDK.initialize('<your license key>');
const detections = await PopupScanner.scan({
symbologies: ['qr', 'ean13', 'code128']
});
if (detections) {
console.log(detections[0].data);
} Read our guide on barcode scanning in web apps, see how STRICH compares to open-source libraries, or start a free 14-day trial.
Integrating STRICH into your web app typically takes less than a day. Or try our free demo app and convince yourself that STRICH meets your needs.
Live demo ↗ Try for free ↗