QR Code, Barcode &
Document Scanner
A modern Flutter plugin for scanning QR codes, barcodes, and documents. Native performance with VisionKit on iOS and ML Kit + CameraX on Android.
Features
Native Performance
Uses platform-native APIs for the fastest, most accurate scanning experience on both iOS and Android.
Multiple Modes
One-shot scanning, embedded widget, gallery/image scanning, and multi-page document capture.
Full Camera Control
Torch toggle, pinch-to-zoom, tap-to-focus, front/back camera switching, and auto-zoom.
Customizable Overlays
Built-in animated overlays or bring your own. Customize colors, sizes, and animations.
Document Scanning
Capture multi-page documents with automatic edge detection using native document scanners.
Rich Configuration
Format filtering, scan regions, debounce, validation callbacks, and more.
Simple API
// One-shot scanning final result = await ScanKit.scan(); if (result != null) { print('Scanned: ${result.value}'); } // Embedded scanner widget ScanKitView( onDetect: (barcode) => handleBarcode(barcode), overlay: const ScanKitAnimatedOverlay(), ) // Document scanning final docs = await ScanKit.scanDocument(maxPages: 10);
Supported Formats
✓ QR Code
✓ Aztec
✓ Data Matrix
✓ PDF417
✓ EAN-8
✓ EAN-13
✓ UPC-A
✓ UPC-E
✓ Code 39
✓ Code 93
✓ Code 128
✓ Codabar
✓ ITF-14
Platform Support
iOS
iOS 13.0+
VisionKit (iOS 16+)
AVFoundation + Vision (fallback)
Android
API 21+ (Android 5.0)
ML Kit Barcode Scanning
CameraX