Skip to content
Tauri

Barcode Scanner

Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes.

Supported Platforms

  • Android
  • iOS

Setup

This plugin requires a Rust version of at least 1.64

Install the barcode-scanner plugin to get started.

Use your project’s package manager to add the dependency:

npm run tauri add barcode-scanner

Usage

The barcode scanner plugin is available in JavaScript.

import { scan, Format } from '@tauri-apps/plugin-barcode-scanner';
// when using `"withGlobalTauri": true`, you may use
// const { scan, Format } = window.__TAURI_PLUGIN_BARCODE_SCANNER__;
// `windowed: true` actually sets the webview to transparent
// instead of opening a separate view for the camera
// make sure your user interface is ready to show what is underneath with a transparent element
scan({ windowed: true, formats: [Format.QRCode] });

Permissions

By default all potentially dangerous plugin commands and scopes are blocked and cannot be accessed. You must modify the permissions in your capabilities configuration to enable these.

See the Capabilities Overview for more information and the step by step guide to use plugin permissions.

src-tauri/capabilities/mobile.json
{
"$schema": "../gen/schemas/mobile-schema.json",
"identifier": "mobile-capability",
"windows": ["main"],
"platforms": ["iOS", "android"],
"permissions": ["barcode-scanner:allow-scan", "barcode-scanner:allow-cancel"]
}
PermissionDescription
barcode-scanner:allow-cancelEnables the cancel command without any pre-configured scope.
barcode-scanner:deny-cancelDenies the cancel command without any pre-configured scope.
barcode-scanner:allow-check-permissionsEnables the check_permissions command without any pre-configured scope.
barcode-scanner:deny-check-permissionsDenies the check_permissions command without any pre-configured scope.
barcode-scanner:allow-open-app-settingsEnables the open_app_settings command without any pre-configured scope.
barcode-scanner:deny-open-app-settingsDenies the open_app_settings command without any pre-configured scope.
barcode-scanner:allow-request-permissionsEnables the request_permissions command without any pre-configured scope.
barcode-scanner:deny-request-permissionsDenies the request_permissions command without any pre-configured scope.
barcode-scanner:allow-scanEnables the scan command without any pre-configured scope.
barcode-scanner:deny-scanDenies the scan command without any pre-configured scope.
barcode-scanner:allow-vibrateEnables the vibrate command without any pre-configured scope.
barcode-scanner:deny-vibrateDenies the vibrate command without any pre-configured scope.

© 2024 Tauri Contributors. CC-BY / MIT