Home
TR

Settings

A reference for scanning, validation, voice, sync, and language settings.

QCR Scanner’s behavior is shaped by a handful of setting groups: how the camera captures, which values are accepted, how voice input works, where scanned data is synced, and which language the interface uses. This page explains what each setting does in brief and links to the relevant feature page, so you can quickly find where an option lives and what happens when you change it. Most settings are stored on your device and persist across restarts.

Scanning settings

These settings control how the camera captures text and QR codes from your target. For the full scanning flow, see Scanning.

Setting What it does
Capture mode Switches between two options. Snap (default on): pressing the button grabs the latest frame from the warm 1080p camera stream and runs OCR + QR in memory — no shutter, no JPEG encoding, no disk write, with instant results. Quality: takes a full-resolution capture and decodes natively on-device for the highest accuracy on small or dense text (serial numbers, digit strings). Toggle with the lightning (⚡) / HD button on the left rail in a single tap; the preference is stored on the device.
Live preview Runs live OCR a few times per second from the camera stream and shows the validated value in green above the viewfinder in real time. Makes aiming easier. See Live preview.
Viewfinder size The width and height sliders on the central rectangle let you tighten or widen the target region. Only the area inside this rectangle is scanned.
Camera controls Torch, focus lock, a zoom bar, and tap-to-focus. Used to adjust lighting and sharpness at the moment of scanning.

Tip: Snap mode is the fastest for everyday lists. Switch to Quality mode only if you get errors on tiny printed serial numbers or tightly packed digits.

Validation and separators

This group governs which values enter the list, which are rejected, and how values are grouped.

Setting What it does
Validation rules Regex-based accept/reject rules. You can define several rules; a rule name is at most 12 characters. Only values that pass every active rule are added. ReDoS protection rejects overly long patterns or inputs. See Validation rules.
Separator rules Mark values such as dates or headings as separators. Separators create collapsible sections in the list, so records stay organized in groups. See Separators.
Smart Extract Splits noisy OCR text into tokens on whitespace, then uses a largest-to-smallest sliding window to automatically pull out the parts that pass validation while preventing overlapping matches. Handy for extracting the valid value from a messy line in one pass. See Smart Extract.

Note: If a value isn’t being added, it has almost always been caught by an active validation rule. Temporarily disable a rule and try again to find out which one is blocking it.

Voice input settings

Voice input works in one of three modes. It uses the device microphone and manages audio through a native MethodChannel (muting and unmuting the beep as needed). For the full walkthrough, see Voice input.

Setting What it does
Voice input mode voice (push-to-talk): listens for a single utterance and adds it. continuous: listens without stopping and splits values automatically based on the number of digits spoken. verify: reads the OCR result aloud to confirm it, giving green or red haptic feedback depending on the match.
Digit count In continuous mode, sets how many digits/characters complete a value. Used when reading fixed-length codes in a series.
Pause In continuous mode, sets the silence duration to wait before closing one value and moving to the next.

AI and sync settings

These settings enable generating rules from natural language and sending scanned values to an endpoint. Both are entirely optional; the app works without them unless you fill them in.

Setting What it does
AI API key Gemini 2.0 Flash is used to generate regex from natural language. You enter your own key (from Google AI Studio), and the key is stored on the device. A request is sent only when you choose to generate a rule, and only the prompt you type is transmitted — no image is sent. See AI rule generator.
Webhook URL The endpoint address scanned values are sent to. If left empty, sync is off and everything stays on the device.
Webhook header An optional Authorization header, set here if your endpoint expects authentication. The Test connection button sends a small ping body to verify it. For full details, body examples, and retry behavior, see Webhook sync.

Webhook delivery can be per-item (auto-sync) or in bulk (Send all). When there’s no connection, records are queued to the offline outbox and sent automatically once the link returns.

Warning: Your AI API key and webhook header are sensitive and kept on your device. Keep that in mind if you share the device. Remember that the key is only used when you generate a rule.

Language setting

The interface is offered in 22 languages (ARB-based). QCR Scanner picks one automatically based on your device language on first launch; you can change it from the language picker at any time. Your chosen language is stored on the device. For the list of supported languages and detection behavior, see Languages.

Where settings are stored

Most settings (capture mode, validation and separator rules, voice input preferences, AI key, webhook configuration, language) are kept locally on your device. Lists and scanned records live in a local SQLite database; OCR and QR recognition run entirely on-device with Google ML Kit and use no network for those functions. Data leaves the device only when you explicitly configure it — webhook sync or AI rule generation. For more on what is stored and what stays local, see Privacy.

QCR Scanner is made by ReviseTouch.

Next steps

  • Scanning — capture modes, the viewfinder, and camera controls.
  • Validation rules — define which values get accepted.
  • Voice input — the three voice input modes and their settings.
  • Webhook sync — send values to your own endpoint.