GitHub - sa77/python-qrcode: Python QR Code image generator

Generate QR codes.

A standard install uses pypng to generate PNG files and can also render QR codes directly to the console. A standard install is just:

pip install qrcode

For more image functionality, install qrcode with the pil dependency so that pillow is installed and can be used for generating images:

pip install "qrcode[pil]"

What is a QR Code?

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)

Usage

From the command line, use the installed qr script:

qr "Some text" > test.png

Or in Python, use the make shortcut function:

import qrcode
img = qrcode.make('Some data here')
type(img)  # qrcode.image.pil.PilImage
img.save("some_file.png")

For more info check Advanced Usage.

Features

  • Generate QR Code as either PNG, SVG or SVG Fragment.
  • Convert the SVG image into strings using the to_string() method.
  • Style image, by customizing colors, shapes and embedding images.

Examples

Get the text content from print_ascii:

import io
import qrcode
qr = qrcode.QRCode()
qr.add_data("Some text")
f = io.StringIO()
qr.print_ascii(out=f)
f.seek(0)
print(f.read())

The add_data method will append data to the current QR object. To add new data by replacing previous content in the same object, first use clear method:

import qrcode
qr = qrcode.QRCode()
qr.add_data('Some data')
img = qr.make_image()
qr.clear()
qr.add_data('New data')
other_img = qr.make_image()

Pipe ascii output to text file in command line:

qr --ascii "Some data" > "test.txt"
cat test.txt

Alternative to piping output to file to avoid PowerShell issues:

# qr "Some data" > test.png
qr --output=test.png "Some data"

More examples in Advanced Usage.