flutter_barcode_sdk
The only Flutter barcode SDK for Android, iOS, Web, Windows, Linux, macOS. Empower developers to build 1D/2D barcode reader and barcode scanner.
Build barcode QR detection apps for Windows, Linux, macOS, Android, iOS and web.
English project snapshot. Visit GitHub for the latest content.
A cross-platform Flutter plugin for barcode reading and scanning, powered by the Dynamsoft Barcode Reader SDK. Supports Android, iOS, Web, Windows, and Linux.
This is a monorepo for the flutter_barcode_sdk federated plugin,
following the Flutter camera package
pattern. All packages are siblings under packages/ and are
published to pub.dev independently:
| Package | Description |
|---|---|
flutter_barcode_sdk |
App-facing package. Add this to your app. |
flutter_barcode_sdk_platform_interface |
Platform interface contract and shared data models. |
flutter_barcode_sdk_android |
Android implementation. |
flutter_barcode_sdk_macos |
macOS implementation (universal-2). |
flutter_barcode_sdk_windows |
Windows implementation. |
flutter_barcode_sdk_linux |
Linux implementation. |
flutter_barcode_sdk_web |
Web implementation with a self-hosted JS/WASM bundle — no CDN <script> tag needed. |
The platform packages are endorsed by the app-facing package, so app
developers only need to depend on flutter_barcode_sdk.
flutter_capture_vision —
same six-platform architecture, plus MRZ (passport/ID) recognition and
document boundary detection.flutter_lite_camera —
lightweight camera preview and frame capture on all six platforms; the
bundled example apps use it as the frame source for live scanning.The repository uses a pub workspace —
run flutter pub get once at the repository root and all packages resolve
local dependencies automatically.
flutter pub get # once at the repo root
flutter analyze # per package: cd packages/<pkg> && flutter analyze
flutter test
Each package has its own example/ app for standalone testing:
cd packages/flutter_barcode_sdk_windows/example
flutter run -d windows
# macOS (requires Xcode + CocoaPods, macOS 12+)
cd packages/flutter_barcode_sdk_macos/example
flutter run -d macos
Each package is published independently from its own directory, with its own version:
cd packages/flutter_barcode_sdk_web
dart pub publish # dry run: dart pub publish --dry-run
The GitHub Actions workflow .github/workflows/publish.yml
publishes automatically when a tag of the form
<package-name>-v<version> is pushed, e.g.
flutter_barcode_sdk_web-v1.2.3, or manually via
Actions → Publish to pub.dev → Run workflow.
Because each platform package ships its own native binaries, each package gets the full 100 MB pub.dev size limit independently.
See LICENSE.