Skip to content
Bulk Tool

Bulk Coupon QR Generator

Generate many unique coupon QR codes at once from offer and code rows — printable coupon cards, plus a ZIP of PNG files for the whole batch.

1. Paste your rows

One row per line: offer | code | expiry, using the | separator. Offer and code are required; expiry is optional. Duplicate codes are reported and skipped.

Result

Generate to see a preview grid and download a ZIP.

Coupon Batches That Staff Can Actually Redeem

A coupon QR code carries the offer and a unique code in one scannable package. The customer shows it, the staff member scans it, and the code tells them exactly what to honour — no handwriting to decipher, no photocopied voucher of uncertain origin. The value of the batch stands or falls on uniqueness: if every coupon carries the same code, the offer cannot be tracked, limited, or retired, and one share online turns a local promotion into an unlimited one. Bulk generation takes a table of offers and codes and produces a set where every code is distinct, with duplicates flagged before anything is printed.

Designing codes that behave

Keep codes short, readable, and self-describing: WELCOME20 beats a random string because staff can read it back to a customer and spot a fake. Include the expiry in the payload and on the printed card, in plain words, so there is no argument at the till. Decide the redemption rule before printing — one use per code, one per customer, or unlimited within the window — and make sure the till process matches it. A unique code that nobody records at redemption is unique in name only. If you need strict one-time redemption, the printed code must be checked against a list at the point of sale, whether that is a spreadsheet or a till system.

Fraud, sharing, and honest limits

Any coupon that can be photographed can be shared, and any code that is not validated can be copied. The practical defences are boring but effective: unique codes, a stated expiry, a per-code redemption record, and terms printed on the coupon. For high-value offers, add a second check — a name, an order number, or a membership ID — so a screenshot alone is not enough. For low-value offers, accept a little leakage as the cost of doing business and set the discount accordingly. What you should never do is print an unlimited-use code for a generous offer and hope it stays local. The internet is very good at finding generous offers.

Before you print the batch

  • Scan a sample coupon and confirm the offer, code, and expiry read correctly.
  • Brief staff on the redemption rule and what to do with an already-used code.
  • Keep the source list with the job file so redemptions can be checked.
  • Print the coupon sheet and check that codes, offers, and cut lines align.
  • Split lists over 500 rows into multiple batches and label each ZIP.

Coupons are promises. A batch of unique, scannable, clearly-expiring codes keeps those promises cheap to honour and hard to abuse.

Frequently Asked Questions

What format do the rows need?

One row per line: offer | code | expiry, using the vertical bar as the separator. Offer and code are required; expiry is optional. Duplicate codes are reported and skipped so every coupon stays unique.

What does a coupon QR code contain?

The offer text, the unique code, and the expiry when provided, as plain text. Scanning shows staff exactly what to honour without needing any special app.

How do I stop coupons being copied and reused?

Use unique codes, record each redemption, state the expiry and terms on the coupon, and for high-value offers require a second check such as a name or order number. A code nobody validates at the till can always be reused.

Can I print the coupons as a sheet?

Yes. Generate the batch, then use the Print coupon sheet button to print the preview cards. Check alignment and readability on the printed sheet before the full run.