Browse documentation
Bulk QR Code Generator: Create QR Codes from a CSV
Updated
The QRelix bulk QR code generator turns a spreadsheet into dynamic QR codes. Upload a CSV with one row per code, match its columns, check every row, and QRelix creates the codes in the background. Every code is trackable and editable after printing, exactly like a code made in the wizard.
Bulk tools are part of the QRelix Team Plan ($19 a month or $190 a year, 3 seats included):
- Bulk creation from CSV. Up to 1,000 rows per file.
- Bulk edits. Change the destination, category, or status of many codes at once.
- Zip downloads. Every selected code as SVG and PNG, plus a manifest CSV.
Create QR codes from a CSV
- Open Bulk in the dashboard (
/dashboard/bulk), or click Import from CSV on the dashboard. - Drop in a CSV file. From Excel, Google Sheets, or Numbers, use File, then Download or Save As, then CSV. Not sure where to start? Click Download the CSV template.
- Match columns. QRelix guesses which column is which from the header names. Check each one, and set any column you do not need to Skip this column.
- Pick the defaults: a type for rows without one, a category, an optional design to copy, and (with a custom domain) the scan link domain.
- Click Check rows. QRelix validates every row and lists anything that needs a fix, with the row number and column.
- Click Create QR codes. You can leave the page while the codes are created; progress shows on the Bulk page.
Rows that fail validation are never created. You can import the ready rows right away, then click Download failed rows to get a CSV of only the failed rows with an error column, fix them, and upload that file.
Row 1 in error messages is the first row under the header, so it is line 2 in your spreadsheet.
CSV columns
Only name is required. Use the column names below or your own; you match them in step 3.
| Column | What it holds |
|---|---|
name |
Required. The code's name in your dashboard. |
type |
URL, WIFI, VCARD, EMAIL, PHONE, SMS, TEXT, MAPS, APP_STORES, or a link type such as INSTAGRAM, TIKTOK, WHATSAPP, VENMO, or GOOGLE_REVIEW. Leave it out and pick one default type instead. |
destination |
The main value for the type: the web address for URL, the handle or link for link types, the email address for EMAIL, the number for PHONE and SMS, the text for TEXT, the place for MAPS, and the network name for WIFI. |
category |
A category name. Categories that do not exist yet are created. |
description |
An optional note for your team. |
wifi_password, encryption, hidden, static |
WiFi details. Encryption is WPA (default), WEP, or none. |
first_name, last_name, phone, email, company, job_title, website, address |
Contact card (VCARD) details. |
subject, body |
EMAIL codes. |
app_store_url, google_play_url |
APP_STORES codes. |
link_type, amount |
Link codes, for example post instead of profile, or a Venmo amount. |
password, expires, max_scans |
One security option per code: a scan password, an expiration date such as 2026-12-31, or a scan limit. |
Web addresses without https:// get it added. File and calendar codes are not available in a CSV; create those in the wizard or with the API.
Copy a design onto every code
Pick an existing code under Design and every new code gets its colors, dot and corner shapes, and logo. This is the fastest way to produce a branded set, such as asset tags or table tents that all match.
Download many QR codes at once
- After an import: click Download images (zip) on the import's progress card.
- From the dashboard: click Select above your QR code list, tick the codes (or Select all for everything your filters show), and click Download.
Choose SVG for print, PNG for screens (512, 1024, or 2048 pixels square), or both. The zip includes manifest.csv with each code's ID, name, type, scan link, destination, and category, which is handy for mail merges and labels. Zips are kept for 7 days; recent downloads are listed on the Bulk page.
Edit many QR codes at once
On the dashboard, click Select, tick the codes, and use the bar at the bottom of the list:
- Destination. Send every selected dynamic URL code to a new address. The printed codes keep working. Other types and round robin codes are skipped.
- Category. Move the codes to a category, or to no category.
- Enable or Disable. Disabled codes stop sending scans to their destination until you enable them again.
Each change is recorded in every code's history and sends the usual qr.updated or qr.status_changed webhook events.
Who can use bulk tools
In a Team workspace, owners, admins, and editors can import and edit. Viewers can download zips. Imports and exports show up in the workspace's activity feed.