simple_qr_gen 1.0.1 copy "simple_qr_gen: ^1.0.1" to clipboard
simple_qr_gen: ^1.0.1 copied to clipboard

A Flutter package for generating customizable QR codes with advanced styling options (colors, logos, shapes) and cross-platform share functionality.

Simple QR Gen #

A Flutter package for generating customizable QR codes with advanced styling options and cross-platform share functionality.

pub package License: MIT

Features #

  • ✨ Generate QR codes from any text or URL
  • 🎨 Customizable colors (foreground & background)
  • 🔷 Multiple shape styles (square, rounded, dots, circle)
  • 🖼️ Embed logos in the center
  • 📱 Cross-platform share support via native share dialog
  • 🔧 High error correction for logo embedding
  • ⚡ Fast and lightweight

Installation #

Add to your pubspec.yaml:

dependencies:
  simple_qr_gen: ^1.0.0

Then run:

flutter pub get

Platform Setup #

No special permissions required! The package uses the native share dialog which handles permissions automatically.

Usage #

Basic QR Code #

import 'package:simple_qr_gen/simple_qr_gen.dart';

// Display a simple QR code
SimpleQrGen(
  data: 'https://flutter.dev',
  size: 250,
)

Styled QR Code #

SimpleQrGen(
  data: 'https://example.com',
  size: 250,
  style: QrStyle(
    foregroundColor: Colors.indigo,
    backgroundColor: Colors.white,
    shape: QrShape.rounded,
  ),
)
SimpleQrGen(
  data: 'https://example.com',
  size: 250,
  style: QrStyle(
    foregroundColor: Colors.black,
    backgroundColor: Colors.white,
    shape: QrShape.dots,
    logo: AssetImage('assets/logo.png'),
    logoSize: 50,
    logoPadding: 8,
  ),
)

Share QR Code #

// Share via native share dialog
final result = await QrSharer.share(
  data: 'https://example.com',
  size: 1024,
  style: QrStyle(
    foregroundColor: Colors.indigo,
    backgroundColor: Colors.white,
    shape: QrShape.rounded,
  ),
  fileName: 'my_qr_code',
  shareText: 'Check out this QR code!',
);

if (!result.success) {
  print('Error: ${result.errorMessage}');
}

Get Raw Image Bytes #

// Get image bytes for custom handling
final bytes = await QrSharer.getImageBytes(
  data: 'https://example.com',
  size: 512,
  style: QrStyle(shape: QrShape.circle),
);

// Use bytes for uploading, custom processing, etc.

API Reference #

SimpleQrGen Widget #

Parameter Type Default Description
data String required The text/URL to encode
size double 200 Widget size in logical pixels
style QrStyle QrStyle() Styling configuration
padding EdgeInsets EdgeInsets.zero Padding around QR code
semanticsLabel String? null Accessibility label

QrStyle #

Parameter Type Default Description
foregroundColor Color Colors.black QR modules color
backgroundColor Color Colors.white Background color
shape QrShape QrShape.square Module shape style
logo ImageProvider? null Logo image
logoSize double 50 Logo size in pixels
logoPadding double 8 Padding around logo
errorCorrectionLevel int QrErrorCorrectLevel.H Error correction (L/M/Q/H)
gapless bool true Render modules edge-to-edge

QrShape #

Value Description
QrShape.square Standard square modules
QrShape.rounded Rounded corner squares
QrShape.dots Small circular dots
QrShape.circle Full circular modules

QrSharer #

Method Description
share() Share QR code via native share dialog
getImageBytes() Get raw PNG bytes

Example App #

Check out the example directory for a complete demo app with:

  • Live QR preview
  • Color pickers
  • Shape selector
  • Download functionality

License #

MIT License - see LICENSE for details.

Contributing #

Contributions are welcome! Please feel free to submit a Pull Request.

3
likes
150
points
112
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package for generating customizable QR codes with advanced styling options (colors, logos, shapes) and cross-platform share functionality.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, path_provider, qr, share_plus

More

Packages that depend on simple_qr_gen