Skip to content
QRMakery
Free bulk tool, processed in your browser

Bulk QR Code Generator

Paste rows from Excel or Google Sheets to create up to 500 labelled QR codes. Every code is scan-tested in your browser, then packed as a ZIP or printable PDF.

Up to 500 rowsEvery code read backNothing uploaded

Copy cells directly from a spreadsheet, or drop in a CSV file.

Nothing to read yet. A spreadsheet paste keeps its columns.

Your rows stay on this device
Laptop spreadsheet beside a label printer producing sheets of QR code labels for a bulk batch
From spreadsheet to printed batchKeep row names, printed labels and export files connected from the first paste to the finished sheet.
Spreadsheet to QR codes

How to Make QR Codes From an Excel Spreadsheet

No add-in, no macro, no export. Copying from a spreadsheet keeps the columns intact, so you can paste them directly into the tool.

  1. 1Select the Column in Excel or Google SheetsHighlight the cells holding your links, plus the name column beside them if you have one. Include the header row, the tool reads it.
  2. 2Copy and Paste It Into the Box AboveA spreadsheet copies to the clipboard tab separated, so the columns survive the paste. No export step, no saved file, no add-in.
  3. 3Point the Tool at the Right ColumnsIt guesses which column holds the links and shows you the guess. The second picker names the files, and the third prints a label under each code, which is what turns forty identical squares into forty codes somebody can tell apart.
  4. 4Generate, Then Read the Results TableEvery row is encoded and then read back with a decoder. Rows that pass are marked scan-tested, rows that fail stay in the table with the reason rather than quietly vanishing.
  5. 5Take a ZIP of Files or One PDF SheetSVG or PNG files arrive in a ZIP with a manifest.csv mapping each file to its row, its label and its own minimum print width. The PDF is an A4 sheet with the codes laid out and labelled, ready to print and cut.

Google Sheets and Numbers work the same way. You can also upload a CSV, TSV or TXT file, and quoted fields stay together.

Organized stockroom bins and boxes marked with individual QR code inventory labels

QR Codes With a Label Under Each One

A printed batch looks identical until every code has a useful name. Choose a spreadsheet column and its value is drawn below each symbol.

Labels stay outside the quiet zone and remain scan-tested in every export format.

Asset 1042Table 12Room 3F

A Printable Sheet, or a Folder of Files

Choose ZIP for named SVG or PNG files plus a manifest that maps everything back to the sheet.

Choose PDF for labelled vector codes laid out on A4 pages, ready to print and cut.

ZIP: SVG or PNGPDF: print ready
Printed sheet of labelled QR code cards beside a paper cutter and finished card stacks

Private by design

Encoding, verification and export happen in this browser tab.

There Is No App to Download, and That Is the Point

Your list never leaves the machine, there is no account to create, and the page keeps working with the network disconnected. The offline generator lets you audit that network activity yourself.

Verified before export

Why the Results Table Matters More Than the Row Count

Every row is encoded, rendered and read back with a decoder. A failed row stays visible with the reason and is left out of the download, so it cannot quietly reach the printer.

The summary also shows the safest print width for the widest code in the batch. The manifest records that number per file for label templates and print workflows.

Batch results 3 scan-tested

3

codes passed

0

rows failed

18 mm

safe width

table-01.svgTable 1Passed
table-02.svgTable 2Passed
table-03.svgTable 3Passed

What Is Inside the ZIP

  • Named filesOne safe, unique filename for every row that passed.
  • SVG or PNGPrint-ready vectors or raster files at 512, 1024 or 2048 pixels.
  • manifest.csvRow, label, content, module count and minimum print width.

The Limits, up Front

Clear boundaries make the tool easier to trust and help you pick the right workflow before starting.

