Skip to main content

System Requirements

Native SDK

iOS

RequirementVersion
iOS14.0+
Architecturearm64, x86_64
Camera720p+
GPU

Android

RequirementVersion
Android6.0+ (API level 23)
Java8+
Architecturearm64v7, arm64, x86, x86_64
Camera720p+
GPU
note

On Android hardware acceleration has to be enabled for the camera preview to work. Hardware acceleration is enabled by default since API level 14 but can potentially be turned off in the Manifest, do not do this if you use the camera.

Linux

Supported distributions:

  • Ubuntu 18.04 or newer
  • Debian/GNU Linux 10 (Buster) or newer
  • Raspbian 2017-08-17 or newer
note

Most Debian/GNU Linux based systems should be supported as as long as the dependency requirements below are met.

RedHat based systems (RPM packages) are not supported officially. The tool 'alien' can be used to convert the Debian packages to RPM packages. If you want to run the SDK on any other Linux distribution, unpack the .deb file and install the library and headers manually.

Dependencies

RequirementVersion
GCC (or a comparable compiler)>= 4.9
libc>= 2.27
pthread-
dbus>= 1.6.8
zlib>= 1.2.8 (i386 and arm64 only)
NEON CPU support (armhf only)-
OpenGLES (optional for GPU acceleration)>= 2.0
Python (optional for the Python bindings)>= 3.0

Web SDK

RequirementNotes
BlobBlob is used to store the video stream. Check supported browser versions.
WebAssemblyWebAssembly is used to run the video processing algorithms. Check supported browser versions.
URL/createObjectURLURL.createObjectURL is used to create a URL for the video stream. Check supported browser versions.
Web WorkersWeb Workers are used to run the video processing algorithms in a separate thread. Check supported browser versions.
SharedArrayBufferSharedArrayBuffer is required for simultaneous multiple barcode tracking. Check supported browser versions.
MediaDevices.getUserMediaOptional. MediaDevices.getUserMedia is required for camera video streaming. Check supported browser versions.
OffscreenCanvasOptional. OffscreenCanvas allows for GPU acceleration in Web Worker. Check supported browser versions.
WebGLOptional. WebGL is used for GPU acceleration. Check supported browser versions.
WebAssembly SIMDOptional. WebAssembly SIMD is used for OCR computation acceleration.

Browser Compatibility

BrowserThreadsSingle thread
Chrome68+61+
Edge79+79+
Firefox105+105+
Opera55+44+
Safari15.2+13+
Chrome Android89+61+
Firefox Android105+105+
Opera Android63+46+
Safari iOS / Chrome iOS (webkit)16.4+14.6+
Samsung Internet15+7+
Webview AndroidNoYes

Frameworks

These platforms are based on the native platforms and therefore the requirements of native platforms apply as well. If a framework has stricter requirements (e.g. it only supports newer versions of Android/iOS) it is explicitly stated.

PlatformRequirements
Capacitor- Capacitor 2.0.0
- Swift 4.0+
Cordova- cordova 8.0.0
- cordova-android 7.0.0
- cordova-ios 4.5.5
- Swift 4.0+
Flutter- Flutter 3.22.0+ (Dart 3.4.0+)
- Swift 4.0+
Xamarin.Android- Xamarin.Android 13.2.2
- Kotlin 1.8.22
Xamarin.iOS- Xamarin.iOS 16.4.0.23
Xamarin.Forms- Xamarin.Forms 4.8
- Kotlin 1.8.22
React Native- react-native 0.60 (0.63 if using Fast Refresh)
- Kotlin 1.8.22
- Swift 4.0+
Titanium- Titanium 12.2.1.GA
.NET for iOS- .NET SDK 6.0.403+
.NET for Android- .NET SDK 6.0.403+
- Kotlin 1.8.22