Bulk QR code generator from CSV

Turn a spreadsheet into a ZIP of print-ready codes. Free, with your logo, and everything stays in your browser.

  • Never expires
  • No sign-up, no watermark
  • Vector PDF & SVG with your logo
  • Runs in your browser

Each row is a

Download a sample file Columns: url, filename

Up to 2000 rows per file. The first row holds the column names; a plain list of links also works.

Files for each code

Your data and logo stay on this device. Nothing is uploaded.

Colors and shape

Ready-made styles

Color presets

Pattern

Corners

Gradient

Logo

A logo hides part of the code, so error correction is raised and the size is limited to what the code can safely repair.

Error correction

A phone can still read a code that is partly damaged: scratched, dirty or covered by a logo. This level sets how much damage it can recover from. A higher level gives more reserve, but the code gets denser, with smaller squares, and holds less data.

Most people should leave Automatic: it picks M, or H with a logo, and lowers the level if the data does not fit. Choose Q or H for codes outdoors or on packaging that can get damaged, and L or M for long text or very small print. With a logo the level is never below Q.

Try to break it

The code is printed. Now pick what happens next.

Dynamic code

Camera → their server → your page

Opens your page

Everything works while the service runs and the plan is active.

Direct code, made here

Camera → your page

Opens your page

The phone reads your link straight from the printed squares.

Dynamic code

Camera → their server → your page

May stop working

It depends on the provider’s terms. Some pause the redirect until you pay again.

Direct code, made here

Camera → your page

Opens your page

There is no plan behind this code, so nothing can lapse.

Dynamic code

Camera → their server → your page

Stops working

Every printed code points at a server that is gone.

Direct code, made here

Camera → your page

Opens your page

Even if this website disappears too. The code never needed it.

Dynamic code

Camera → their server → your page

Fails until you redirect it

You can send the printed code to a new address, if your plan is active.

Direct code, made here

Camera → your page

Fails too

The honest limit: a link only works while its page exists. Keep the address alive or print a new code.

Which one do you need?

Direct codeDynamic code
Cost over the yearsFreeUsually a subscription
If the QR company closesKeeps workingStops working
Who sees your scansNobodyThe provider
Address people see before openingYoursUsually the provider’s
Wi-Fi and contact details without internetYesUsually no
Change the destination after printingOnly through your own domainYes
Scan statistics for each codeNoYes
Best forMenus, plaques, packaging, business cards, Wi-FiAd campaigns you measure, links that change often

How it works

Export your sheet as CSV, drop it above and pick the files you need. Each row becomes its own code, named after your filename column. Links, plain text, Wi-Fi networks and vCards are supported, and the same colors and logo apply to all of them.

Nothing goes missing silently

Broken rows are never dropped quietly. A row with a bad link, a stray quotation mark, too many columns or too much data appears in a list with its line number and the reason, and the list goes into the ZIP as well. Every code is read back by a decoder before it is added to the archive.

Tips for large runs

Put the file name in a filename column, keep links short so the codes stay easy to scan, and print one sample of the batch to test with a phone. A file can hold up to 2,000 rows; split longer lists into several files.

Questions

What should my CSV look like?

The first row names the columns, for example url,filename. Download the sample file for the type you need. A plain list of links with no header also works.

Why not one big PDF with many codes?

Each code becomes its own file today, which suits most print shops and layout tools. You can place the SVG or PDF files into any layout program.

Will this QR code ever expire?

No. There is nothing that can expire: the code contains your data itself and works without any server. It keeps working as long as it can be scanned and, for a link, as long as that website exists.

Is it really free? Are there limits on scans?

Yes, it is free with no account. Scans are unlimited because nobody counts them: a scan happens entirely between the code and the phone. The site is paid for by advertising.

Do you see my data or logo?

No. The code is created in your browser and nothing is uploaded. You can load the page, go offline, and it keeps working.

Will it scan on every phone?

Every code is read back by a decoder in your browser before download, and you get a warning if that fails. That is a software check, so scan one printed copy with your own phone before a large print run.