// the find
juliansteenbakker/mobile_scanner
A universal Flutter barcode and QR code scanner using CameraX/ML Kit for Android, AVFoundation/Apple Vision for iOS & macOS, and ZXing for web.
A Flutter plugin wrapping CameraX/ML Kit on Android, AVFoundation/Vision on iOS and macOS, and ZXing on web for barcode and QR scanning. It's the de facto standard for Flutter barcode scanning — the alternatives are either abandoned or thinner wrappers. If you're building a Flutter app that needs to scan anything with a camera, this is where you start.
Uses the right native libraries on each platform (ML Kit on Android, Vision on Apple) rather than a lowest-common-denominator approach, so detection speed and accuracy are actually good. The controller lifecycle API is honest — `autoStart: false` plus manual `WidgetsBindingObserver` is the right pattern and the docs show it properly. The `rawBytes` limitation table for iOS is unusually thorough documentation of a real platform constraint rather than pretending it works. CI setup is solid: code coverage, quality gates, release-please automation, semantic PR enforcement.
Linux and Windows are dead ends — no support, no roadmap mentioned, so if your Flutter app targets desktop beyond macOS you're on your own. The `analyzeImage` and `returnImage` features have no web support, which limits a meaningful use case for web-first deployments. Android adds 3–10 MB for the bundled ML Kit model, which is a real cost for lightweight apps; the unbundled option mitigates it but requires Google Play Services, breaking pure APK distribution. Auto-zoom is Android-only and the feature matrix asymmetry (different capabilities per platform) will catch you off guard when a feature works in your Android test but silently does nothing on iOS.