Camera preview will appear here. Start scanning to request camera access — everything runs on this device, nothing is uploaded.
Decoding Pipeline
Scanner
Captures live frames from the local camera stream.
QR Decoder
Locates and decodes the QR symbol on-device.
Payload Validator
Checks structure, size and format integrity.
Data Parser
Maps structured fields, including custom keys.
Image Decoder
Decodes the embedded Base64/binary photograph.
Result Renderer
Presents the verified record on this device only.
SCAN RESULT
—No image in this record
Scan History
Kept only on this device for this session, and only when "Save scan history" is enabled in Settings. Nothing is ever uploaded.
No scans recorded yet this session.
Settings
All preferences are stored locally on this device.
Save scan history
Keep a local, in-session list of scanned records. Off by default — nothing is saved automatically.
Default scan mode
Continuous scans automatically; manual requires a capture tap.
Preferred camera
Which camera to prefer when the device has more than one.
Success sound
Play a short tone (generated locally, no audio files) when a QR code is verified.
Clear all local data
Removes scan history and resets preferences on this device.
QR Scanner — Offline Identity Verification
Reads structured identity records with an embedded photograph directly from a QR code, entirely on this device. Built for field verification, credential checks and card-issuance workflows where a network connection cannot be assumed.
Architecture
Scanner
getUserMedia camera stream, sampled to a canvas each frame.
QR Decoder
Locates and decodes the symbol from raw pixel data on-device.
Payload Validator
Confirms the payload is well-formed and within size limits.
Data Parser
Maps a modular field schema; unknown keys become custom fields.
Binary / Image Decoder
Validates and decodes the embedded Base64 photograph.
Result Renderer
Renders the two-column verification card shown after each scan.
Version
app 1.0.0 · payload schema 1.0