Skip to main content
EZQR

Bulk QR Code

Bulk QR Code Generator — CSV Import for 1,000 Codes at Once

Upload a CSV with name, content_type, content, target_url columns and EZQR generates up to 1,000 unique QR codes in one batch — every SKU, badge, asset, or mailer ready to print in minutes.

Max plan — $20/mo

Bulk CSV import lives in your dashboard

Upload a CSV of up to 1,000 rows and EZQR mints a unique QR per row in one batch. The form lives in your dashboard under Settings → Import, not on this marketing page.

About Bulk QR Codes

Generating 500 unique QR codes one at a time, in the dashboard form, copy-pasting each destination URL, is the kind of task that turns a Tuesday afternoon into a Wednesday morning. Bulk CSV import collapses that into a single upload. You build the spreadsheet your way — exported from your inventory system, your CRM, your mailing-list platform, your ticketing tool — drop it into EZQR, and every row becomes a fully customized, scannable, exportable QR code with its own name, destination, and (optionally) its own short link for tracking.

The shape of the CSV is intentionally tiny: name is the human label you'll see in your dashboard, content_type is what kind of QR (url, text, `wifi`, `vcard`, `email`, `phone`), content is the payload itself, and target_url is optional — present means the code becomes dynamic with a redirect you can repoint later, absent means the code is static and the payload is encoded directly into the pattern. One row per code. Upload, validate, batch-create.

Bulk CSV import is a Max plan ($20/mo) feature, alongside the REST API. The two pair naturally: bulk is what you reach for when the work is one-shot (a product launch, an event, a print run); the API is what you reach for when codes need to be created continuously as new records appear in your system (a SaaS that mints a QR per customer, an ERP that tags every shipment). Static codes generated via bulk survive cancellation — encoded into the pattern, no server needed. Dynamic codes route through EZQR's redirect and stay live for as long as the subscription does.

Walkthrough

How to Create a Bulk QR Code

  1. Build the CSV your way

    Export from Excel, Google Sheets, Airtable, your CRM, or your inventory system. Four columns: name, content_type, content, target_url. The first row is the header; every row after is one QR code. Save as plain .csv (UTF-8) — not .xlsx.

  2. Validate a small test batch first

    Upload 10–20 rows before committing the full 1,000. EZQR validates column mapping and content format and surfaces row-level errors (malformed Wi-Fi password, invalid URL, missing vCard field). Catching format issues on 20 rows is free; catching them on 1,000 after the print order ships is expensive.

  3. Upload the full file from Settings → Import

    Drop the CSV onto the import zone. EZQR processes the batch server-side, creates one code per row, and writes everything to your dashboard. Large files (500–1,000 rows) take 30–90 seconds to process; you'll get a row-by-row success/error report when it completes.

  4. Customize the batch (colors, logo, dot style)

    Apply a brand template to the whole batch at once — colors, embedded logo, dot style, error correction level. Or override per-code in the dashboard if specific items need a different treatment (e.g., one SKU branded for a partner store).

  5. Export individually or as a batch ZIP

    Download codes one-by-one from each detail page, or use the batch export to pull every code as PNG/SVG/PDF in a single ZIP with filenames matching the name column. Send the ZIP straight to your print shop or designer.

Where it works

Bulk QR Code Use Cases

Product packaging where every SKU needs a unique QR linking to its product page, manual, or warranty — one CSV row per SKU, one ZIP of PNGs to the packaging designer.

Event check-in with a unique QR on each attendee badge or ticket — generate the codes from your registration export, print on badges, scan at the door for instant attendee lookup.

Multi-location chains creating store-specific codes (one per branch) so a customer review request, a Wi-Fi network, or a takeout menu routes to the correct location without manual rework per store.

Asset tagging — equipment, furniture, IT inventory, lab samples — one QR per asset linking to its asset record with maintenance history, serial number, and assigned owner.

Direct mail campaigns with personalized QR codes per recipient — each code routes to a landing page parameterized with the recipient's name, customer ID, or campaign offer.

Logistics and shipment labeling — one QR per pallet, container, or shipment, encoding the tracking ID and routing to the consignee portal.

Real estate listings — one QR per property linking to the showing schedule, MLS sheet, or virtual tour, generated weekly from the agent's active listings.

Restaurant chains with per-table QR codes — one row per table number per location, scaling cleanly to franchise rollouts.

Conference and trade show booth networks — generate a unique QR per session, per speaker, or per booth from the program export, no manual data entry.

Asset registers, where every extinguisher, laptop or valve carries a code resolving to its own service record.

Restaurant table numbering, so scan data tells you which tables actually order and which never do.

Multi-site retail campaigns issuing one code per store, tracked separately from a single upload.

What works in practice

Bulk QR Code Best Practices

Start with a 10–20 row test batch before committing the full 1,000. Catch column-mapping, encoding, and content-format errors on a small sample where mistakes are cheap.

Use consistent `content_type` valuesurl, text, wifi, vcard, email, phone, sms. Mixed casing or typos (URL vs url, wifi vs wi-fi) fail validation and skip the row.

