Project 4: QR Code Crafter 📱¶
Difficulty: 🟢 Beginner
Run cells top to bottom. Each step builds on the previous one and saves real files under outputs/qr_code_crafter/.
Description¶
Encode URLs, Wi-Fi credentials, or secret messages into scannable QR code images.
Libraries & Modules¶
qrcode— QR generationqrcode.constants— error correction levels
Python Concepts You'll Practice¶
Object-oriented library usage, saving images, constants/enums
🎛️ Parameter Variations¶
DATA— URL, plain text, orWIFI:T:WPA;S:MyNetwork;P:secret;;BOX_SIZE— 5 (small) vs 15 (poster-size)FILL_COLOR/BACK_COLOR— brand colorsERROR_CORRECTION—L,M,Q, orH(more damage tolerance)
In [1]:
# Install dependencies for this project (safe to re-run)
import sys
!{sys.executable} -m pip install pillow numpy matplotlib wordcloud qrcode[pil] python-barcode fpdf2 jinja2 folium plotly pandas scipy ipywidgets -q
Skipping pip install (already installed)
In [2]:
# Interactive Jupyter setup — run this cell first
%matplotlib inline
from pathlib import Path
from IPython.display import display, Image as IPImage, HTML, Markdown, Audio, IFrame
OUTPUT_DIR = Path("outputs") / "qr_code_crafter"
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
print(f"✅ Outputs folder: {OUTPUT_DIR.resolve()}")
✅ Outputs folder: C:\Users\Hansel Yan\Projects\CodeItAll\outputs\qr_code_crafter
Step 1 — Configure and generate¶
In [3]:
import qrcode
from qrcode.constants import ERROR_CORRECT_H, ERROR_CORRECT_M
# 🎛️ TWEAK THESE
DATA = "https://codeitall.dev — Built with Python!"
BOX_SIZE = 10
BORDER = 4
FILL_COLOR = "#1a1a2e"
BACK_COLOR = "#eaeaea"
ERROR_CORRECTION = ERROR_CORRECT_M # try ERROR_CORRECT_H for logos overlay later
qr = qrcode.QRCode(
version=None,
error_correction=ERROR_CORRECTION,
box_size=BOX_SIZE,
border=BORDER,
)
qr.add_data(DATA)
qr.make(fit=True)
img = qr.make_image(fill_color=FILL_COLOR, back_color=BACK_COLOR)
out = OUTPUT_DIR / "qr_code.png"
img.save(out)
print(f"Encoded {len(DATA)} chars → {out}")
display(img)
Encoded 42 chars → outputs\qr_code_crafter\qr_code.png
✅ Project complete¶
Check your output folder: outputs/qr_code_crafter/
Next: Project 5: Word Cloud Weaver · Index