Package selection guidance compiled from public package information, community data, and project usage.
Flutter Mobile Vision 2 is a Flutter plugin that provides access to Google's Mobile Vision APIs for barcode scanning, text recognition, and face detection. It enables developers to integrate real-time image analysis directly into mobile apps on both Android and iOS platforms. The package supports live camera feeds and offers reliable performance for identifying barcodes, extracting printed or handwritten text, and detecting facial features such as eyes, nose, and mouth. Designed for simplicity and efficiency, it bridges native vision capabilities with Flutter’s cross-platform framework.
Use cases
Barcode scanning in retail apps
Text extraction from images
Face detection for user authentication
Real-time document scanning
Image-based data entry
Key features
Live camera integration
Barcode scanning
Text recognition (OCR)
Face detection
Cross-platform support (Android & iOS)
Suitable for
Mobile apps requiring OCR
Retail and inventory management tools
Document digitization apps
User identity verification systems
Apps needing real-time image analysis
Considerations
Requires camera permissions
Depends on Google Play Services (Android)
Limited offline functionality
May require device compatibility checks
Performance varies by hardware
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
//...List<Barcode> barcodes = [];
try {
barcodes = awaitFlutterMobileVision.scan(
flash: _torchBarcode,
autoFocus: _autoFocusBarcode,
formats: _onlyFormatBarcode,
multiple: _multipleBarcode,
waitTap: _waitTapBarcode,
//OPTIONAL: close camera after tap, even if there are no detection.//Camera would usually stay on, until there is a valid detection
forceCloseCameraOnTap: true,
//OPTIONAL: path to save image to. leave empty if you do not want to save the image
imagePath: '', //'path/to/file.jpg'
showText: _showTextBarcode,
preview: _previewBarcode,
camera: _cameraBarcode,
fps: 15.0,
);
} onException {
barcodes.add(newBarcode('Failed to get barcode.'));
}
//...
Android
For Android, you must do the following before you can use the plugin:
Add the camera permission to your AndroidManifest.xml