Unique GS1 QR codes per item. Recall a serial range in seconds.

Mint thousands of unique GS1 Digital Link URLs from a single product, download a printer-ready CSV for your factory line, and watch per-unit scans roll in worldwide. When a quality issue affects a sub-range, recall those serials with one form — the rest keep selling.

Row of identical amber glass bottles each with a unique GS1 Digital Link QR code label

How brands use Production Batches

Each row maps to a real workflow on the Production Batches page in the dashboard.

Mint unique serials in seconds

Pick the product, set quantity (e.g. 15,000), prefix (e.g. MJ), padding, hit Generate. The platform stores the run as a range — 50,000 units is one database row, not 50,000.

Download a printer-ready CSV

One click streams every URL with columns gtin, batch, serial, digital_link. Drop into Domino QuickDesign, Markem-Imaje CoLOS, Videojet CLARiSUITE, ZebraDesigner.

Range recall without re-printing

From-serial 4,000 to 6,000 → write the safety message → Recall. Affected scans switch to a red branded notice page within seconds. Unaffected serials keep selling.

Per-unit scan analytics

Each unique serial tracks first scan time, country, city and total scan count. A bottle scanned in five different countries inside a week is almost certainly counterfeit.

Anti-counterfeit signal for free

Serials we issued carry a "Verified unit" badge on the public scan page. Fabricated serials show "Unit" without the verified stamp — subtle, but a real signal.

Import existing serials from ERP

Already minting unique IDs in your factory MES or ERP? Upload up to 50 MB of one-per-line serials and the platform registers each as a tracked unit.

Standards-backed every step

Why same-QR-on-every-bottle is a compliance risk

When every printed item carries the same QR code, a quality issue in a small sub-range gives the brand two bad options: recall the entire batch and write off thousands of perfectly good units, or let the affected ones reach customers. Neither is acceptable for food, beverage, beauty, pet or pharma teams under modern compliance frameworks like EU ESPR, FSMA 204, or the GS1 Sunrise 2027 retail framework. Unit-level serialization — one unique GS1 Digital Link URL per item — turns recall from a binary event into a surgical operation.

How range recall works under the hood

When you hit Recall on a serial range, the platform writes a single SerialRecallRange row covering the affected numeric range. Every subsequent scan against any URL in that range is intercepted by the public scan resolver before the product page renders — a red RECALL / SAFETY NOTICE page appears with your custom title and customer-facing message. Unaffected serials in the same production run continue serving the product page normally. Lifting the recall is a single click; the override row is timestamped and the range goes back to product-page service in seconds. No re-printing, no over-recalling, no manual cache invalidation.

Bring your own printer integration

The CSV the platform generates is intentionally generic — four columns, UTF-8, one row per unit. Industrial variable-data printers from Domino, Markem-Imaje, Videojet, Zebra Aurora, Hapa and Allen Datagraph all accept this format through their print-engine database import. Your printer team will have it configured in fifteen minutes. The platform is never in the printing critical path — the CSV is generated once, the printer reads it locally, scans happen later when customers reach for the product.

Questions ops and compliance teams ask

What does unit-level serialization actually mean?
Every printed item carries its own unique GS1 Application Identifier 21 (Serial) appended to the GS1 Digital Link URL on its 2D barcode. Bottle 12 of a 50,000-unit batch is /01/GTIN/10/BATCH/21/000012, bottle 13 is /21/000013, and so on. The platform recognises every serial individually for analytics, anti-counterfeit, and recall.
How many unique serials can I generate per month?
The Brand plan includes 5,000 unique units per calendar month at US$89/mo monthly or US$69/mo annual. Growth includes 100,000 units per month at US$229/mo monthly or US$179/mo annual. Enterprise is unlimited with a custom contract. Free and Starter do not include the unit-level serializer.
Do I need new GTINs for every unit?
No. Every bottle of "Mango Sparkling Water 330ml" shares the same single GTIN. The unit identity sits in the Application Identifier 21 (Serial) qualifier appended to the URL. The platform stores the production run as a numeric range so 50,000 units is one row in the database, not 50,000.
How do I send the codes to my factory printer?
After you generate the run in the dashboard, click "Download CSV for printer". The file streams every URL with the columns gtin, batch, serial, digital_link. Industrial variable-data printers from Domino, Markem-Imaje, Videojet, Hapa, and Zebra Aurora accept this format directly through their print-engine import.
How fast is a recall?
Open the production run, enter the bad serial range, write the customer-facing message, hit Recall. Affected scans switch to a red recall override page within seconds, worldwide. Customers scanning unaffected serials still see the product page. No re-printing, no over-recalling.
Can I import serials from my existing ERP or factory MES?
Yes. Choose "Import from CSV" instead of "Generate unique serials". Upload up to 50 MB of one-serial-per-line data (or a CSV with a serial column). The platform de-duplicates and validates them, then registers each as a tracked SerializedUnit. Use this when your factory line already mints serials.
What if a counterfeiter prints a fake serial?
When the platform receives a scan for a serial it never issued, the public scan page shows a non-verified "Unit · SERIAL" badge instead of the prominent "Verified unit" badge. That subtle difference is your free anti-counterfeit signal. Real serials issued by your run carry the verified stamp.
Will it slow down my factory line?
No. The CSV is generated once before the run and consumed by the printer locally. The platform isn't in the printing critical path. Scans that customers do later resolve in under 200 ms globally because the resolver runs against your verified Cloudflare-fronted resolver domain.

Keep exploring

Recall management workflowRange-based recall with consumer-facing safety notice on the same QR.Read more Printer integrationsDomino, Markem-Imaje, Videojet, Zebra Aurora variable-data printer setup.Read more Counterfeit defencePer-unit scan patterns flag clones and grey-market diversion automatically.Read more GS1 Digital Link standardURI syntax, application identifiers, resolver behaviour.Read more Plans & pricingBrand US$89/mo includes 5,000 unique units per month. Growth ships 100,000.Read more

Ship unique serials on your next print run

Start free, upgrade to Brand when you're ready to mint your first 5,000 unique units. No demo call, no credit card on signup.