QrCraft logo

QrCraft app

QR Craft - Scan & Generate

github.com/ahmmedrejowan/QrCraft

stars6forks2releasev1.0.0licenseGPL-3.0

About

QRCraft Logo

Professional QR Code & Barcode Scanner + Generator

A modern, feature-rich Android app for scanning and generating QR codes and barcodes with 26 professional templates.


Features

  • Fast Scanning - Real-time QR code and barcode detection with 13+ format support
  • 26 Professional Templates - Generate codes for text, URLs, contacts, WiFi, events, payments, and more
  • Advanced Customization - Custom colors, sizes, margins, and error correction levels
  • Smart Detection - Automatic content recognition (URLs, emails, phone numbers, WiFi)
  • History & Favorites - Track all scans and generations with timestamps
  • Gallery Import - Scan QR codes from existing images
  • Export & Share - Save to gallery or share results
  • Material 3 Design - Modern UI with dark mode and dynamic colors
  • 100% Offline - Complete privacy, no internet required

Download

You can download the latest APK from here

Check out the releases section for more details.


Screenshots

Shots Shots Shots
Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 3 Screenshot 4

Architecture

QRCraft follows Clean Architecture principles with MVVM pattern:

text
app/
├── data/                      # Data layer
│   ├── local/
│   │   ├── database/         # Room database
│   │   └── preferences/      # DataStore preferences
│   ├── mappers/              # Entity ↔ Domain mapping
│   └── repository/           # Repository implementations
│
├── domain/                    # Domain layer (business logic)
│   ├── models/               # Domain models
│   └── repository/           # Repository interfaces
│
├── presentation/              # Presentation layer (UI)
│   ├── scanner/              # Scanner feature
│   ├── generator/            # Generator feature
│   ├── history/              # History feature
│   ├── settings/             # Settings feature
│   └── navigation/           # Navigation
│
└── utils/                     # Utilities
    ├── generator/            # Code generation utilities
    └── scanner/              # Code scanning utilities

Tech Stack

  • UI Framework: Jetpack Compose (100% Compose UI)
  • Language: Kotlin (100%)
  • Architecture: MVVM + Clean Architecture
  • Dependency Injection: Koin
  • Database: Room (with proper migrations)
  • Async: Kotlin Coroutines + Flow
  • Navigation: Jetpack Navigation Compose
  • Camera: CameraX
  • ML Kit: Google ML Kit Barcode Scanning
  • Barcode Generation: ZXing (Zebra Crossing)
  • Image Loading: Coil
  • Logging: Timber
  • Data Storage: DataStore (Preferences)

Requirements

  • Minimum SDK: API 24 (Android 7.0 Nougat)
  • Target SDK: API 36 (Android 15)
  • Compile SDK: API 36
  • Gradle: 8.13
  • AGP: 8.7.3
  • Kotlin: 2.1.0
  • Java: 17

Permissions

  • CAMERA - Required for QR code and barcode scanning

Note: This app is 100% offline and does not require internet permission.


Build & Run

To build and run the project, follow these steps:

  1. Clone the repository:
    bash
    git clone https://github.com/ahmmedrejowan/QRCraft.git
  2. Open the project in Android Studio.
  3. Sync the project with Gradle files.
  4. Connect your Android device or start an emulator.
  5. Click on the "Run" button in Android Studio to build and run the app.

Testing

bash
# Run unit tests
./gradlew test

# Run instrumented tests
./gradlew connectedAndroidTest

Note: Test coverage is currently being developed and will be added in future releases.


Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Development Guidelines

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Follow the existing code style and architecture
  4. Add tests for new features (when test infrastructure is ready)
  5. Commit your changes (git commit -m 'Add some AmazingFeature')
  6. Push to the branch (git push origin feature/AmazingFeature)
  7. Open a Pull Request

Code Style

  • Follow Kotlin coding conventions
  • Use meaningful variable and function names
  • Add KDoc comments for public APIs
  • Keep functions small and focused
  • Follow Clean Architecture principles

License

text
Copyright (C) 2025 K M Rejowan Ahmmed

This program is free software: you can redistribute it and/or 
modify it under the terms of the GNU General Public License as 
published by the Free Software Foundation, either version 3 
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
GNU General Public License for more details.

You should have received a copy of the GNU General Public
License along with this program. If not,
see <https://www.gnu.org/licenses/>.

[!WARNING] This is a copyleft license. QRCraft is licensed under GPL v3.0, which means:

  • ✅ You can freely use, modify, and distribute this software
  • ⚠️ Any derivative works must also be licensed under GPL v3.0
  • ⚠️ You must disclose your source code if you distribute modified versions
  • ⚠️ You cannot distribute proprietary/closed-source versions of this software

If you need different licensing terms, please contact the author.


Author

K M Rejowan Ahmmed


Acknowledgments


Changelog

v1.0.0 (2025-01-13) - Initial Release

  • Real-time QR code and barcode scanning
  • 26 professional code generation templates
  • Multiple barcode format support
  • Scan and generation history
  • Favorites management
  • Material 3 design with dark mode
  • 100% offline functionality

  • Kotlin

Changelog

  1. 1.0.0

    latest
    • 100% Offline
    • 26 Professional Templates
    • Multi-format Support
    • and 3 more
    Full notes for 1.0.0

    QRCraft v1.0.0 - Initial Release

    A modern, privacy-focused QR code scanner and generator for Android.

    Features
    • 100% Offline - No internet access, no data collection
    • 26 Professional Templates - Contact, WiFi, Payment, Social Media & more
    • Multi-format Support - QR codes, barcodes, Data Matrix, PDF417, Aztec
    • Smart Scanner - Auto-detects URLs, emails, phone numbers, WiFi credentials
    • Full Customization - Colors, size, error correction levels
    • Modern UI - Jetpack Compose with Material 3 design
    1.0.0 on GitHub ↗
see the releases on GitHub ↗

More apps

all apps →
main*Kotlinapps:12 work:3 libraries:5 products:1
© 2026 K M Rejowan AhmmedprivacyAvailable for work