Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Create QR codes merged with images.

Project Description

Create QR codes merged with images.


pip install prettyqr

You will need Python and pip.

Example usage

Take a background image:

And a URL or some other text:

Combine them:

prettyqr --qr-opacity 150 --outfile img/dna-qr.png img/dna-orig.png

Command-line options

usage: prettyqr [-h] [--border BORDER] [--out-file OUT_FILE]
                [--qr-opacity QR_OPACITY] [--qr-red QR_RED]
                [--qr-green QR_GREEN] [--qr-blue QR_BLUE]
                DATA IMAGE-FILE

Make pretty QR codes.

positional arguments:
  DATA                  Data to encode (e.g., "").
  IMAGE-FILE            Image file to composite (e.g., "lena.jpg").

optional arguments:
  -h, --help            show this help message and exit
  --border BORDER       Size of border (in multiples of QR module size).
                        Defaults to 4. Can be zero if the QR code is intended
                        for printing or use on a light background.
  --out-file OUT_FILE   Path to write composite image file to. Extension will
                        determine the output format. Defaults to
  --qr-opacity QR_OPACITY
                        Opacity of the QR code modules, between 0 (invisible)
                        and 255 (opaque). Default is 200.
  --qr-red QR_RED       Red element of the QR module color, between 0 and 255.
                        Default is 0.
  --qr-green QR_GREEN   Green element of the QR module color, between 0 and
                        255. Default is 0.
  --qr-blue QR_BLUE     Blue element of the QR module color, between 0 and
                        255. Default is 0.


prettyqr is a fairly raw proof-of-concept, and currently has an assortment of limitations:

  • Only supports square images.
  • Only supports square QR modules.
  • Doesn’t support complex color changes in the source image.

It will work best with sources where the focus of the image is not central, and doesn’t handle black backgrounds very well.

All of these issues are fairly tractable; patches are welcome.

Release History

This version
History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(4.1 kB) Copy SHA256 Hash SHA256
Source Jul 24, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting