Free tool

    Barcode generator for warehouses

    Generate EAN, UPC, ITF-14, GS1-128, SSCC, QR and Data Matrix codes, download them as PNG, SVG or a print-ready PDF, and see which symbology belongs on which label. No account needed — leave your name and email once and every download is yours.

    Generate a barcode

    Pick the symbology, type the data, and the code renders as you type. Check digits are calculated for you.

    Pick the symbology, type the data, and the code renders as you type. Check digits are calculated for you.

    Which barcode should you use?

    Three questions about what you are labelling. The answer tells you the symbology and why the obvious alternative is the wrong one.

    What are you labelling?
    Does the label leave your building?
    Does the code need to carry batch, expiry or quantity?

    Best practice: which barcode when

    The full decision table. Print it, or hand it to whoever is setting up your label printer.

    SituationUseWhy not the obvious alternative
    Consumer unit sold in retailCode 128 carries the same number but will not scan at a retail till.
    Consumer unit for the US marketEAN-13 is accepted at most US tills, but UPC-A is what buyers expect on the artwork.
    Outer case or carton to a retailerITF-14 tolerates direct print on corrugated board, where a fine EAN smudges and fails.
    Pallet or shipping unitIt is the only identifier carriers and EDI despatch advice messages accept for a unit load.
    Case that needs batch, expiry or quantityITF-14 carries a number and nothing else — there is no room for attributes.
    Rack, bin, tote or pick locationIt is internal and free-form, so a GS1 prefix would be cost with no benefit.
    Small part, instrument or PCBIt stays readable at a few millimetres, where any 1D code simply will not fit.
    Marketing, a link, a phone scanQR is not a logistics identifier — never use it as the stock-keeping code.
    A legacy scanner fleet that only reads Code 39Only when the hardware forces it: Code 39 wastes roughly a third more label width than Code 128.

    What decides whether it actually scans

    Quiet zones and X-dimension

    Every 1D code needs clear space either side — around ten times the narrow bar width for EAN and ITF-14. Shrink the code to fit a crowded label and you shrink the narrow bar with it, until the scanner can no longer resolve it. Set the X-dimension first, then design the label around it.

    Print resolution

    A 203 dpi thermal printer is fine for Code 128 location labels but marginal for a dense GS1-128 with several application identifiers; 300 dpi gives you the margin. Laser-printed pallet labels on plain paper rub off in transit — the ink is on the surface, not in it.

    Material and placement

    Cold store and freezer flows need adhesive rated for the temperature the label is applied at, not just the temperature it lives at. Outdoor and yard labels need synthetic stock. Pallet labels belong on two adjacent sides, at a consistent height, so a truck-side scan never has to hunt.

    Never re-use a serial

    An SSCC identifies one specific unit load and must not be re-issued while any trading partner might still reference it — GS1 sets that at a minimum of one year, and longer where regulation says so. Re-using serials is the single fastest way to corrupt a traceability trail.

    Why scanners refuse a code, in order

    A wrong or missing check digit; too little quiet zone; the wrong symbology for the device profile; poor contrast (never print on a coloured or metallic background); bars distorted by a printhead that needs cleaning; and a label creased or curved over an edge.

    Check digits

    EAN, UPC, ITF-14 and SSCC all end in a modulo-10 check digit derived from the digits before it. A scanner recalculates it on every read and rejects the code if it does not match, which is precisely why you should never type one by hand. This tool calculates it for you.

    GS1 company prefix

    The numbers in a retail or logistics code are not free to invent: the company prefix inside them is licensed from your national GS1 organisation. We cannot issue one, and neither can any free tool. Internal location and tote codes need no prefix at all.

    What this tool does not do

    It draws barcode symbols. It does not issue or reserve GS1 numbers, and a code intended for retail or a retailer's supply chain needs a real GS1 company prefix behind it. Nothing you type is stored.

    Frequently asked questions

    Is this barcode generator really free?

    Yes. There is no account, no email and no watermark, and the PNG, SVG and PDF downloads are unrestricted. The codes are generated in your browser, so nothing you type reaches us.

    Can I use the barcodes commercially?

    You can use the generated images however you like. Whether the number inside them is valid for retail depends on your GS1 company prefix, which you license from your national GS1 organisation — not from this tool.

    What is the difference between EAN-13 and GS1-128?

    EAN-13 encodes a product number and nothing else, and belongs on a consumer unit. GS1-128 encodes structured fields — GTIN, batch, expiry, quantity, SSCC — using application identifiers, and belongs on cases and pallets.

    What is an SSCC and when do I need one?

    An SSCC-18 is the serial shipping container code: a unique identifier for one pallet or shipping unit. You need one as soon as a customer, carrier or EDI despatch advice has to reference that unit load as a whole.

    Do I need a GS1 company prefix?

    For anything scanned outside your own walls — retail units, cases to a retailer, SSCC pallet labels — yes. For internal codes such as bin, rack and tote labels, no: those are yours to define.

    Which resolution should I print at?

    203 dpi is workable for simple Code 128 internal labels. Use 300 dpi for GS1-128, ITF-14 and anything dense or small, and download the SVG when a print shop or label designer is doing the artwork.

    Why does my scanner reject a barcode that looks fine?

    In order of likelihood: a wrong check digit, too little quiet zone around the code, insufficient contrast, a printhead that needs cleaning, or a symbology the scanner profile is not configured to read.

    Generating labels by hand?

    BizBloqs prints them straight from the order flow — SSCC on the pallet, ITF-14 on the case, batch and expiry captured at the scan instead of typed afterwards.