PackageTrack
Sign in Get early access

qr

A QR code generation library for Dart. Supports QR code version 1 through 40, error correction and redundancy.

4.0.0 2.9M downloads/mo #216 most downloaded on pub.dev kevmoo/qr.dart

What this package is like to depend on

Last release 3 months ago

16 May 2026

Release timing varies

gaps range from 2 weeks to 2.3 years

Nearly every release is documented

notes for 15 of 15 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

17 releases · first in 2018

1 release in the last 12 months

see the full history below

Release timeline

17 releases · Mar 2018 to May 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 17
  1. 4.0.0 16 May 2026
    Release notes
    • Breaking Change: Removed QrBitBuffer from public exports to tighten the API surface.
    • Breaking Change: QrErrorCorrectLevel is now an enum (low, medium, quartile, high) instead of a class with integer constants (L, M, Q, H).
    • Breaking Change: QrCode and QrImage constructors and properties now use the QrErrorCorrectLevel enum instead of integers.
    • Breaking Change: Removed dataCache getter from QrCode.
    • Breaking Change: QrCode is now immutable. Removed addData, addByteData, addNumeric, addAlphaNumeric, and addECI from QrCode.
    • Breaking Change: Consolidated QrCode constructors into a single public factory constructor taking QrPayload, errorCorrectLevel, and an optional minTypeNumber. Removed QrCode.fromData, QrCode.fromUint8List, and QrCode.fromPayload.
    • Breaking Change: Replaced Uint8List and ByteData in public API signatures with TypedData.
    • Breaking Change: Marked all public classes (QrCode, QrImage, QrPayload, QrValidationResult, InputTooLongException) as final class to enforce structural immutability and prevent external subtyping.
    • Added QrPayload class as a standalone accumulator for multi-part data and encoding modes (Numeric, Alphanumeric, Byte, ECI). Includes constructors fromString, fromTypedData, and methods addString, addTypedData, addNumeric, addAlphaNumeric, addECI.
    • Added Extended Channel Interpretation (ECI) support via QrPayload.addECI and the QrEciValue extension type.
    • Added QrValidationResult.fromPayload factory constructor to validate QR code payloads and predict valid configurations.
    • Added QrValidationResult class returned by validation constructor.
    • QrPayload.fromString and QrPayload.addString now intelligently pick the right mode.
    • Throws InputTooLongException for data that exceeds QR code version 40 capacity, preventing the generation of invalid QR codes.
    • Performance improvements for QR code generation.
      • QrImage generation is ~50% faster.
      • LargeQrCode generation is ~40% faster.
    • Require sdk: ^3.11.0.
    Open source →
    Release notes
    • Breaking Change: Removed QrBitBuffer from public exports to tighten the API surface.
    • Breaking Change: QrErrorCorrectLevel is now an enum (low, medium, quartile, high) instead of a class with integer constants (L, M, Q, H).
    • Breaking Change: QrCode and QrImage constructors and properties now use the QrErrorCorrectLevel enum instead of integers.
    • Breaking Change: Removed dataCache getter from QrCode.
    • Breaking Change: QrCode is now immutable. Removed addData, addByteData, addNumeric, addAlphaNumeric, and addECI from QrCode.
    • Breaking Change: Consolidated QrCode constructors into a single public factory constructor taking QrPayload, errorCorrectLevel, and an optional minTypeNumber. Removed QrCode.fromData, QrCode.fromUint8List, and QrCode.fromPayload.
    • Breaking Change: Replaced Uint8List and ByteData in public API signatures with TypedData.
    • Breaking Change: Marked all public classes (QrCode, QrImage, QrPayload, QrValidationResult, InputTooLongException) as final class to enforce structural immutability and prevent external subtyping.
    • Added QrPayload class as a standalone accumulator for multi-part data and encoding modes (Numeric, Alphanumeric, Byte, ECI). Includes constructors fromString, fromTypedData, and methods addString, addTypedData, addNumeric, addAlphaNumeric, addECI.
    • Added Extended Channel Interpretation (ECI) support via QrPayload.addECI and the QrEciValue extension type.
    • Added QrValidationResult.fromPayload factory constructor to validate QR code payloads and predict valid configurations.
    • Added QrValidationResult class returned by validation constructor.
    • QrPayload.fromString and QrPayload.addString now intelligently pick the right mode.
    • Throws InputTooLongException for data that exceeds QR code version 40 capacity, preventing the generation of invalid QR codes.
    • Performance improvements for QR code generation.
      • QrImage generation is ~50% faster.
      • LargeQrCode generation is ~40% faster.
    • Require sdk: ^3.11.0.
    Open source →
  2. 3.0.2 16 Jul 2024
    Release notes
    • Require package web: ^1.0.0.
    • Require Dart 3.4 or greater.
    Open source →
    Release notes
    • Require package web: ^1.0.0.
    • Require Dart 3.4 or greater.
    Open source →
  3. 3.0.1 12 Apr 2022
    Release notes
    • Fix example in README.md.
    • Require Dart 2.16 or greater.
    Open source →
  4. 3.0.0 13 Nov 2021
    Release notes
    • QrImage added to handle image bits.
    • QrCode.make() removed
    • QrCode.isDark() moved to QrImage
    • Added alpha numeric mode support via addAlphaNumeric
    Open source →
  5. 2.1.0 23 Jun 2021
    Release notes
    • Added numeric mode support via addNumeric
    Open source →
  6. 2.0.0 23 Feb 2021
    Release notes
    • Expose Mask Pattern as a parameter of QrCode.make()
    • Migrated to null safety.
    • Require Dart SDK >=2.12.0 <3.0.0.
    Open source →
  7. 2.0.0-nullsafety.1 29 Nov 2020 pre-release

    Nothing published for this version

  8. 2.0.0-nullsafety 12 Nov 2020 pre-release

    Nothing published for this version

  9. 1.3.0 16 Jun 2020
    Release notes
    • Added QrCode.addByteData.
    • Added QrCode.fromUint8List.
    Open source →
  10. 1.2.0 09 Jul 2019
    Release notes
    • Expose InputTooLongException exception so that applications and libraries can check for data length errors.
    Open source →
  11. 1.1.1 16 May 2019
    Release notes
    • Require Dart SDK >=2.1.0 <3.0.0.
    • Fix a bug that fromData doesn't add supplied data.
    Open source →
  12. 1.1.0 03 May 2019
    Release notes
    • Add fromData QrCode factory that allows QrCode initiation without providing typeNumber.
    Open source →
  13. 1.0.1 08 Aug 2018
    Release notes
    • Support Dart 2 stable.
    Open source →
  14. 1.0.0 11 Apr 2018
    Release notes
    • Require at least Dart SDK 2.0.0-dev.17.
    • Fixed a subtle bug with number handling.
    Open source →
  15. 0.1.0 03 Mar 2018
    Release notes
    • Initial release.
    Open source →
  16. 0.1.0+1 03 Mar 2018
    Release notes
    • Fix author email.
    Open source →
  17. 0.1.0+2 04 Mar 2018
    Release notes
    • Update README to include basic documentation
    • Update pubspec.yaml description
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive