Free Logistics Tool

Barcode Generator

Generate Code 128, Code 39, EAN-13, EAN-8, UPC-A and ITF-14 barcodes singly or in bulk. Check digits are calculated, and every symbol downloads as SVG or prints as a label sheet.

Create a Barcode or a Full Sheet of Barcodes

Pick the symbology your scanner expects, then enter a value. Bulk mode takes a pasted column of SKUs. Encoding happens in this browser tab, so nothing you type leaves your device.

Mode
Check digit handling

Fields marked are required. Everything else is optional and refines the result.

Bulk mode renders up to 250 lines. Lines that cannot be encoded are listed underneath with the reason; the rest still render.

Auto check digit applies to EAN-13, EAN-8, UPC-A and ITF-14. Enter the number without its final digit to have it appended, or in full to have it verified.

Symbols rendered
Symbology
Check digit
Symbol width

    What the tool checks before it draws anything

    A barcode that looks right but encodes the wrong value is worse than none: it gets printed onto stock and found at receiving. These rules run on every value.

    CheckApplies toWhat happens if it fails
    Digit countEAN-13, EAN-8, UPC-A, ITF-14Rejected, with the required length shown.
    Digits onlyEAN, UPC, ITF-14, Code 128 set CRejected; no symbol is drawn.
    Modulo 10 check digitEAN, UPC, ITF-14Appended if missing, flagged if wrong.
    Character setCode 39, Code 128 sets A and BThe unsupported character is named.
    Modulo 103 check characterCode 128Always calculated; never typed in.
    Even digit countITF-14, Code 128 set CRejected rather than silently padded.

    Which Barcode Type Do You Actually Need?

    The system reading the label normally decides. Match the destination first, then worry about size.

    SymbologyEncodesTypical useLengthCheck digitWho governs it
    Code 128ASCII 0–127Internal SKU, carton, tote and bin labelsVariableModulo 103, built inISO/IEC 15417
    Code 39Digits, A–Z, six symbolsLegacy inventory and asset tagsVariableOptional modulo 43ISO/IEC 16388
    EAN-1313 digitsRetail till scan outside North AmericaFixed 13Modulo 10, requiredGS1
    EAN-88 digitsItems too small for EAN-13Fixed 8Modulo 10, requiredGS1
    UPC-A12 digitsRetail till scan in the US and CanadaFixed 12Modulo 10, requiredGS1
    ITF-1414 digitsShipping cartons and casesFixed 14Modulo 10, requiredGS1
    Data MatrixText and binarySmall parts, pharma packs, electronicsVariableReed–SolomonISO/IEC 16022
    PDF417Text and binaryIdentity documents, some labelsVariableReed–SolomonISO/IEC 15438

    This page renders the first six

    Data Matrix and PDF417 are listed because people arrive looking for them. They are two dimensional symbologies with error correction we have not implemented, so the tool omits them rather than offering something unreliable.

    Code 128: The Default for Internal Warehouse Labels

    If a warehouse label mixes letters and digits, it is usually Code 128. It packs numeric data more tightly than any other linear symbology in common use.

    Character set

    Three sets cover the full ASCII range. Set A adds control characters, set B adds lower case and punctuation, set C encodes digit pairs.

    Check character

    A modulo 103 check character is computed from the start code and the weighted position of every symbol character. It is encoded, never printed.

    Where you meet it

    SKU labels, licence plate labels, tote and bin identifiers, pick-face labels, and most parcel carrier labels.

    SetCoversDensityChoose it when
    ADigits, uppercase, punctuation, control charactersOne per symbol characterA legacy system needs control characters.
    BDigits, both cases, full punctuationOne per symbol characterThe value mixes cases or wider punctuation.
    CDigits only, encoded two at a timeTwo digits per symbol characterA long numeric string with an even digit count.
    AutoAll of the above, switching mid-symbolShortest availableNo specific constraint. The usual answer.

    Auto mode switches to set C for four or more digits at the start or end of a value, or six or more in the middle. That is where the switch pays for itself in width.

    Code 39: Older, Wider, and Still Required in Places

    Code 39 predates Code 128 and encodes far less per millimetre. It survives because installed equipment and older enterprise software still expect it.

    Character set

    Digits 0–9, uppercase A–Z, space, and six symbols: hyphen, full stop, dollar, slash, plus, percent. No lower case.

    Start and stop

    Every symbol is bracketed by an asterisk. Some scanners transmit them, some strip them. Check during setup.

    Check character

    The modulo 43 check character is optional and off by default. Turn it on only if the receiving system expects it.

    Practical notes before you standardise on Code 39

    • The same data takes more label width than Code 128
    • Lower case characters are silently converted to upper case
    • Every character uses nine elements, three wide
    • The wide-to-narrow ratio is commonly set between 2:1 and 3:1
    • The check character changes the scanned string, so both ends must agree

    If nothing in your stack requires Code 39, Code 128 is the better default for new internal labelling.

    EAN-13, EAN-8 and UPC-A: Retail Point of Sale

    These three are one family. They carry a GTIN, a globally unique product number, and they are what a supermarket till expects.

    SymbolDigitsStructureWhere it is used
    EAN-1313GS1 prefix, company prefix, item reference, check digitRetail across Europe, Asia Pacific and most of the world
    UPC-A12Number system digit, company prefix, item reference, check digitRetail in the US and Canada
    EAN-88GS1 prefix, item reference, check digitSmall packs where EAN-13 does not fit

    How the symbol is built

    • Each digit becomes seven modules of bars and spaces
    • Start, centre and end guard bars frame the digit groups
    • Right-hand digits are mirrored so scanners detect direction
    • In EAN-13 the first digit is not drawn as bars; the parity pattern of the six left-hand digits carries it

    Where the number comes from

    • GS1 issues a company prefix to your business
    • You build item references on top of that prefix
    • The check digit is arithmetic, not an allocation
    • This tool renders a number you already hold

    We render symbols. We do not issue GTINs.

    This page cannot assign a GS1 company prefix and does not check whether a number is yours. Prefixes come from GS1. A made-up EAN or UPC on retail packaging can collide with another company's product.

    ITF-14: The Barcode on the Outer Carton

    A case of retail items carries its own trade item number. ITF-14 is the symbol usually printed directly onto corrugated board.

    Fixed 14 digits

    An indicator digit, GS1 company prefix, item reference and check digit. The indicator separates packaging levels of one product.

    Interleaved encoding

    Digits are encoded in pairs. The first becomes bars, the second becomes the spaces between them. Hence the name.

    Print requirements

    Direct printing on corrugated normally needs bearer bars and a larger X dimension than a paper label.

    Bearer bars are not drawn here

    This tool produces the encoded ITF-14 itself. Bearer bar thickness and quiet zone allowance depend on the print method and your trading partner's GS1 specification, so send artwork to your label supplier before a carton run.

    The Arithmetic Behind the Last Digit

    EAN, UPC and ITF-14 share one formula. It catches a single misread or mistyped digit before it reaches stock records.

    GS1 modulo 10

    weights 3,1,3,1… from the right check = (10 − sum mod 10) mod 10

    Used by EAN-13, EAN-8, UPC-A and ITF-14.

    Code 128 modulo 103

    sum = start + Σ (position × value) check = sum mod 103

    Calculated over symbol values, not printed characters.

    Code 39 modulo 43

    sum = Σ character values check = character at (sum mod 43)

    Optional, and only if both systems expect it.

    Test numberSymbologyPayload without check digitCheck digit
    5901234123457EAN-135901234123457
    4006381333931EAN-134006381333931
    036000291452UPC-A036000291452
    96385074EAN-896385074
    10614141000415ITF-1410614141000415

    Paste any payload from the third column with auto check digit on. The fourth column is what you should get back.

    Labelling an Inbound Receipt at a US Warehouse

    A US apparel brand receives 40 cartons from an overseas supplier and needs four labels before the stock is putaway-ready.

    Item level EAN-13 Retail till scan on the finished garment
    Inner SKU label Code 128 Internal SKU with size and colour suffix
    Outer carton ITF-14 Case level trade item number
    Pick face Code 128 Aisle, rack and bin location string
    LabelSymbologyValue enteredWhat the tool doesRendered value
    Garment swing tagEAN-13888123400012Appends the modulo 10 check digit8881234000125
    Polybag SKU labelCode 128 autoSKU-88421-BLU-MSet B, plus the modulo 103 check characterSKU-88421-BLU-M
    Carton labelITF-141888123400012Appends the modulo 10 check digit18881234000122
    Pick face labelCode 128 autoLOC-SG-A12-R04-B7Set B, plus the modulo 103 check characterLOC-SG-A12-R04-B7
    Sheet outputBulk mode40 carton lines pastedRenders 40 symbols into one grid40 labels, one page pass

    The prefixes here are illustrative. Use the company prefix GS1 issued to your business.

    Turning a Spreadsheet Column Into a Label Sheet

    Most people searching for a barcode generator do not want one barcode. They want a column of SKUs turned into something printable.

    Paste the column

    Copy a column out of a spreadsheet and paste it in. One value per line is all the structure needed.

    Add captions

    Put a vertical bar after the value, then a caption. Warehouse staff read the caption far more than the digits.

    Print or download

    The print sheet lays every symbol into a grid. Download gives one SVG that scales without losing bar edges.

    Why SVG rather than an image file

    • Bar edges stay sharp at any size, which aids scanning
    • Label design software imports SVG directly
    • No resampling artefacts when scaled up for a carton
    • File sizes stay small even for a full sheet

    Before a production label run

    • Test print at the exact size you intend to use
    • Scan it with the scanners on your floor, not a phone
    • Scan it once applied to the real surface
    • Check the quiet zones survived the label die-cut

    Why Barcodes Fail on the Warehouse Floor

    Almost every scanning failure traces back to a handful of causes, most decided before the label is printed.

    CauseWhat it looks likeWhere it is decidedFix
    Quiet zone lostScanner sees nothing at allLabel artwork and die-cutLeave clear space either side
    X dimension too smallReads at close range onlyLabel size decisionIncrease narrow bar width, retest
    Non-proportional scalingIntermittent readsArtwork resizeRegenerate rather than stretch
    Low contrastFails under warehouse lightingSubstrate and ink choiceDark bars, light matt background
    Worn print headRandom voids in the barsPrinter maintenanceClean or replace, verify a sample
    Curved or reflective surfaceReads at one angle onlyLabel placementUse a flat panel or a larger symbol
    Wrong symbologyScans, but the system rejects itLabel specificationConfirm what the receiver expects

    Practice varies by trading partner and carrier. Where a retailer or 3PL publishes a labelling specification, that document decides symbology, size and placement.

    Data Matrix, PDF417 and QR: What They Are For

    These come up constantly alongside barcode searches. They solve a different problem: more data in less space, with error correction built in.

    Data Matrix

    A square matrix for tight spaces: circuit boards, surgical instruments, pharmaceutical packs, small component marking.

    PDF417

    A stacked symbology of linear codeword rows. Common on driving licences, boarding passes and some shipping documents.

    QR

    The consumer-facing matrix code, read by phone cameras. Increasingly on retail packaging beside the retail barcode.

    Not offered here, on purpose

    All three depend on Reed–Solomon error correction and defined module placement. A subtly wrong implementation still produces a plausible looking square, and the fault surfaces only when scanners reject printed stock.

    For a regulated pack or a trading partner specification, work from the relevant ISO standard or a verified label printing package, and check printed samples with a barcode verifier.

    Where Barcodes Change What the Warehouse Can Do

    Barcodes let stock be counted, located and shipped without a human reading a number aloud.

    Receiving

    Scanning at the dock ties a carton to a purchase order line, so discrepancies surface at receipt, not the next count.

    Putaway and location

    A scanned bin label makes the location a fact, not a memory. Pickers stop searching and accuracy stops depending on individuals.

    Picking and packing

    Scan verification at pack catches the wrong-item error before it ships, the cheapest place to catch it.

    Cycle counting

    Counting by scan turns a stocktake into a routine task rather than an event that stops the operation.

    A workable labelling standard covers all of this

    • The symbology at each packaging level
    • What the encoded string may and may not contain
    • Label size, bar width and quiet zone
    • Where the label goes on the carton or item
    • What human readable text sits beside the bars
    • Who verifies a sample before a run

    Agree it once with your supplier and fulfilment provider, and inbound labelling stops being a recurring argument.

    Barcode Generator Questions

    Choose a symbology, type or paste the value, and the barcode renders straight away. Switch to bulk mode to paste a whole column of SKUs and render every one at once. Download any symbol as SVG, or open the print sheet to send a page of labels to a printer. Everything runs in your browser.
    Paste one value per line into bulk mode, straight from a spreadsheet column. Each line becomes its own barcode. Add a caption by writing the value, a vertical bar, then the caption, such as SKU-88421 | Blue tee, size M. The print sheet lays the results out in a grid. Up to 250 lines render at a time.
    Code 128 is the usual choice for internal inventory, bin, tote and carton labels, because it encodes letters, digits and punctuation compactly. Code 39 is chosen when older scanners or legacy systems require it. EAN-13 and UPC-A are retail point-of-sale symbols tied to GS1 numbers. ITF-14 goes on shipping cartons.
    Yes. For EAN-13, EAN-8, UPC-A and ITF-14, enter the number without its final digit and the tool calculates and appends it using the standard GS1 modulo 10 weighting. Enter the full number and the tool verifies it instead, flagging any digit that does not match. Code 128 always carries an internal modulo 103 check character.
    Only if the number itself is legitimately yours. This tool renders a symbol from a number you supply. It does not issue GTINs and it does not assign company prefixes. A GS1 company prefix has to be obtained from GS1. Printing an invented EAN or UPC on retail packaging risks a clash with another brand.
    They are three character sets inside the same symbology. Set A covers digits, uppercase letters and control characters. Set B covers digits, both cases and punctuation. Set C encodes pairs of digits, so a numeric string takes about half the width. Auto mode picks the set and switches mid-symbol where that shortens the barcode.
    The most common causes are printing too small, losing the quiet zone, and poor contrast. Scanners need clear space either side of the symbol, sharp dark bars on a light background, and enough width that the narrowest bar survives printing. Scaling a barcode non-proportionally, or printing onto a curved or reflective surface, also causes failures.
    No. This tool renders linear barcodes only: Code 128, Code 39, EAN-13, EAN-8, UPC-A and ITF-14. Data Matrix, PDF417 and QR are two dimensional symbologies with error correction schemes we have not implemented here, and a wrong two dimensional symbol that still looks plausible is a real risk once it is printed onto stock.
    Size is set by the narrowest bar, called the X dimension, not by the overall label size. Retail EAN and UPC symbols have published nominal sizes and a permitted magnification range from GS1. For internal Code 128 and Code 39 labels, test print at your intended size and scan it with the scanners used on your floor.

    Need Scan-Based Inventory Accuracy?

    Talk to Locad about warehousing and fulfilment where every receipt, putaway, pick and pack is scanned, and inbound labelling is agreed with suppliers up front.