Every code in view, at once
Each code gets a box that stays on it as the camera moves. Every one is read and reported once, so a whole shelf takes a single sweep.
Now on npm: @reedscan/core 0.2
ReedSCAN turns the cameras your teams and customers already carry into fast, accurate barcode capture. It's built into your own web platform, runs on the device, and needs nothing installed.
npm install @reedscan/coreSingle scans at a checkout, a shelf of labels at once, a pallet at the dock. The same SDK, configured for the job, inside the app your people already use.
Each code gets a box that stays on it as the camera moves. Every one is read and reported once, so a whole shelf takes a single sweep.
Decoding runs in background workers sized to the device, so the camera view stays smooth on an older Android as well as a new iPhone.
Limit symbologies and accept only values that match your format. Everything else is ignored at the camera.
accept: /^LOC:[A-Z0-9-]+$/A JavaScript package with a React component. It needs an element and a callback, nothing else.
Teams put ReedSCAN in the internal tools, customer apps and partner portals they already run.
Shelf work and checkout from the store team's own phones.
This is the production SDK, running in this page. Start the camera and show it a barcode or QR code, or point it at the labels at the top of the page.
Show it a QR code or a barcode.
Try it on your phone. Scan this with the phone's camera to open the page there, or hold it up to your webcam.
One package from npm. Give it an element and a callback: it brings the camera, the boxes, the feedback and the decoding.
npm install @reedscan/core, or @reedscan/react for the component.
Point it at an element in your page and handle each code in onScan.
Add the license key for your domains. Until then it runs in evaluation mode, every feature included.
import { createScanner } from "@reedscan/core";
const scanner = createScanner(document.querySelector("#scanner"), {
licenseKey: "RS1.…",
onScan: (scan) => console.log(scan.format, scan.value),
});
button.onclick = () => scanner.start();Capture runs entirely in your users' browsers, under your domain. Nothing about your operation passes through us.
Camera frames are decoded in the browser. No picture or scanned value is sent to us, ever.
License keys are signed and verified in the browser. There's no license server to reach, and nothing to fail at 6 a.m.
Serve the decoding engine and worker from your own domain, for intranets, air-gapped sites and private clouds.
Works under a Content Security Policy that blocks blob workers: point it at your own worker file.
No analytics and no telemetry. The SDK makes no network request except to load its own engine.
Your users never sign up for anything. The key belongs to your domain, not to people.
No per-scan metering and no per-device counting. Build and test without a key; license the domains you go live on.
Free
No key, no sign-up
Per domain
A license key for your domains
Custom
For software you sell to your own customers
Something else? Email us.
Start with the free evaluation today, or talk to us about licensing for your domains.