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]"
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)
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.
- 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.
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.