QR codes from Google Sheets: export the sheet, import the file, print the labels
Print a sheet of QR code labels from a Google Sheets list without formulas in the cells, starting from a spreadsheet template.
You keep a list in Google Sheets, such as asset numbers or links to asset pages, one per row, and every row needs its own QR code. A formula with a QR image puts a picture into each cell, but you cannot print a sheet of labels with captions from it.
Keep two columns in the spreadsheet, download it as CSV or XLSX and import the file into the generator, which lays out a PDF for the printer. Batch generation takes up to 1,500 rows at once. To start with the right columns, download the spreadsheet template (XLSX).
Why a formula in the cell is not a print sheet
A formula such as =IMAGE(...) with a link to an external image service puts a raster picture into the cell. The picture is tied to the cell and stretches when you change the row height. Every time the spreadsheet recalculates, the picture comes from the external service again.
When you print from Google Sheets, the print dialog scales the page. The codes on the printout do not form a grid of labels, and there are no captions or cut marks. Keep the two jobs apart: the spreadsheet keeps the data, and the generator makes the sheet of labels, laid out for A4 or US Letter.
Two columns: the link and the caption
Put the links in column A and the captions in column B, one row per code. In the first row, name the columns Link and Caption. The generator skips a first row with these headers, and also with URL, Title or Label. A link can start without https://, and the generator adds it, so example.com/asset/0042 works too.
The spreadsheet template has this layout: one worksheet named "QR codes", the header row Link and Caption, and three sample rows, such as https://example.com/asset/0001 with the caption Laptop 0001. Both columns are formatted as text. Replace the samples with your rows and keep the header row.
Column A can also have asset numbers or other IDs instead of links. When you import the spreadsheet file, type https://example.com/asset/{col1} into the "Link template" field of the panel that opens, and the generator builds the link from each ID. Here {col1} is column A. That column then does not need to be set to "Link", and column B still goes to "Caption".
If you type asset numbers such as 0042 into your own spreadsheet, set the column to "Plain text" first, or Google Sheets loses the leading zeros.
Download the spreadsheet as CSV or XLSX
In Google Sheets, open "File" → "Download" and pick "Comma Separated Values (.csv)" or "Microsoft Excel (.xlsx)". A CSV download has only the worksheet that is open. An XLSX download has the whole workbook, and the generator reads only its first worksheet.
Import, assign the columns, check the report
On the "Links" tab, click "Pick a file" and choose the downloaded CSV or XLSX. With two columns or more, the generator opens a column panel with the first 10 rows and a dropdown for each of the first 5 columns. Set the column with links to "Link", the column with captions to "Caption" and any other column to "Do not use". A cell with a formula is imported as its value, so links that a formula builds in the spreadsheet work too.
The "What you get" list shows the lines the generator will make, each link with its caption. Read a few of them and click "Import".
Rows with errors go into a report under the "Pick a file" button, with the row number from the spreadsheet, the reason and the value. A row fails when a cell is empty, a link has a wrong format or a caption is longer than 100 characters. Fix those rows in Google Sheets and import a fresh download.
The report does not flag duplicates, so two identical rows give two identical codes. The generator also does not open the links to check that the pages exist.
Sheet, size and the file to print
In "Step 2 · Look and size", pick your paper in "Sheet:" and set the code size, for example 2 cm (about 0.8 in). With captions, you get 35 labels on an A4 sheet at this size and 30 on a Letter sheet. Turn on "Cut marks" in "Fine tuning" if you plan to cut the sheet into stickers. For other code sizes and margins, see the counts on the page where you print a grid of QR codes on your paper.
Click "Download PDF" to get the whole print run in one file. For a list of about 100 rows, print a pilot sheet first, as in the article on the steps for printing 100 QR codes, which also covers the print settings. If you need each code as its own image, click "Download PNG" to get a file for every code.
If the rows are company assets, see the article on QR code labels for inventory for captions with asset numbers and labels for new assets. The knowledge base has more on turning lists into sheets of codes.
FAQ
Can I make a QR code with a formula in Google Sheets?
Yes, as a picture in a cell, one per row. For a sheet of labels with captions and cut marks, import a CSV or XLSX download into the generator instead.
CSV or XLSX: which one should I download?
Either one, if the list is on the first worksheet. For a list on another worksheet, open that worksheet and download CSV. The size limits also differ: an XLSX file can be up to 2 MB, and a CSV file can be up to 256 KB.
Why did my asset numbers lose the leading zeros?
Google Sheets stored 0042 as the number 42. The import takes the cell value, so the code gets 42 too. Select the column, choose "Format" → "Number" → "Plain text" and type the numbers again, or type an apostrophe before each number. What you see in the cell is what goes into the code.
Does the generator connect to Google Sheets?
No. The generator reads only the file you pick, and we delete it once it is processed. When the list changes, import a new download.
What if the spreadsheet has more than 1,500 rows?
Split it into parts of up to 1,500 rows and import them one after another. You get one PDF per part.
How do I turn an ID column into links?
In the column panel, put {col1} into "Link template" where the ID goes, for example https://example.com/asset/{col1}. A file with one column opens no panel, and the IDs go straight into the list. Then click "Add UTM or put values into a template" on the "Links" tab and type https://example.com/asset/{value} into the "Link template:" field that opens. Each line of the list replaces {value}.
Next step
Put your rows into the spreadsheet template, keep the header row and import the file. Before you click "Import", check that every link in "What you get" has its own caption next to it.
Import your CSV or XLSX file and get a PDF of labels with captions.
Build your sheet of QR codes
Paste a list of links or upload a file: we lay codes out on A4 sheets with captions and return PDF, SVG or PNG.
Open the generator