← Back to blog
Guide3 min read

Create bulk QR codes: 100 codes via script, CSV, or AI assistant

Bild von Unsplash

Preparation: Tariff and limits

Creating bulk QR codes means creating many dynamic codes in one go. How many your account can hold is determined by the tariff: 2 in the Free plan, 25 in Start, 150 in Pro, and 1,000 in Agentur. For 100 codes, you therefore need at least Pro. "sameqr whoami" shows you your current limit.

Step 1: Prepare the list

Create a simple text file, one line per code, with name and target separated by a semicolon. Example tische.csv:

Tisch 1;https://example.com/karte?tisch=1
Tisch 2;https://example.com/karte?tisch=2
Tisch 3;https://example.com/karte?tisch=3

Names that describe the location will be easier for you to find later than names that describe the target.

Step 2: Set up the CLI

Install the command line with "npm install -g sameqr", create a key with "read + write" in the dashboard under Account, "Access for CLI, scripts and agents", which is sufficient for creation, and log in with "sameqr login". Get the identifier of the label that all codes should receive with "sameqr labels list".

Step 3: One first, then all

Test with the first line, scan the code with your mobile phone, and then let the loop run over the entire list. The responses end up as JSON in a file, so you keep the identifiers of the new codes:

while IFS=";" read -r name url; do
  sameqr qr create --name "$name" --url "$url" --label <label-id> --json || break
done < tische.csv > neue-codes.json

The "|| break" stops the script at the first error, instead of repeating the same error a hundred times. 120 enquiries per minute are allowed per key, in Pro 1,000 per hour. For 100 codes, this is comfortably sufficient.

Step 4: Get print files

In the dashboard, you download the codes all at once using the batch download, starting from the Start plan. For printing, SVG and PDF are the better choice because they remain sharp at any size. Do a test print and scan some codes with different mobile phones before printing the entire run.

The alternatives

  • CSV import in the dashboard, starting from the Start plan: upload the table, completely without the command line.
  • REST API at /api/v1, when codes are continuously generated in another system, such as for each new product in the shop.
  • An AI assistant with Same-QR as a connector: "Create one code for our menu for tables 1 to 20, table name and number."

Conclusion: why Same-QR

Same-QR makes many codes easy: CSV import, batch download, labels, a CLI with JSON output, and an API, all from a single source. Pro offers space for 150 codes, Agentur for 1,000, and the targets of all codes can be changed at any time without a single code needing to be reprinted.

Get started right away: sign up for free at sameqr.com, two dynamic QR codes are free forever. API, CLI and MCP server are included in every plan, and the documentation is at sameqr.com/entwickler.

Create dynamic QR codes for free
Start with 2 dynamic QR codes that are free forever. No subscription, no credit card.
Start free now →

Frequently asked questions

How many codes can I create at once?

As many as your plan allows: 2 free, 25 in Start, 150 in Pro, 1,000 in Agentur.

Is the CSV import included in the free plan?

No. CSV import and batch download are available starting from the Start plan. You can use the CLI and the API in every plan.

Can I change the targets collectively later?

In the dashboard, yes, without limit. Via API, CLI and assistant, target changes are deliberately slowed down: at most 10 per hour and 30 per day, each with confirmation.

Reserve a spot

Reserve your spot before we go live.

One email as soon as the tool goes live — including pricing and the free plan. No spam, unsubscribe any time.

Only until launchLaunching in the next few weeks
  • Your free account is reserved — there is nothing to pay yet anyway
  • 90 days of unlimited destination changes instead of 30, only for early sign-ups
  • Launch price locked in, even if we raise prices later

By subscribing you consent to receiving the newsletter. You can withdraw consent at any time via the unsubscribe link in every email.

Keep reading