One per line. Paste straight out of a spreadsheet — commas, tabs and semicolons all work, and a header row is skipped. If a destination contains a comma, wrap it in quotes: "https://x.example/?t=a,b",Label
Paste one line per code and download the lot as a ZIP. Every code is generated in your browser, so nothing is uploaded and there is no account to create. Static codes are free and unlimited here, and they never expire.
The awkward part of bulk QR work is not making the codes, it is telling them apart afterwards. Five hundred files called qr(1).png are unusable. This tool names every file from a template you control and downloads a manifest CSV alongside the ZIP, so you (or your print house) can match every image back to what it encodes.
Tagging assets, rooms, units or seats usually means a plain sequence: ASSET-0001 through ASSET-0500. Switch to Number a range, set a prefix and a first and last number, and the whole run is generated without building a spreadsheet first. Give it a destination like https://example.com/asset/{seq} and every code opens its own page; leave it empty and each code simply encodes its own tag, which is what a printed asset label usually is.
The test is whether each code needs a different destination. A restaurant with thirty table tents needs one code printed thirty times. A museum with thirteen exhibits in two languages needs twenty-six codes, each pointing somewhere different.
The codes this page makes are static: the destination is encoded in the image itself. That is why they are free and unlimited, why they work offline, and why they never expire. It also means the destination cannot be changed once printed.
If you need to repoint a code after it is printed, or to count scans per code, you need dynamic codes. Those are free for your first three and paid beyond that, because each one is a redirect we host for as long as the code exists.
Export SVG for anything printed. It is vector, so it stays sharp at any size, and a print house will ask for it. PNG is fine for screens.
Paste your list
One line per code. Add a comma and a name to label each one.
Choose format and filenames
PNG or SVG, and a filename template so the files sort and read correctly.
Download
A ZIP of every code, plus a manifest CSV mapping each file to its content.
Check before printing
Every row shows its real code, what it encodes and its filename, so you can fix a wrong row before it is printed. The contact-sheet PDF proofs the whole set on paper.