How to make bulk QR codes from Google Sheets
Google Sheets is where a lot of product lists, ticket lists, and asset registers already live. You do not need an add-on, Apps Script, or a paid QR service to turn one of those sheets into a batch of printable codes. The reliable route is to prepare one row per code, export the sheet as CSV, then upload the file here and map the payload column.
- 1
Give every row one payload
Add a column that contains exactly what the QR code should say: a full URL, an SKU, a ticket ID, or a WiFi string. Keep one value per row. For product pages, build the full URL in a helper column with a formula such as ="https://example.com/p/"&B2, then copy it down. Google Sheets exports the calculated value, not the formula.
- 2
Add a filename column
The generator names each image from your data. A second column with a safe, unique value such as the SKU or ticket number makes the ZIP easy to match back to the sheet. Avoid slashes and characters your operating system rejects.
- 3
Export the working tab as CSV
Use File, then Download, then Comma-separated values. Export the tab you are working on rather than the whole workbook. Google Sheets writes UTF-8, so accented characters and non-Latin text survive. If a column contains leading zeros, format it as plain text first so the values are not shortened.
- 4
Upload, map, and generate
Drop the CSV into the tool above, choose the payload column and the filename column, set the image size, and generate. Every row becomes one QR code. The ZIP also contains a manifest, so each file can be traced back to its row.
One caution: Download CSV exports the values currently displayed. That is what you want when formulas build the payload, but check that filters or hidden rows have not removed records before you generate the batch.
This workflow handles a few hundred codes in a minute or two, without a script or an API quota. Once the CSV leaves Google Sheets, parsing and rendering happen in your browser, so the sheet itself is never uploaded.