barcode_scanner
Flutter plugin of the Scanbot Barcode Scanner SDK for Android and iOS. Provides functionality for scanning 1D and 2D barcodes, like EAN, UPC, QR code, Data Matrix, PDF 417, etc.
9.0.0
What this package is like to depend on
Last release 1 months ago
06 Jul 2026
Release timing varies
gaps range from 1 weeks to 3 months
Most releases are documented
notes for 21 of 28 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
132 releases · first in 2020
15 releases in the last 12 months
see the full history below
Release timeline
132 releases · Feb 2020 to Jul 2026Releases
latest 60 of 132-
9.0.006 Jul 2026Nothing published for this version
-
9.0.0-beta0301 Jul 2026 pre-releaseNothing published for this version
-
9.0.0-beta0202 Jun 2026 pre-releaseNothing published for this version
-
9.0.0-beta0101 Jun 2026 pre-releaseNothing published for this version
-
8.0.023 Feb 2026Nothing published for this version
-
8.0.0-beta0419 Feb 2026 pre-releaseNothing published for this version
-
8.0.0-beta0313 Feb 2026 pre-releaseNothing published for this version
-
8.0.0-beta0209 Feb 2026 pre-releaseNothing published for this version
-
8.0.0-beta0122 Jan 2026 pre-releaseNothing published for this version
-
8.0.0-alpha0121 Jan 2026 pre-releaseNothing published for this version
-
7.1.203 Nov 2025Nothing published for this version
-
7.1.2-beta0229 Oct 2025 pre-releaseNothing published for this version
-
7.1.2-beta0117 Oct 2025 pre-releaseNothing published for this version
-
7.1.130 Sep 2025Nothing published for this version
-
7.1.1-alpha0118 Sep 2025 pre-releaseNothing published for this version
-
7.1.021 Aug 2025Nothing published for this version
-
7.1.0-alpha0414 Aug 2025 pre-releaseNothing published for this version
-
7.1.0-alpha0331 Jul 2025 pre-releaseNothing published for this version
-
7.1.0-alpha0231 Jul 2025 pre-releaseNothing published for this version
-
7.1.0-alpha0120 Jun 2025 pre-releaseNothing published for this version
-
7.0.1-alpha0325 Jun 2025 pre-releaseNothing published for this version
-
7.0.1-alpha0220 Jun 2025 pre-releaseNothing published for this version
-
7.0.1-alpha0117 Jun 2025 pre-releaseNothing published for this version
-
7.0.002 Jun 2025Release notes
Open source →- 🎉 New:
- Added support for barcode types Pharma Code, Pharma Code Two Track and PZN (Pharmazentralnummer).
- Added support for the HIBC barcode document format.
- Added support for advanced configuration of on-image barcode scanning. See more here BarcodeScannerConfiguration.
- Added the ability to configure the Barcode Scanner using the common barcode configuration, see BarcodeFormatCommonConfiguration.
- Added an option to ignore barcodes that do not decode to one of the accepted document formats for
BarcodeScannerConfiguration. See more here: BarcodeScannerConfiguration.onlyAcceptDocuments. - Added new engine modes
NEXT_GEN_FAR_DISTANCEandNEXT_GEN_LOW_POWER_FAR_DISTANCE.NEXT_GEN_FAR_DISTANCEis optimized for scanning from far distances.NEXT_GEN_LOW_POWER_FAR_DISTANCEis optimized for scanning from far on low-power devices.
- Added new predefined subsets of barcode formats (1D, 2D, Postal, Pharma, etc.). See more here: BarcodeFormats.
- Barcode scanning results have been enhanced with more detailed information. See more here: BarcodeItem.
- Added the ability to return the barcode image in the result. See more here: BarcodeScannerConfiguration.returnBarcodeImage.
- Images returned in scanner results are now represented as image references. They can be converted to
Uint8Listor saved in a provided path. See more here: ImageRef. - Introduced
strictModefor certain barcode configurators. If this mode is disabled, it should allow for a higher detection rate in difficult scenarios, but with the possibility that false positive results may occur. Currently, we supportstrictModeforQR_CODE,MICRO_QR_CODE,RMQR_CODE,PDF_417,MICRO_PDF417andGS1_COMPOSITE. - Added
extractImagesFromPdffunction to extract images from PDF files. Returns a list of image paths asList<String>?. - Added
makeImageRefsSnapshotfunction to capture a snapshot of all activeImageRefinstances. ReturnsImageRefPoolSnapshot?with memory usage details. - Added
licenseStatusMessageproperty toSdkLicenseStatus. - Added
PLACE_OF_ISSUEtoCommonFieldTypefor specifying the issuance location of identity cards. - Added property
hardwareButtonsEnabledtoBarcodeCameraConfigurationin Classic component which toggles the original volume button behavior on iOS 17.2 and above. - Added
cameraZoomRangeandminFocusDistanceLockproperties toBarcodeCameraConfigurationin Classic component for configuring zoom range and locking minimum focus distance. - Added
onlyAcceptDocumentsandreturnBarcodeImageproperties toBarcodeClassicScannerConfigurationfor improved document filtering and barcode image output. - Added new customization properties to
SelectionOverlayScannerConfigurationin Classic component:highlightedPolygonColor,highlightedStrokeColor,highlightedTextColor,highlightedTextContainerColor, andstrokeColorfor improved barcode overlay appearance. - Android: Added an option to the RTU-UI Barcode Scanner screen for keeping the screen on.
- Android: Proguard rules needed for Scanbot SDK are embedded in the package. There is no need to manually specify them in your project.
- 🚀 Improvements:
- Improved quiet zone checks for the barcode formats
ITF,CODE_11,MSI_PLESSEY,IATA_2_OF_5,INDUSTRIAL_2_OF_5andCODE_25. - Improved the false positive rate for ITF barcodes.
- Improved our Barcode Scanner with a significant speed-up in live mode on very large input resolutions.
- Improved the recognition of PDF417 barcodes in the Barcode Scanner.
- Improved the Barcode Scanner to better recognize QR codes if the top left finder pattern is corrupted (up to QR code version size 20).
- More robust QR code recognition, more tolerance for destroyed or missing timing patterns and alignment patterns and a better performance on artistic QR codes.
- QR codes with non-square finder patterns and QR codes embedded in adversarial backgrounds (flow codes and more generally) can now be recognized.
- Improved barcode detection for various barcode types.
- Improved the performance when scanning four state postal barcodes (i.e. Australia Post, Japanese Post, RM4SCC, Royal TNT Post and USPS Intelligent Mail).
- Improved memory management, logging, and deallocation safety for classic component, ensuring cleaner lifecycle handling and preventing potential resource leaks.
- By default, Code 93 now includes check digits in the result. To disable this and restore the previous behavior, set
stripCheckDigits = true.
- Improved quiet zone checks for the barcode formats
- 🐞 Bug fixes:
- Fixed checksum for
CODE_39barcode format. - Fixed the returned results for all types of
UpcEanExtensionBehavior. - Fixed an issue when scanning Code93 barcodes with
stripCheckDigits = false(default), and the check digit was an extension character. - iOS: Fixed processing of still images of an indexed color space model in the Barcode Scanner.
- iOS: Fixed a bug in the AR Barcode Scan and Count where the scanner would be stuck if there was no barcode detected.
- iOS: Fixed a bug in the Barcode Scanner RTU-UI v2 where the flip camera button was not resetting the widest camera available if chosen.
- iOS: Fixed a UI bug in the Barcode Scanner RTU-UI v2 where the sheet button overlapped with the action bar.
- iOS: Fixed an issue in the classic component where quickly stopping and starting the camera session could lead to a crash or unpredictable behavior.
- Android: Fixed an overflow when decoding a
MICRO_QR_CODEbarcode format with wrong bits in numeric mode. - Android: Fixed
minimumTextLengthforITFbarcode format. Before, we used it to check the number of symbols instead of the true text length. - Android: Fixed sorting of quad points for four-state/postal barcode types.
- Android: Fixed quad when flag
BarcodeFormatConfigurationBase.addAdditionalQuietZoneis enabled. - Android: In RTU-UI v2, the modal dialog no longer appears below the status bar.
- Android:
FindAndPickScanningMode.sheetContent.barcodeItemImageVisiblein RTU-UI v2 now correctly applies the visibility setting. - Android: Accessibility content for action buttons in RTU-UI v2 is now properly applied.
- Fixed checksum for
- ⚠️ Breaking Changes:
- Removed RTU-UI v1
startBarcodeScannerandstartBatchBarcodeScannerdeprecated APIs along with all related types. - Removed
detectBarcodesOnImages, merging image-based barcode detection intodetectBarcodesOnImagefor a unified API. - Removed
additionalParametersfromBarcodeClassicScannerConfiguration. - Removed
NONEfromCommonFieldType, as a default value is no longer required. - Changed
barcodeFormatstobarcodeFormatConfigurationsinBarcodeClassicScannerConfiguration, requiring a new structure for specifying barcode types. - Changed
startBarcodeScannermethod's return type fromResultWrapper<BarcodeScannerResult>toResultWrapper<BarcodeScannerUiResult>. initScanbotSdkAPI now returns a result of typeSdkLicenseStatusinstead of a status.- The input parameters and result objects for
detectBarcodesOnImageAPI were changed. See more here: ScanbotBarcodeSdk.detectBarcodesOnImage. - Type literals for
BarcodesExtensionFilter,BarcodeScannerEngineModeandFieldValidationStatushave been modified. - Renamed types
MSIPlesseyChecksumAlgorithmtoMsiPlesseyChecksumAlgorithm,EngineModetoBarcodeScannerEngineMode,Gs1HandlingModetoGs1Handling,ValidationStatustoFieldValidationStatusandBarcodeScannerConfigurationtoBarcodeScannerScreenConfiguration. - Renamed all
CommonFieldTypevalues to follow uppercase and underscore-separated naming for consistency. - Renamed
ValidationStatustoFieldValidationStatusand introduced new validation states (INFERRED,IGNORED). - Changed
Field.validationStatusdefault value fromnulltoFieldValidationStatus.NONE. - Renamed
expirationDatetolicenseExpirationDateandstatustolicenseStatusinSdkLicenseStatus. - Renamed enum
StatustoLicenseStatuswith updated PascalCase values (e.g.,StatusOkay→Okay). - Replaced
shouldReturnCroppedImagewithreturnBarcodeImageinBarcodeClassicScannerConfigurationfor clarity and consistency. - Replaced type
BarcodeTypewithBarcodeFormat. - Replaced property
recognizerConfigurationof typeBarcodeRecognizerConfigurationwithscannerConfigurationof typeCommonBarcodeScannerConfiguration. - Changed
barcodeListenercallback inBarcodeScannerCamerato useList<BarcodeItem>instead ofBarcodeScanningResult. - Changed
errorListenercallback inBarcodeScannerCamerato useSdkLicenseStatusinstead ofSdkLicenseException.
- Removed RTU-UI v1
- 🚙 Under the hood:
- The regex filters are applied for substrings instead of the entire output string.
- Upgraded the native Scanbot iOS SDK to v7.0.2 (cf. changelog).
- Upgraded the native Scanbot Android SDK to v7.0.2 (cf. changelog).
- Updated some third party libraries. see Third-party Libraries.
- Added
ffipackage for interoperability with native code. - Android: Updated Compile Sdk to 35.
- Android: Android Jetpack Compose updated to 1.7.8.
- 🎉 New:
-
7.0.0-alpha0728 May 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0627 May 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0522 May 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0413 May 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0324 Apr 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0214 Apr 2025 pre-releaseNothing published for this version
-
7.0.0-alpha0108 Apr 2025 pre-releaseNothing published for this version
-
6.1.111 Feb 2025Release notes
Open source →- 🎉 New:
- Added a new optional property
cameraModuleinBarcodeCameraConfigurationfor the Classic Component Barcode Scanner.
- Added a new optional property
- 🚙 Under the hood:
- Changed
json_annotationpackage restriction from 4.8.1 to ^4.8.1.
- Changed
- 🎉 New:
-
6.1.1-alpha0310 Feb 2025 pre-releaseNothing published for this version
-
6.1.1-alpha0205 Feb 2025 pre-releaseNothing published for this version
-
6.1.1-alpha0129 Jan 2025 pre-releaseNothing published for this version
-
6.1.027 Jan 2025Release notes
Open source →- 🎉 New:
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32. Added literals that represent the new barcode types in
BarcodeFormat. - Added a new optional property
addAdditionalQuietZoneinBarcodeAdditionalParameters. The default value is false. - Added a new property
accessibilityDescriptioninRoundButtonandButtonConfiguration. - Added a new property
allowEmptySubmissioninMultipleScanningModeto allow submission of an empty barcode list in the Multiple Barcodes use case in RTU-UI v2. - Added new optional properties
useIATA2OF5Checksum,useCode11ChecksumandaustraliaPostCustomerFormatinBarcodeScannerConfiguration,BatchBarcodeScannerConfiguration,BarcodeRecognizerConfigurationandBarcodeAdditionalParameters. - Added a new type literal
CONFIRMEDinValidationStatustype inGenericDocument. - Added a new type literal
NONEinCommonFieldTypetype used inGenericDocument. - iOS: Added new zoom control slider controlled by the new camera control button on all view controllers. Available on all the new iPhone 16 models.
- Android: Added support for 16KB page size (Android 15).
- Added support for new barcode types Maxicode, rMQR code, Code 11 and Code 32. Added literals that represent the new barcode types in
- 🚀 Improvements:
- Improved detection of
UPCandEANextensions. - Added support for Extended Channel Interpretation (ECI) for Datamatrix and Aztec barcodes.
- For
CODE_128andITF, we improved the recognition of barcodes generated by defective thermal printers that do not print certain black bars correctly.
- Improved detection of
- 🐞 Bug fixes:
- Fixed KANJI mode for QR codes.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModethat never showed the expected barcodes title, but always the barcode value. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner
FindAndPickScanningModein button sheet mode where the counter badge was not visible. - iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's sheet screen where the subtitle label was being vertically cut off.
- iOS: Fixed a UI issue on the RTU-UI v2 Barcode Scanner's confirmation sheet in the
SingleScanningModewhere the loading indicator was not centered when the loading message was hidden. - iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner where a title that was too long would cut off the cancel button.
- iOS: Fixed a UI issue in the RTU-UI v2 Barcode Scanner's finder where the background color overlapped with the line color.
- iOS: Fixed a bug in RTU-UI v2 Barcode Scanner where extended barcodes are displayed along with their non-extended versions.
- iOS: Fixed a bug that did not mirror the front camera as expected.
- iOS: Fixed a crash in scanners when setting the same
minZoomandmaxZoominZoomRange. - Android: Fixed R8 obfuscation config for SDK logging classes.
- Android: Minor fixes for appearance in RTU-UI v2 Barcode Scanner to make it consistent with its iOS counterpart.
- Android: Fixed an issue with AR Overlay and barcode mapping in RTU-UI v2 Barcode Scanner, where the mapped image wasn't shown on the AR Overlay until the same barcode appeared in the list below.
- ⚠️ Breaking Changes:
- Removed duplicate methods
initScanbotSdkandgetLicenseStatusfromscanbot_barcode_sdk_v2.dart. - Renamed the
scanbot_barcode_sdk_v2.dartfile toscanbot_barcode_sdk_ui_v2.dart. - Removed property
codeDensityfromBarcodeScannerConfiguration,BatchBarcodeScannerConfigurationandBarcodeAdditionalParameters. - Removed type literals
VALIDATEandDECODEand replaced them withVALIDATE_STRUCTURE,DECODE_STRUCTURE,VALIDATE_FULLandDECODE_FULLinGs1HandlingMode. - Changed the default values for properties
okButton,cancelButtonandactionButtoninScanbotAlertDialog. - Changed the default values for properties
enableCameraButtonandcloseButtoninCameraPermissionScreen. - Changed the default value for property
visibleinArOverlayFindAndPickConfigurationto true forFindAndPickScanningMode. - Replaced
standardandvalidationStatusfields withvalidationErrorsin theGS1Elementclass. - Android: Changed
barcodesRegexFilterbehavior inBarcodeRecognizerConfigurationforBarcodeScannerConfigurationconfig for RTU-UI v2 Barcode Scanner. Barcodes are accepted if the barcode data contains the part that matches the regex.
- Removed duplicate methods
- 🚙 Under the hood:
- Upgraded the native Scanbot Android SDK to v6.1.1.
- Upgraded the native Scanbot iOS SDK to v6.1.1.
- Added gs1-syntax-dictionary lib.
- 🎉 New:
-
6.1.0-alpha0221 Jan 2025 pre-releaseNothing published for this version
-
6.1.0-alpha0115 Jan 2025 pre-releaseNothing published for this version
-
5.1.1-alpha0224 Oct 2024 pre-releaseNothing published for this version
-
5.1.1-alpha0124 Oct 2024 pre-releaseNothing published for this version
-
5.1.027 Aug 2024Release notes
Open source →- 🎉 New:
- Introduced the redesigned RTU-UI version 2 for enhanced Barcode scanning, featuring advanced agile configuration options. See Ready-to-Use UI for documentation and various use cases.
- Added support for the Micro PDF 417 barcode format.
- Added support for parsing of AAMVA Certificate of Title for motor vehicle barcodes.
- Added a new field
shouldReturnCroppedImageinBarcodeClassicScannerConfigurationfor theBarcodeScannerCameraClassic UI. If set totrue, the result will be returned in thebarcodeImageBase64field of theBarcodeItemmodel. - Launched the new
FindAndPickScanningMode
- 🚀 Improvements:
- Optimized camera preview quality and processing speed for all scanners.
- iOS:
- IMPORTANT: Changed the default rear cameras on all scanners to the triple or dual camera. On some devices with triple camera this results in a different view port (more zoomed in). Please make sure to adapt your zoom ranges and factors.
- Added support of haptic feedback on capable devices.
- Android:
- Changed the touch to focus square in the native camera view to a circle.
- 🐞 Bug fixes:
- Fixed issue with misaligned barcode polygons on some devices with horizontal orientation.
- For BarcodeFormat.PDF_417, a single case to generate clusters was not covered, which led to a crash.
- iOS:
- Fixes a crash with all Classic UI components when energy saving is disabled.
- ⚠️ Breaking Changes:
- Deprecated the Ready to Use UI v1 barcode scanners. Adoption of the RTU UI v2 barcode scanner API is strongly recommended.
- Transitioned the format of barcode result structures from record classes to GenericDocument. This adjustment impacts RTU UI v1 but is standardized across both RTU UI v1 and RTU UI v2.
- Renamed
BarcodeFormat.RSS_14toBarcodeFormat.DATABARandBarcodeFormat.RSS_EXPANDEDtoBarcodeFormat.DATABAR_EXPANDED. - Eliminated the LiveDetector and CameraController classes. All corresponding functionalities are now integrated within the widgets themselves.
- Updated widgets to automatically adjust to configuration changes received by the camera widget constructors.
- 🚙 Under the hood:
- Upgraded the native Scanbot iOS SDK to v5.1.3 (cf. changelog).
- Upgraded the native Scanbot Android SDK to v5.1.0 (cf. changelog).
- Android:
- Updated Kotlin to version 1.9.0.
- jvmTarget = "17".
- Updated 3rd-party libraries:
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40
- libtiff to 4.6.0
- added zlib library
- iOS:
- Updated 3rd-party libraries:
- zlib to version 1.3.1
- libtiff to 4.6.0
- libjpeg-turbo to 2.1.5.1
- libpng to 1.6.40.
- Updated 3rd-party libraries:
- 🎉 New:
-
5.1.0-alpha0622 Aug 2024 pre-releaseNothing published for this version
-
5.1.0-alpha0522 Aug 2024 pre-releaseNothing published for this version
-
5.1.0-alpha0420 Aug 2024 pre-releaseNothing published for this version
-
5.1.0-alpha0316 Aug 2024 pre-releaseNothing published for this version
-
5.1.0-alpha0214 Aug 2024 pre-releaseNothing published for this version
-
5.1.0-alpha0112 Aug 2024 pre-releaseNothing published for this version
-
4.2.1-beta0425 Jul 2024 pre-releaseNothing published for this version
-
4.2.1-beta0305 Jun 2024 pre-releaseNothing published for this version
-
4.2.1-beta0205 Jun 2024 pre-releaseNothing published for this version
-
4.2.1-beta0104 Jun 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0905 Jun 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0805 Jun 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0727 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0624 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0522 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0421 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0321 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0216 May 2024 pre-releaseNothing published for this version
-
4.2.1-alpha0116 May 2024 pre-releaseNothing published for this version