Free bulk QR code generator

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

Make a whole set of QR codes at once

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.

Numbering a range, with no spreadsheet

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.

When you need a set, not one code

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.

  • One per exhibit, stop or room, often multiplied by each language you provide
  • One per product, SKU or production batch
  • One per asset, so a scan opens that machine's manual or service log
  • One per property listing, stall or unit
  • One per campaign variant, so you can tell which flyer actually worked

Static or dynamic?

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.

  1. 1

    Paste your list

    One line per code. Add a comma and a name to label each one.

  2. 2

    Choose format and filenames

    PNG or SVG, and a filename template so the files sort and read correctly.

  3. 3

    Download

    A ZIP of every code, plus a manifest CSV mapping each file to its content.

  4. 4

    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.

Up to 500 per batch. There is no limit on how many batches you run, and no account is needed: static codes are free and unlimited. Editable dynamic codes are capped at 200 per batch, because each one is a redirect we host.