Skip to main content
QRelix
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

  1. Open Bulk in the dashboard (/dashboard/bulk), or click Import from CSV on the dashboard.
  2. 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.
  3. 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.
  4. 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.
  5. Click Check rows. QRelix validates every row and lists anything that needs a fix, with the row number and column.
  6. 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.

Create your first trackable QR code in a minute

Free plan, no credit card. Edit the destination any time and watch the scans come in.