Skip to main content
The shell opens its own full-screen reader. Your page never touches the camera stream; it just receives the decoded text.

Options

BarcodeFormat[]
default:"['qr']"
Symbologies to accept: qr, aztec, datamatrix, pdf417, ean13, ean8, upc_a, upc_e, code39, code93, code128, codabar, itf14. qr works everywhere; the others depend on the device’s detector.
string
Reader title.
string
Text under the frame.
Let the user decode a code from a saved image. On iOS this decodes QR only.

Result

string
The decoded text. Present only on a successful read.
BarcodeFormat
The symbology that was read.
boolean
The user closed the reader.
'permission_denied' | 'busy' | 'not_available'
No camera permission, another scan is already open, or this surface has no reader.
Only one reader can be open at a time. In a browser, scan resolves immediately with not_available. Without the hook, use scanQRCode(options).