PassQR Documentation
Introduction
PassQR is a fast, privacy-friendly QR scanner designed for the modern Android experience. It doesn't just scan codes; it bridges the gap between physical codes and the digital web instantly.
With PassQR, you can quickly scan any QR code and either open the URL in a secure webview or navigate directly to the associated app if one is detected.
Features
- Fast QR Detection — Uses optimized scanning logic for instant feedback with high accuracy
- Web Mode — Opens detected URLs in a built-in secure webview
- App Mode — Navigates directly to external apps via detected links
- Privacy First — No data tracking, completely local processing
- Dark Mode — System-wide dark and light theme support
- Multi-Language — Supports English and Indonesian
Installation
Download the latest APK from the GitHub releases page:
Build from Source
# Clone the repository git clone https://github.com/Curzyori/pass-qr.git cd pass-qr # Build the APK ./gradlew assembleDebug
Tech Stack
- Platform: Android
- Language: Kotlin & Java
- UI Framework: Jetpack Compose with Material Design 3
- Scanning Engine: Shouzhong/Scanner + ZXing Core
- Architecture: Single-Activity, Compose Navigation
- License: Apache 2.0
How It Works
PassQR uses the device camera to detect and decode QR codes in real-time. Once a code is detected, it analyzes the content to determine the appropriate action:
- URL codes — Opens in the built-in secure webview (Web Mode)
- App links — Navigates directly to the associated app (App Mode)
- Other codes — Displays the raw content for you to handle
Troubleshooting
Camera is not working
Make sure PassQR has camera permission. You can check this in Settings > Apps > PassQR > Permissions.
QR code is not detected
Ensure good lighting and hold the device steady. Clean the camera lens if needed. Some QR codes may be damaged or too small to scan.
Web page is not loading
Check your internet connection. Some websites may block webview access. You can use the "Open in Browser" option instead.
License
This project is released under the Apache License 2.0. See the LICENSE file for full text.