One barcode. The whole story.
LabTested connects your GTIN to the exact batch, its lab report, and a page shoppers actually read. QR codes for labels, GTIN management, and a GS1 Digital Link resolver, all in the same platform that displays your testing.
Every link in that chain lives in one record, resolved from one code. That is the difference between a COA widget and product identity infrastructure.
The barcode is the anchor
Most COA tools start from a PDF and attach it to a page. LabTested starts from product identity: your GTIN becomes a GS1 Digital Link address, and everything else hangs off it. The product record, the current batch, the lot number, the expiration, the laboratory report, and the consumer page are all resolved from the same code your packaging already carries.
GTIN management built in
LabTested keeps a claims ledger for your GTINs: every number is check-digit validated and zero-padded to GTIN-14, each GTIN has exactly one active product claim on the platform, and once a code is printed or published the GTIN locks. Changing it afterward requires a typed confirmation and leaves an audit trail, so a code in the wild can never silently point at the wrong product. LabTested does not issue GTINs; you license those from GS1. We manage what your GTINs are connected to.
Product codes and batch codes
A Product QR is one permanent code per SKU: new batches and new testing appear behind it, so preprinted packaging never changes. A Batch QR encodes the lot, and its expiration as GS1 AI (17), so scanning opens that exact batch and its results directly. You choose per product, and the print checklist covers quiet zones, sizing, and GS1-grade verification before a run.
Printed codes never break
A printed QR code is a permanent contract. Every generated code is recorded in an inventory before the file is ever downloaded, a code marked as printed can never be edited or repointed, and products archive instead of deleting, so a scan keeps resolving years later. The resolver never dead-ends a printed code, on any plan, ever.
Built to the GS1 Digital Link standard
The resolver implements the GS1 Digital Link URI syntax: application identifiers in any order, expiry in the query string per URI Syntax 1.7.0 with the legacy path form accepted forever, linkset responses with content negotiation, linkType routing, and CORS on GS1 endpoints. That means the same code that opens your results page also answers machine requests from retailers and apps that speak GS1. As retail moves to 2D barcodes at point of sale, the code on your label is already the right kind.
Your page behind the scan
Scanning lands on a hosted page with the lab results panel locked on top and your brand around it: your colors, your links, product information, recall notices when they exist, and batch expiration warnings. Enterprise brands can serve it all from their own subdomain, so the URL on the packaging is yours.
Identity, codes, and proof in one system.
The results panel and the barcode infrastructure share one record, so the code on your label and the widget on your product page can never disagree about which batch is which. As always, the testing is your laboratory’s; LabTested displays it and does not certify or endorse any product.
- GTIN-14 validation and a one-active-claim ledger per code
- GTIN locks once printed or published; corrections are audited
- Product-level and batch-level QR, with AI (17) expiration
- Every code inventoried before download, printed status tracked
- Archived products still resolve behind printed codes
- Linkset, linkType, and CORS for machine consumers
- Scan analytics per product and per printed code
- White-label scan domains for Enterprise
Put your testing behind your barcode.
Start free with one product, generate a code, and scan it yourself.