要するに?
この記事は、ローカル環境でQRコードを作りたい人向けの記事、および備忘録になります。
・pyファイルを叩いたらQRコードを作成する環境をWindows11上で作った。
・イラスト付きのQRコードも作った。
・ローカルでQRコードを作るの楽しい!
QRコードを自分で作れるといいなー!と昔から思ってたのでちょっと調べてみました。
Wi-Fi設定用QRコードを作る時、SSIDやパスワードを外部サイトに送るというのは抵抗があります。
プライバシーやセキュリティの面から見てもローカル環境でQRコードが気軽に作れるのは魅力的です。
(それならそもそもQRコード以外の選択肢を….という気もしないではないですが。)
なので外部のサイトを使わなくても、Windows11上で作れるならやってみるか!
イラスト入りQRコードを作って名刺に印刷すると、きっとテンションあがりますね。
作業環境
・Windows11
・Python 3.14.5
準備
①Pythonが手持ちのWindows11のPCにインストールされていないので、下記URLから最新の「Windows installer (64-bit)」をダウンロードします。
https://www.python.org/downloads/windows/

ダウンロードが完了したら、インストーラーを実行し、「Add Python to PATH」というチェックボックスが出たらチェックを入れて、インストールを完了させてください。※チェックを入れていないとコマンドが認識されない。

②インストールが完了したら、Windowsの「スタート」ボタンを右クリックしてターミナル(コマンドプロンプト)の画面を出します。
下記のコマンドでバージョンが確認できたら準備完了。
py -V

③QRコードを出力するためのライブラリを入れます。
さきほど出したターミナルの画面に下記コマンドを入力し、Enterキーを押してライブラリを入れます。
pip install qrcode[pil]
作業
まずテストついでにwebのURL情報が入ったQRコードを出力するスクリプトを作ります。
①webリンク用のQRコードを出力するPythonスクリプトの作成
メモ帳でもテキストエディタでもいいので、以下のコードをコピーして、作業用フォルダの中にqr_url.pyという名前で保存します。
ファイル→名前を付けて保存→ファイルの種類:すべてのファイル→エンコード:UTF-8を選択→ファイル名「qr_url.py」で保存。
※エンコード:UTF-8で保存しないと正常に動きません。
import qrcode
# 1. QRコードにしたい内容を入力
data = "https://www.google.com"
# 2. QRコードの設定
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L, # 誤り訂正レベル
box_size=10, # 1マスのサイズ
border=4, # 枠の太さ
)
qr.add_data(data)
qr.make(fit=True)
# 3. 画像の生成と保存
img = qr.make_image(fill_color="black", back_color="white")
img.save("qr_url.png")
print("QRコードを生成しました!ファイルを確認してください。")
qr_url.pyをダウブルクリックすると、一瞬黒い画面が出てすぐ消えます。その後、同じフォルダ内に「qr_url.png」が出力されます。
画像を表示してQRコードを読み込み、googleのサイトが表示されたら成功です。
data = “https://www.google.com”のところを好きなURLに書き換えると好きなサイトへのQRコードが作れます。

②wifiのAP設定用QRコードを出力するPythonスクリプトの作成
先ほど同様の手順で下記のコードを「qr_wifi.py」という名前で保存します。
※ssid = “mofumofu”、password = “mofumofu”の部分を変更して、自分のwifiにアクセスできるようにしてください。
必要があればsecurity = “WPA”も変更してください。
import qrcode
# --- 設定エリア ---
ssid = "mofumofu"
password = "mofumofu"
security = "WPA" # 普通はそのままでOK
# ----------------
# Wi-Fi接続用の専用フォーマットを作成
wifi_data = f"WIFI:S:{ssid};T:{security};P:{password};;"
# QRコードを生成(少し複雑なデータなので、誤り訂正レベルを上げると安心です)
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H, # 高い誤り訂正
box_size=10,
border=4,
)
qr.add_data(wifi_data)
qr.make(fit=True)
# 画像を保存
img = qr.make_image(fill_color="black", back_color="white")
img.save("qr_wifi.png")
print(f"SSID: {ssid} のWi-Fi用QRコードを作成しました!")
qr_wifi.pyをダウブルクリックすると、同じフォルダ内に「qr_wifi.png」が出力されます。
画像を表示してQRコードを読み込み、wifiのAPに接続できたら成功です。
③QRコードへのイラスト埋め込み
せっかくなら、上記で作成したQRコードにイラストを入れ込みたい!
例えば自分のトレードマークとかアバターのイラストとか入ってるQRコードなんてテンションあがりますよね。
ということで、まずは入れたいイラスト(icon.png)を同じフォルダに配置します。
※イラストの比率は1:1にします。
下記のコードを例として①のコードに差し込んでいきます。
# 1.Imageモジュールの呼び出し
from PIL import Image
# 2.誤り訂正を「H」にする必要があります。ERROR_CORRECT_LからHへ変更
# 3. ロゴ画像を開く
logo = Image.open("icon.png") # 同じフォルダに icon.png を置いてください
# 4. QRコードをカラー(RGB)モードに変換
img = img.convert("RGB")
# 5. ロゴのサイズ計算(QRコードの20%〜25%程度)
qr_width, qr_height = img.size
logo_size = qr_width // 4
logo = logo.resize((logo_size, logo_size), Image.Resampling.LANCZOS)
# 6. 中央に貼り付け
pos = ((qr_width - logo_size) // 2, (qr_height - logo_size) // 2)
img.paste(logo, pos)
差し込み後のコードは下記の通りになっていると思います。
import qrcode
from PIL import Image # 1.Imageモジュールの呼び出し
data = "https://www.google.com"
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_H, # 2.誤り訂正を「H」にする必要があります。(ERROR_CORRECT_LからHへ変更)これにより誤りを訂正する機能が向上し、イラストが入っていてもコードをちゃんと読めるようになります。
box_size=10, # 1マスのサイズ
border=4, # 枠の太さ
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
logo = Image.open("icon.png") # 同じフォルダに icon.png を置いてください # 3. ロゴ画像を開く
img = img.convert("RGB") # 4. QRコードをカラー(RGB)モードに変換
# 5. ロゴのサイズ計算(QRコードの20%〜25%程度)
qr_width, qr_height = img.size
logo_size = qr_width // 4
logo = logo.resize((logo_size, logo_size), Image.Resampling.LANCZOS)
# 6. 中央に貼り付け
pos = ((qr_width - logo_size) // 2, (qr_height - logo_size) // 2)
img.paste(logo, pos)
img.save("qr_url.png")
print("QRコードを生成しました!ファイルを確認してください。")
出力後のqr_url.pngの中心にイラストが追加されてたら完成です!

私のYoutubeロゴを入れました!
読み込むとYoutubeのチャンネルに飛ぶので見てね!✨
イラストを挿入した状態のQRコードが読み込めない場合は、version=1より大きい値、5などにするか、version=None(自動で大きくなる)に変更してみてください。
感想
QRコードを作成するサイトやツールは探せば出てきます。
しかしQRコードに埋め込む内容によっては、ローカル環境で作業をしたいこともあります。
設定によっては、エクセルにまとめた情報を一括でQRコード化することもできるようです。
仕事で重宝すること間違いなしですね。(複数の情報のQRコード化…ぅ、頭が)
自分でイラスト付きのQRコードを好きに作れるようになったので、新しい名刺には追加したいですね!
これをきっかけにPythonでできることを探してみるのも良いかもしれません。
是非、自分専用のQRコードを作って活用してください。
