Generate QR codes in large batches with parallel processing.
- Batch generation — process thousands of QR codes in parallel
- Multiple input formats — CSV, JSON, Excel, or Python lists
- Multiple output formats — PNG, SVG, PDF, EPS
- Flexible export — individual files, ZIP archives, or PDF label sheets
- Styling — custom colors, logo overlays, preset themes
- CLI & API — use from the command line or as a Python library
- Fault-tolerant — per-item error handling, failed items don't kill the batch
pip install batchqrWith optional dependencies:
pip install batchqr[pdf] # PDF sheet export
pip install batchqr[excel] # Excel input support
pip install batchqr[all] # Everythingimport batchqr
# Single QR code
batchqr.make("https://example.com").save("qr.png")
# Batch generation
results = batchqr.batch([
"https://example.com/1",
"https://example.com/2",
"https://example.com/3",
]).save_all("./qrcodes/")import batchqr
batchqr.batch.from_csv("data.csv").save_zip("qrcodes.zip")# Generate from inline data
batchqr make "https://example.com" -o qr.png
# Batch from CSV
batchqr batch data.csv --output ./qrcodes/
# Legacy CLI still works
qrbatch generate --input data.csv --output ./qrcodes/ --format pngfrom batchqr import QRConfig
config = QRConfig(
error_correction="H", # L, M, Q, H
box_size=10,
border=4,
fg_color="#000000",
bg_color="#ffffff",
image_format="png",
)import batchqr
# Use a preset theme
qr = batchqr.make("https://example.com").theme("corporate-blue").save("styled.png")
# Or customize directly
qr = batchqr.make("https://example.com").color("#1a1a2e", "#ffffff").style("rounded").save("custom.png")See CONTRIBUTING.md for development setup and guidelines.
MIT LICENSE