Innovate anywhere, anytime withruncode.io Your cloud-based dev studio.
Python

QRCode Generation in Python

2022-07-19

What Is QRCode? A Quick Response code is a two-dimensional pictographic code used for its fast readability and comparatively large storage capacity. The code consists of black modules arranged in a square pattern on a white background. The information encoded can be made up of any kind of data (e.g., binary, alphanumeric, or Kanji symbols).

QRCode generation in Python: Here are the simple steps to generate QRCode image in python.

First install qrcode module in your system using the following command.

pip install qrcode

Simple code to generate a QRcode image.

import qrcode
img = qrcode.make('Some data here')

This above snippet will return a 'PIL image' object, you can save that image where ever you can with what ever name you want.

img.save('/path/imagename.extension')

Some advanced code to generate QRCode image:

import qrcode
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
qr.add_data('Some data')
qr.make(fit=True)

img = qr.make_image()
img.save('/path/imagename.extension')

In the above code

The version parameter is an integer from 1 to 40 that controls the size of the QR Code (the smallest, version 1, is a 21x21 matrix). Set to None and use the fit parameter when making the code to determine this automatically.

The error_correction parameter controls the error correction used for the QR Code.

The following four constants are made available on the qrcode package:

ERROR_CORRECT_LAbout 7% or less errors can be corrected.ERROR_CORRECT_M (default)About 15% or less errors can be corrected.ERROR_CORRECT_QAbout 25% or less errors can be corrected.ERROR_CORRECT_H.About 30% or less errors can be corrected.

The box_size parameter controls how many pixels each "box" of the QR code is.

The border parameter controls how many boxes thick the border should be (the default is 4, which is the minimum according to the specs).