QR コード(Quick Response Code)はスマートフォンのカメラで簡単に読み取れる2次元バーコードです。情報を素早く伝達できるため、様々な場面で利用されています。本記事では、Python を使って QR コードを作成する方法を解説します。
Python を使用する利点は簡単に実装でき、カスタマイズの自由度が高いことです。また、多くのライブラリが利用可能で、開発効率が良いのも特徴です。
必要なライブラリ
Python で QR コードを作成するために今回はqrcode
ライブラリを使用します。
以下のコマンドでインストールできます。
pip install qrcode[pil]
[pil]
を指定することで、画像処理に必要な Pillow ライブラリも同時にインストールされます。
基本的なQRコードの作成
まずは、シンプルなテキスト QR コードを生成し、画像として保存する方法を見てみましょう。
import qrcode
# QRコードに埋め込むURL
url = "https://www.taklog.info/"
# QRコードの生成
qr = qrcode.QRCode(version=1, box_size=10, border=5)
qr.add_data(url)
qr.make(fit=True)
# QRコードの画像を作成
img = qr.make_image(fill_color="black", back_color="white")
# 画像の保存
img.save("basic_qr.png")
このコードを実行すると「basic_qr.png」という名前の QR コード画像が生成されます。

QR コードの色の変更
QR コードの色をカスタマイズすることで、より目を引くデザインにすることができます。以下のコードでは、QR コードの色を変更する方法を示しています。
import qrcode
url = "https://www.taklog.info/"
qr = qrcode.QRCode(version=1, box_size=10, border=5)
qr.add_data(url)
qr.make(fit=True)
# フィルカラーと背景色を変更
img = qr.make_image(fill_color="blue", back_color="yellow")
img.save("colored_qr.png")
このコードでは、QR コードの色を青、背景色を黄色に設定しています。
カラー QR コードを生成する場合、コントラストが十分であることを確認してください。
読み取り精度に影響する可能性があります。

QRコードのモジュール形状の変更
qrcode
ライブラリを使用すると、QR コードのモジュール(QR コードを構成する小さな四角形)の形状を変更することができます。以下のコードでは、モジュールの形状を円形に変更しています。
import qrcode
from qrcode.image.styledpil import StyledPilImage
from qrcode.image.styles.moduledrawers import RoundedModuleDrawer
url = "https://www.taklog.info/"
qr = qrcode.QRCode(version=1, box_size=10, border=5)
qr.add_data(url)
qr.make(fit=True)
# モジュールの形状を円形に変更
img = qr.make_image(
image_factory=StyledPilImage, module_drawer=RoundedModuleDrawer()
)
img.save("rounded_qr.png")
このコードを実行するとモジュールが丸みを帯びた QR コードが生成されます。

エラー訂正レベルの変更
QR コードには4つのエラー訂正レベル(L, M, Q, H)があります。エラー訂正レベルを高くすると、QR コードが一部損傷しても読み取りが可能になりますが、データ容量は減少します。以下のコードでは、エラー訂正レベルを設定する方法を示しています。
import qrcode
url = "https://www.taklog.info/"
# エラー訂正レベルをHに設定
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H,
box_size=10,
border=5,
)
qr.add_data(url)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save("high_error_correction_qr.png")
このコードではエラー訂正レベルを最高レベルの「H」に設定しています。

Google Colaboratory
本記事に掲載しているコードは Google Colaboratory で動作を確認しています。
下記リンクからアクセスして、ご自身の Google ドライブにコピーしていただければ、すぐに実行できます。
動作を確認した時の Python、ライブラリのバージョンは以下でした。
- Python 3.10.12
- qrcode 7.4.2
- Pillow 9.4.0
おわりに
今回はqrcode
ライブラリを使用した QR コードの作成方法をご紹介しました。
Python を使用して QR コードを生成することで簡単にカスタマイズが可能で、様々な情報を埋め込むことができます。本記事で紹介した基本的な方法を応用することで、ビジネスカードやイベント告知など、多様な用途に活用できるでしょう。
QR コードは、印刷物やデジタル媒体で幅広く使用されています。Python を使用して QR コードを自動生成することで、大量の QR コードを効率的に作成したり、動的なコンテンツに対応した QR コードを生成したりすることも可能です。
さらに学習を深めたい方は、qrcode
ライブラリの公式ドキュメントを参照することをおすすめします。QR コードの世界は奥が深く、まだまだ探求の余地があります。ぜひ、自分だけのユニークな QR コードを作成してみてください!
以上です。
コメント