Include `target_url` for dynamic codes, leave it blank for static. Static rows encode the payload directly into the pattern and pause rather than delete on lapse; dynamic rows route through EZQR's redirect and need an active subscription. Mix and match in the same CSV.

Name codes descriptively in the name column — Store NYC - 5th Ave, SKU 4471 - Hoodie Black M, Booth 42 - Acme Corp. The dashboard search and the exported ZIP filenames both use this field; vague names cost time forever.

Pair bulk with the [API](/qr-codes/api) for repeated workflows. Bulk is right for one-shot batches (a product launch, an event, a print run). The API is right when codes need to be created continuously as new records appear in your system.

Pre-export to `.csv` (UTF-8), not `.xlsx`. Excel's native format breaks on edge cases; plain CSV is the lingua franca. Use Google Sheets → File → Download → CSV for the cleanest export.

Apply a brand template before batch-creating. Set colors, logo, dot style, and error correction level once and the whole batch inherits — much faster than overriding per code afterwards.

Verify scannability on a sample before committing the print order. Print 5 random codes from the batch at the actual production size and scan-test from typical distances. Cheaper than reprinting 1,000.

Name every row before upload. A dashboard of 1,000 codes called *Untitled* is unusable, and there is no bulk rename.

Run five rows first as a test batch. Scan the output, check the destination, then run the remaining 995.

Export vector for print and keep the CSV. Between them you can regenerate the entire run from scratch.

Test five rows before running a thousand. A naming mistake caught at row five costs nothing.

Export vector and keep the source CSV. Together they let you regenerate the whole run at any size.

Give every row a real name at upload time. There is no bulk rename afterwards.

Bulk QR Code FAQ

Common questions about generating, printing, and deploying these codes.

How many QR codes can I create at once?

Up to 1,000 codes per CSV upload via the dashboard. The API batch endpoint accepts 100 codes per request — chain multiple batches for larger workflows. No per-code fees on any plan; you pay the monthly subscription, codes are unlimited.

What CSV format does EZQR expect?

Four columns in this order: name, content_type, content, target_url (optional). The first row is the header. Each subsequent row creates one QR code. Save as plain CSV (UTF-8). Example: Store NYC,url,https://acme.com/nyc,https://acme.com/r/nyc creates a dynamic code named "Store NYC" that redirects to acme.com/nyc via the EZQR short link.

Which plan includes bulk import?

Bulk CSV import and the API batch endpoint are both on the Max plan ($20/mo). The free, Lite ($5/mo), and Pro ($10/mo) tiers create codes individually in the dashboard form. If you regularly need 50+ codes per batch, the Max plan pays for itself in the first import.

Can I bulk-create dynamic codes?

Yes — include a target_url value in the CSV row and the code is created as dynamic with a repointable redirect. Rows without a target_url create static codes. Your plan's dynamic-code limit still applies; if you're on Max, the dynamic limit is 5,000 active codes, well above any single bulk import.

What happens if a row fails validation?

EZQR processes valid rows and reports failed rows in the import summary with the specific error (invalid URL, missing required vCard field, Wi-Fi password too short, etc.). Failed rows do not consume your dynamic-code limit. Fix the offending rows in your CSV, re-upload the failed subset, and the rest of the batch is untouched.

Will the codes keep working if I cancel my plan?

Static codes (rows without `target_url`) keep working forever — the payload is encoded directly into the pattern, no server needed. Dynamic codes (rows with `target_url`) route through EZQR's redirect and require an active subscription to keep resolving. If your workflow is print-once-keep-forever (asset tags, packaging, business cards), prefer static. If you need to repoint after printing, dynamic.

How many codes can I generate in one upload?

Up to 1,000 rows per CSV on the Max plan. Each row mints its own code with its own destination and its own scan tracking. Split larger sets across uploads. There is no cap on how many batches you run.

What columns does the CSV need?

A destination column at minimum, plus a name column so you can tell the codes apart afterwards. Anything else you add rides along as metadata. Get the naming right on upload, because renaming 1,000 codes by hand afterwards is the mistake everyone makes once.

Can every code in a batch point somewhere different?

Yes, and that is the normal case. Asset tags, table numbers, serial numbers and per-store landing pages all work this way. One row, one destination, one code. Scan data then separates by row, so you learn which asset or table actually gets used.

Are bulk codes dynamic?

Yes. Every code from a bulk import is a dynamic code, so you retarget any of them later without reprinting. That matters at volume more than anywhere else. Reprinting 1,000 asset labels because a URL changed is a genuinely expensive afternoon.

What file format should I export for a print run?

SVG or PDF for a printer, PNG only for screens. Vector files hold their edges at any size, which is what a label press needs. Send a printer a 300 px PNG scaled to a 5 cm label and the modules blur together. Your run is then wasted.

Can I re-download the batch later?

Yes. The batch stays in your dashboard with every code and its destination, so you re-export at a different size or format whenever the print spec changes. Keep the original CSV too. It is the fastest way to regenerate a set that has drifted out of sync.

Related Articles

Related Industries

Related Guides

Related Tools

Ready to create your Bulk QR code?

Free, no watermarks. Generate and download in seconds.

Generate Free QR Code