MIT licensed by ALeX Kazik
Maintained by [email protected]
This version can be pinned in stack with:qrcode-core-0.9.4@sha256:afb4e9ca9fb379cedb9a4bdb5ea0bec86a6316ea5e703767d9b7e333e4bb8a05,2544


QR code library in pure Haskell


Basic functionality to create a QRCode.

All modes are supported:

  • Numeric (digits only)
  • Alphanumeric (digits, letters and some other chars)
  • Binary / Text (ISO 8859-1 and UTF-8)
  • Kanji

There are function to create those specifically and an auto-detect.

The module Codec.QRCode has functions which creates an image out of the input.

The module Codec.QRCode.Intermediate has functions to create segments of a QRCode, join them together and finally create the image.

The core of the resulting image is an Vector of Bools, each element describing a module (“pixel”) where False is white and True is black.


Project Nayuki for, which is the foundation of this package.


Changelog for qrcode-core

0.9.4 – 2020-07-19

  • Support for dlist-1.0

0.9.3 – 2020-04-27

  • Adapt to base-4.13

0.9.2 – 2019-12-19

  • Fix toMatrix

0.9.1 – 2019-05-23

  • Support for primitive 0.7

0.9.0 – 2019-02-16

  • Changed UTF-8 encoding: encoding a code point outside the unicode range will now fail the encoding, previously a replacement character was inserted
  • Removed a, internal only, partial function
  • Encoding empty data will result in an empty segment
  • Encoding an empty segment fails
  • Added functions to create an (non empty) segment without data
  • Remove StrictData

0.8.0 – 2019-01-09

  • Initial release