Barcode Studio – All-in-One QR & Barcode Generator & Product Labeler Barcode Studio is a powerful, production-ready mobile application designed for businesses, retailers, logistics managers, and everyday users. Built for lightning-fast performance, it allows you to generate, scan, and manage custom Barcodes seamlessly even completely offline! A polished, production-ready Flutter app for generating QR codes and barcodes with a beautiful, modern UI (gradient theme, light/dark mode, smooth animations).
- Text — plain text of any length
- Link (URL) — auto-prefixes
https://if missing - Wi-Fi — SSID, password, WPA/WEP/Open security, hidden-network flag (scanning it with a phone camera joins the network directly)
- Contact (vCard) — name, organization, phone, email → adds to contacts when scanned
- Email — pre-filled
mailto:with subject & body - Phone — one-tap-to-call
tel:link - SMS — pre-filled text message
- Event — calendar event (title, location, start/end)
- Custom foreground & background colors
- High error-correction level (H) so codes stay scannable even with a logo overlay added later
Supports 9 industry-standard formats via barcode_widget:
Code 128, Code 39, EAN-13, EAN-8, UPC-A, ITF, Codabar, PDF417, Data Matrix —
each with input validation and inline hints/examples so invalid data is
caught before rendering.
- Generate professional price-tag style labels (store name, product name, barcode, price) for EAN-13 (standard retail, auto-generates a valid check-digit number) or Code 128 (custom alphanumeric SKU)
- Save products to a local catalog with opening stock quantity
- Select multiple saved products and generate a printable PDF sheet
(3 labels per row) to print and cut out for shelves — via
printing/pdf
- Save to gallery (via
gal) and Share (viashare_plus) as PNG, for both QR codes and barcodes - Copy raw data to clipboard
- History — every generated code is saved locally (SharedPreferences), can be reopened, re-shared, or deleted individually / cleared in bulk
- Light & dark theme toggle, persisted between launches
- Beautiful gradient hero UI, animated cards, Poppins typography
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
lib/
main.dart Entry point, providers, theming
theme/
app_theme.dart Colors, gradients, ThemeData
theme_provider.dart Light/dark toggle + persistence
models/
qr_data_type.dart QR types + payload builders (WIFI:, VCARD, mailto:, etc.)
barcode_format_model.dart Barcode formats + validation
history_item.dart History entry model (JSON serializable)
history_provider.dart History state + SharedPreferences persistence
widgets/
gradient_button.dart Reusable gradient CTA button
color_picker_row.dart Swatch picker for QR colors
code_preview_card.dart Screenshot boundary + Save/Share/Copy actions
export_utils.dart PNG capture, gallery save, share sheet
screens/
home_screen.dart Hero + navigation cards
qr_generator_screen.dart QR type selector, dynamic form, live preview
barcode_generator_screen.dart Format selector, validation, live preview
history_screen.dart List + detail bottom sheet
This is a pure Dart/Flutter lib/ + pubspec.yaml package. To run it:
-
Create the native scaffolding (android/ios/etc.) if not already present:
flutter create --org com.codecraft --project-name qr_barcode_generator .(Say no if it asks to overwrite
lib/main.dart/pubspec.yaml, or just re-copy this repo'slib/andpubspec.yamlback over afterwards.) -
Install dependencies:
flutter pub get
-
Android — add this permission to
android/app/src/main/AndroidManifest.xml(needed only on Android ≤ 9;galhandles scoped storage on Android 10+ automatically):<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" />
-
iOS — add this key to
ios/Runner/Info.plist(required bygalto save images to Photos):<key>NSPhotoLibraryAddUsageDescription</key> <string>Allow CodeCraft to save generated codes to your photo library.</string>
-
Run the app:
flutter run
A starter icon is included at assets/icon/icon.png (violet-to-teal
gradient with a QR-style mark). To apply it as the real app icon on
Android/iOS:
flutter pub get
dart run flutter_launcher_iconsThis regenerates every mipmap/AppIcon size automatically (config lives
in pubspec.yaml under flutter_launcher_icons:). To use your own
logo instead, just replace assets/icon/icon.png with your artwork
(square, at least 512×512, PNG) and re-run the command above.
lib/screens/about_screen.dart shows the developer card (name, email,
portfolio link) and is reachable from the About card on the home
screen, or by tapping "Made with ❤ by Safia Bibi" at the bottom of the
home screen. Update developerName / developerEmail / portfolioUrl
constants at the top of that file if these details ever change.
All colors, gradients, and fonts live in lib/theme/app_theme.dart —
change AppColors.primary / secondary / heroGradient to re-skin the
whole app in one place.
- QR payload formats (
WIFI:,BEGIN:VCARD,mailto:,sms:,tel:,BEGIN:VEVENT) follow the standard conventions recognized by iOS and Android's built-in camera scanners — no special app needed to scan them. - Barcode validation is intentionally strict (e.g. EAN-13 requires exactly 12–13 digits) to avoid generating a code that looks fine in-app but fails to scan on real hardware.
This project is licensed under the MIT License — see the LICENSE file for details.
Safia Bibi 📧 safia34740@gmail.com 🌐 safiabibiportfolio.site










