Pretty QR Code

Pub Likes on Star on Github License: MIT

A highly customizable Flutter widget that make it easy to rendering QR code.


  • Live Preview
  • Built on qr package.
  • Supports embedding images.
  • Support tween animation
  • Support some options for images

If you want to say thank you, star us on GitHub or like us on


First, follow the package installation instructions and add a PrettyQrView widget to your app:
  data: 'lorem ipsum dolor sit amet',
  decoration: const PrettyQrDecoration(
    image: PrettyQrDecorationImage(
      image: AssetImage('images/flutter.png'),

If you want to pass non-string data or want to specify a QR version, consider using the default PrettyQrView constructor:

late QrImage qrImage;

void initState() {

  final qrCode = QrCode(
  )..addData('lorem ipsum dolor sit amet');

  qrImage = QrImage(qrCode)

Widget build(BuildContext context) {
  return PrettyQrView(
    qrImage: qrImage,
    decoration: const PrettyQrDecoration(),

Note: Do not create QrImage inside build method, or you may otherwise have undesired jank in UI thread.

See the example folder for more code samples of the various possibilities.


Contributions are welcomed!

Here is a curated list of how you can help:

  • Fix typos/grammar mistakes
  • Report parts of the documentation that are unclear
  • Report bugs and scenarios that are difficult to implement


  • Quiet Zone
  • Gradient filling
  • Export as image
  • Error handling API
  • Gaps between modules
  • Background color for QR code
  • Timing Patterns and Alignment Patterns
  • Automatic image scale limitation (embedded mode)


Flutter widgets that make it easy to rendering QR code.