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