Make many QR codes from a CSV file

A CSV import creates distinct codes from rows of data. Prepare the rows together, check the preview and review the results before printing. For copies of one existing code, use a print sheet.

Start with the current template

Open Bulk create in your own account and download its CSV template. Keep the exact column headings. Save UTF-8 CSV, rather than an Excel workbook. Here is a small example using fictional names and reserved example addresses:

mode,type,name,destination,fields_json
editable,link,Sample website,https://example.com,
fixed,url,Sample fixed code,https://example.com,

mode is fixed or editable. type chooses the supported kind; name identifies the row; destination supplies its website link. fields_json holds a JSON object for other supported fields. Keep the CSV's quoting rules when that object contains commas or quotes.

A fixed row puts its content directly in the printed pattern. An editable row creates a saved code whose printed pattern holds its stable ovbq link. Supported kinds depend on your account and the kind's availability. Files, galleries and forms keep their dedicated editors; this importer does not upload their files or import form answers.

Check the records and your allowance

The current import limit is 100 data records and 1,048,576 bytes per file. These are import limits, separate from your plan's editable-code allowance. Each editable row uses one code from that allowance. Check pricing and the limits shown in your account.

Upload the file to check it, then review the preview. Checking does not create codes. Error record numbers refer to the source CSV: the header is record 1, and a quoted multiline field stays one record. Correct errors in your file and check it again. Use only information you have permission to use; keep unrelated contact lists, form answers and private notes out of the upload.

Create once, then read the result

Use the preview's explicit creation action after checking every row. The saved batch is created together; a failed commit does not leave a partly created batch. Current feature and account limits are checked again when you confirm. Repeated source rows intentionally create separate codes.

If a response is lost, reopen the same batch's status before retrying. Confirming that same completed batch returns its existing result. Uploading the file again creates a different batch, and does not update or deduplicate codes from the first upload. Check the expiry shown with the preview and results.

Review the result's original record numbers, names and links. Completed results can be downloaded as CSV or a ZIP of PNG or SVG images. Deleting or expiring the batch removes its retained results, not the durable editable codes it created. Downloaded copies stay with whoever saved them.

Test before the print run

A valid CSV does not prove that its destinations are right. Check the created links and fixed content, then scan a printed sample at the size you intend to use.

Related: Print many copies · Change an editable code's link · Printing QR codes.

Prepare the rows before the print run

Open bulk createSee plans and limits

More guides