← Media & Codes

Barcode Reader

Scan barcodes with your camera or from images, directly in your browser.

Drag and drop, paste from clipboard,
or use the button below.

How it works

This barcode reader uses the browser's built-in BarcodeDetector API to read common formats including EAN-13, UPC-A, Code 128, Code 39, QR codes, Data Matrix, and more. On browsers without that API, such as Firefox and Safari, it falls back to a bundled JavaScript decoder for QR codes. Upload an image or use your device camera to scan in real time. On mobile, the rear camera is used automatically.

Your images and camera feed are never sent to a server. All detection and decoding happens locally in your browser on both mobile and desktop. No cost, no signup, no tracking.

Frequently asked questions

Which barcode formats can this tool read?

On browsers with built-in detection, such as Chrome and Edge on desktop and Chrome on Android, it reads EAN-13, EAN-8, UPC-A, UPC-E, Code 39, Code 93, Code 128, ITF, Codabar, Data Matrix, PDF417, Aztec, and QR codes. Firefox and Safari have no native detector, so they fall back to a bundled decoder that reads QR codes only.

Why does my image say no barcode was found?

Detection needs a reasonably sharp, well-lit code that is not too small or skewed in the frame. Blurry, angled, low-contrast, or heavily cropped barcodes often fail. Try a straighter, closer, higher-resolution image, or use camera mode to scan it live.

Can it read more than one barcode from a single image?

Yes. On browsers with native detection, every barcode found in the image is listed. The QR-only fallback used on Firefox and Safari returns a single code at a time.

Does my camera feed or image leave my device?

No. Uploaded images and the live camera stream are decoded entirely in your browser and are never uploaded or stored. Camera mode stops the stream as soon as a code is found or you press Stop Camera.


More tools from Clean.tools

View all tools

Use Clean.tools from your AI agent

Clean.tools also runs an MCP server — read-only utility tools your AI agent can call directly. No key, no signup: requests are processed in memory and request contents are never stored.

Claude Code
claude mcp add --scope user --transport http clean-tools https://mcp.clean.tools/mcp
Any MCP client (streamable HTTP, authless)
https://mcp.clean.tools/mcp

Every tool, the REST API, and setup for Cursor, Claude Desktop, VS Code & more →