Pro Scanner Overlay for React Native
A polished animated overlay with corner brackets and a scanning band for your React Native barcode scanner.
What is the pro scanner overlay?
When you turn on proScanner, the camera preview gets a custom overlay drawn on top of it. This includes:
- Animated corner brackets that focus in when a code is detected
- A scanning band that sweeps across the frame while scanning is active
- A dim background to isolate the scanning area visually
It's the kind of UX you'd see in delivery, inventory, or POS apps where the scanning experience needs to feel intentional and trustworthy.
Enabling it
<Scanner
style={StyleSheet.absoluteFill}
proScanner={true}
onCodeScanned={(result) => console.log(result.data)}
/>Pro scanner + freeze frame
The overlay really shines when combined with freeze frame. When the scanner detects a stable code, the corner brackets animate inward, the frame dims, and the scan line completes — then the callback fires.
<Scanner
style={StyleSheet.absoluteFill}
proScanner={true}
enableFreezeFrame={true}
onCodeScanned={(result) => {
console.log('Scanned:', result.data);
}}
/>This combination gives you a scanner that feels like a real product rather than a prototype.
How it looks
The overlay has two states:
Scanning (idle): A scanning band slowly moves up and down inside the frame. Corner brackets sit at the corners.
Detected (with freeze frame): When a code is found, the corner brackets animate toward the center of the detected code, the scanning band freezes, and a short confirmation animation plays before the callback fires.
Combining with scan region
proScanner and scanRegion work well together. The scan region defines the area where codes are valid, and the pro overlay provides visual feedback within that area:
<Scanner
style={StyleSheet.absoluteFill}
proScanner={true}
enableFreezeFrame={true}
scanRegion={{
enabled: true,
width: 300,
height: 300,
showHint: true,
hintText: 'Scan a code to continue',
}}
onCodeScanned={(result) => console.log(result.data)}
/>Use cases
The pro scanner overlay is a good fit for:
- Checkout and POS — scanning products at a counter
- Package delivery — scanning barcodes on parcels
- Ticketing — validating event or transit tickets
- Inventory — logging items in a warehouse
If you're building something more casual (like scanning a QR code to open a URL), the default scanner without any overlay is fine.