500 rows per job
Everything is encoded, decoded and zipped inside your browser tab, so the ceiling is memory rather than a plan. Split a longer list and run it twice.
Text files, not workbooks
CSV, TSV and TXT uploads are read directly. An .xlsx or .ods is a compressed archive rather than text, so it is refused with an explanation instead of being misread. Pasting the cells is the faster path regardless, and it keeps the columns.
Links and plain text only
Wi-Fi, vCard and the other payload types are not built yet, in bulk or singly. A column of URLs or a column of text is what this reads.
One design for the whole batch
Colour and error correction apply to every row. The label is per row, because that is the part that has to differ; colour almost never does.
Labels are one line, up to 32 characters
Longer text shrinks until it stops being readable at sticker size, so it is truncated rather than allowed to overflow. Two lines and custom fonts are not built.
No logos in bulk
The logo pipeline caps coverage per code and is built around one upload at a time. Use the logo tool for the codes that need a mark on them.
Static codes, no tracking
Each code carries its destination, so nothing reports back and nothing expires. Dynamic codes with scan counts are in development.

Printing the batch rather than shipping the files? The menu table tents and wedding place cards pages lay a list out on A4 at an exact millimetre size, with cut marks, which is the step this ZIP leaves you to do yourself.

Need one code with a logo or checked brand colour? Use the logo tool or the branded QR tool.

A common batch here is one review code per branch, because a Google review link identifies a single profile and no code can work out which shop the customer is standing in. Getting a QR code for a Google Business Profile covers where those links come from and which of the six Google addresses prints smallest.

Quick answers

Bulk QR Code Questions

Scan the questions, then open only what you need before generating or printing your batch.

How do I generate QR codes in bulk from Excel?

Copy the column of links out of Excel and paste it into the box on this page. Excel copies tab separated, so your columns arrive intact and the tool reads them straight away. Pick which column to encode, generate, and download the ZIP. There is no add-in to install and no file to export first.

Is this bulk QR code generator free?

Yes, for 500 codes a job, with no account, no credits and no email. The codes are static and generated in your browser, which costs us nothing to serve, so there is nothing to put behind a plan.

Can I upload a CSV or an Excel file instead of pasting?

A CSV, TSV or TXT file, yes: upload it or drag it onto the box. Commas, tabs, semicolons and pipes are all detected, and quoted fields containing commas stay in one piece. An .xlsx workbook is not read directly, because it is a compressed archive rather than text. The tool says so instead of filling the box with nonsense, and pasting the cells takes one keystroke more than uploading anyway.

Can I print a name or label under each QR code?

Yes. Put the text in a column and choose it in the label picker, and it is drawn under each code in the SVG, the PNG and the PDF sheet. The label sits below the quiet zone, so it never touches the part a scanner reads and the code decodes exactly as it would bare.

Can I get all the codes as one PDF instead of separate files?

Yes. Choose the PDF sheet and pick how many codes go across the page. You get A4 pages of labelled codes as vector art, so they print at the press resolution rather than the screen's, ready to guillotine or to feed through a label cutter.

Is there an app or software to download?

No, and you do not need one. This runs in a browser tab, generates everything on your device, and keeps working with the network off, which is the actual reason people look for desktop software. Nothing to install, nothing to update, nothing that stops working when a vendor loses interest.

Does it work with Google Sheets?

Yes, the same way as Excel. Select the cells, copy, and paste into the box: Sheets puts tab separated text on the clipboard, so your columns arrive intact. Downloading the sheet as CSV and uploading that file works too.

How do I control what each file is called?

Put the names in a column next to the links and choose it in the file name picker. Names are made filesystem-safe and de-duplicated, so two rows called Chair become chair and chair-2 rather than one file overwriting the other.

Are the codes checked, or do I find out at the printer?

Every row is decoded back before it is packed. A row whose colours or length defeat the decoder is left out of the ZIP and shown in the results table with the reason. This is the part most batch tools skip, and it is why a print run of 200 labels can fail on a handful of rows nobody looked at.

What size should I print a batch of codes?

Not one size, which is the trap. A batch of mixed-length URLs produces different module counts, so each code has its own minimum width. The results table shows the widest one in the batch, and the manifest gives you the number per file.

Does my list get uploaded anywhere?

No. Parsing, encoding, decoding and zipping all happen in the tab. Nothing is sent to a server, which matters when the list is a product export with customer identifiers in the URLs.

QRMakery generates every code on your own device. Your spreadsheet, the links inside it and the finished archive never reach a server.

Hundreds at once, destinations you can change after printing, and what fits inside a symbol.

All tools

Guides worth reading

All guides
  • Comparisons

    Static vs Dynamic QR Codes

    What the redirect actually buys you, measured on real encoded codes, and which payloads are worse off for it.

    16 min read