I used to think generating these was straightforward — pick a type, enter the data, export. Then I had a situation that changed my mind. A small candle brand I consulted for bought UPC-A barcodes from a reseller (not GS1). Walmart's system flagged them as unregistered within 48 hours of the first shipment. Getting real GS1 prefixes is not optional.
The root cause was not the tool. It was that I did not understand what the destination actually needed. GS1 General Specifications Version 24 (gs1.org/standards) spells out the requirements clearly, but most generators do not enforce them. They let you generate something that looks right on screen and fails in the real world. That gap — between what looks right and what actually works — is where most problems live.
I stopped treating generation as a one-click task and started treating it as a two-step process: configure, then verify. The configuration step is where I match the type and parameters to the actual destination. The verification step is where I test the output in conditions that match the real world — not just on my screen.
Our ITF-14 case label tool handles the configuration complexity so I focus on verification. The bulk generator is especially useful for this workflow.
Test with the actual reader — not your eyes. If it is a barcode, scan it with the same scanner model your recipient uses. If it is a favicon, add it to a test site and check it on an actual iPhone and Android device. The simulator lies. The real device does not.
I also test the edge case: what happens at minimum size? What happens on a slow connection? What happens when the background is the wrong color? If it passes all three, it is ready.