Batch · No-upload

Bulk QR Code Generator

Paste a list of URLs or text — one per line — and generate a QR code for each. Everything is drawn locally on canvas; nothing is uploaded to a server, and no account is required.

Items (one per line)

Up to 100 items per batch — this keeps rendering fast and the tab responsive.

How it works

Each QR code is generated locally using canvas-based QR encoding — the same technique any QR generator uses, just running entirely on your device instead of a server. You can confirm nothing is uploaded by checking your browser's Network tab while a batch runs.

Limits

Up to 100 items per batch. Rendering a QR code is fast per-item, but a browser tab doing hundreds of canvas draws plus building a ZIP can start to feel sluggish — 100 keeps this comfortably fast on ordinary hardware.

Choosing an error correction level

Higher error correction lets a QR code still scan correctly even if part of it is damaged, dirty, or partially obscured — at the cost of a denser, more complex-looking code. For QR codes printed small or displayed on a screen, M (the default) is a reasonable balance. For codes printed on physical materials that might get scuffed, stickered over, or exposed to weather, use Q or H.

FAQ

Do the generated QR codes expire or stop working?

No. These are static QR codes — the data is encoded directly into the pattern itself, not looked up from a server. They'll scan correctly indefinitely, for as long as the destination URL itself still works. (This is different from "dynamic" QR codes some services offer, which redirect through their own server and can be edited after printing — this tool doesn't do that.)

What's the difference between a URL and plain text input?

None, technically — a QR code just encodes whatever string you give it. Enter a URL to get a scannable link, or plain text (a WiFi password, a short note) to get a QR code that displays that text directly when scanned.

Why did one of my items produce a much denser QR code than the others?

QR code density scales with how much data is encoded — a long URL with tracking parameters produces a visibly denser code than a short one. If you control the destination, a shorter URL (or a redirect/shortener) produces a cleaner, easier-to-scan code.