BY KITMORO · UPDATED OCTOBER 7, 2026

Bulk QR codes from
Excel or Google Sheets.

Export your spreadsheet as CSV, upload it to the bulk generator, and download a ZIP. Each row becomes one QR code. KitMoro handles up to 100 static codes in a batch; direct .xlsx upload is not supported.

1. Make a two-column table

Use name and url as the first-row headers. Give every row a clear label and a complete public URL beginning with https:// or http://.

name,url
Spring menu,https://example.com/menu
Product guide,https://example.com/guide
Event details,https://example.com/event

Download the example CSV ↓

In your spreadsheet application, export or download the sheet as a comma-separated CSV file. A UTF-8 CSV is a good choice for names with accented characters. For a name containing a comma, let the spreadsheet export quote that field instead of editing the CSV manually.

2. Generate your batch

  1. Open the bulk QR code generator.
  2. Choose Upload CSV, or paste the CSV into the text area.
  3. Choose Static for a free batch of up to 100 directly encoded links. Choose Dynamic only if you need future destination changes; the beta workspace has a total allowance of 20 links.
  4. Select Generate QR codes. Review the named previews before downloading.

Static mode processes the input on your device. In dynamic mode, the names and destinations you submit are saved in your private workspace.

3. Check the ZIP before printing

The ZIP contains one PNG and one SVG per row, plus links.csv mapping the names to their encoded URLs and filenames. Files use a numeric prefix so repeated names do not overwrite one another.

FileUse it for
PNGA 768 × 768 pixel image for quick sharing or placing into a document.
SVGScalable artwork in a design or print workflow.
links.csvChecking which QR image belongs to each original link.

Scan several exported images on your phone and check the target page. Keep the white border around each code. Test the code again at the actual print size and on the material you intend to use.

Common problems

“Enter a complete URL”
Add the URL scheme, such as https://. Bare domain names and private/local addresses are not accepted.
The file has only a header
Add one destination per row below name,url. Blank rows are skipped.
The batch is too large
Split static lists into batches of 100 or fewer. Dynamic workspaces are limited to 20 total links during beta.
I uploaded .xlsx
Export it as CSV first. The current uploader does not read native Excel workbooks.
I need to edit a destination later
Create a dynamic code before printing. A static image cannot later be converted into an editable KitMoro link.

Verification note: the published sample was generated through QR Studio’s browser interface. Its downloaded ZIP was decoded during release testing, and all three PNGs matched their exact sample destinations. This is a software-output check, not a guarantee for every printer, size or phone.

Related: how to change a dynamic destination · current beta limits and planned Pro.

YOUR PRIVATE WORKSPACE

A home for your
dynamic links.

Create up to 20 editable QR codes during beta. No email is required. This browser stays signed in for 30 days.

You’ll receive a private recovery key. Save it to restore access on another device. Without it, we cannot recover your workspace.

Creating a workspace means you agree to our terms and understand our privacy notice.

SAVE THIS ONCE

Your recovery key.

Anyone with this key can edit your links. Keep it somewhere private. It won’t be shown again.

Welcome back.

Paste the 64-character recovery key you saved when creating your workspace.

SAME CODE, NEW DESTINATION

Edit your link.

Pausing displays an unavailable message instead of redirecting. Your QR image stays unchanged.

PLANNED PRO · $19 / MONTH

Tell us what you need.

Pro is not available to purchase yet. This is an expression of interest, not a subscription or a reservation.

Delete workspace?

This permanently deletes your dynamic links, statistics, saved interest and access keys. Printed dynamic codes will stop working. Static QR codes are unaffected.