QR Craft is a modern Android application designed for scanning, generating, and managing QR codes with a smooth, camera-first experience.
It provides a rich set of utilities including real-time QR scanning, code generation, history management, favorites, and image saving — all wrapped in a clean and adaptive UI.
- Live camera preview with real-time QR detection.
- Supports multiple QR types:
- Text
- Links (with clickable highlighting)
- Contact (vCard)
- Phone Number
- Geolocation
- Wi-Fi credentials
- Flashlight toggle for low-light scanning.
- Scan QR codes directly from device images.
- Loading indicators and error handling for smooth UX.
- Displays detected QR code with content type and details.
- Editable titles (up to 32 characters).
- Actions:
- Share via system share sheet.
- Copy content to clipboard.
- Save QR code as PNG to device Downloads.
- Favorite QR codes for quick access.
- Create custom QR codes with different types:
- Text
- Link
- Contact
- Phone Number
- Geolocation
- Wi-Fi
- Preview before saving or sharing.
- Actions:
- Share generated codes.
- Copy content.
- Save QR code image.
- Unified history for both Scanned and Generated codes.
- Separate tabs for easy navigation.
- Editable titles and content preview.
- Sorts favorites on top, followed by recent items.
- Long-press actions:
- Share
- Delete
- Preview screen for quick re-use.
- Mark scanned or generated codes as favorites.
- Favorites are always displayed on top of history lists.
- Favorites sync seamlessly across screens.
- Fully responsive design:
- Optimized for mobile devices (up to 600dp).
- Optimized for wider screens / tablets (600dp and above).
- Consistent fixed-width content blocks for better readability.
- Language: Kotlin
- Frameworks & Libraries:
- Jetpack Compose / Android View System (UI)
- CameraX (QR scanning)
- Google ML Kit / ZXing (QR detection & generation)
- MediaStore API (for saving QR codes in device)
- Koin (Dependency Injection)
- Timber (Logging)
- Room (Local database)
- Architecture: MVVM + Clean modular structure
- Coroutines & Flow for async and reactive updates
QR Craft follows a Clean Architecture + MVVM hybrid pattern.
👉 See the full Project Structure Documentation for details.
- Minimum SDK: 21 (Lollipop)
- Target SDK: Latest stable
- Permissions:
- Camera (for scanning QR codes)
- Storage (optional, handled via MediaStore API for saving)
Contributions are welcome! Please open an issue or submit a pull request for new features, improvements, or bug fixes.
This project is licensed under the MIT License.

