Can I use a barcode generated here on a product in a shop?
The graphic is valid and will scan, but a retail barcode is only usable if the number encoded in it was allocated to you. Numbers are issued by GS1 member organisations — the China organisation for mainland China, and the equivalent body in each other market. This tool draws the bars; it does not assign numbers, and no online generator can. If the labels are for your own warehouse, shelves or fixed assets, no allocation is needed at all and Code 128 is the right choice.
How is the EAN-13 check digit calculated?
Take the twelve digits, and working from the rightmost one multiply alternately by 3 and 1. Add the products. The check digit is whatever brings that sum up to the next multiple of ten — formally (10 - sum mod 10) mod 10. For 978030640615 the sum is 93, so the check digit is 7. This page lays the whole calculation out under the input. The same rule covers UPC-A's 11 digits, EAN-8's 7 and ITF-14's 13, because counting weights from the right makes the length irrelevant.
What does a prefix like 690 or 489 tell me?
It identifies the GS1 member organisation that issued the number. 690–699 and 680–681 are administered by GS1 China, 489 by GS1 Hong Kong, 471 by GS1 Taiwan, 958 by GS1 Macau, and 978–979 are reserved for ISBNs. It does not tell you the country of manufacture: GS1's own position is that member companies can produce goods anywhere and can license a prefix from whichever organisation they choose. The widely shared claim that 690 means "made in China" has been checked and rejected by several fact-checking organisations for exactly this reason.
Which symbology should I choose?
If the item is sold at retail, the choice is made for you: EAN-13, or EAN-8 where the pack is too small, or UPC-A in North America, with ITF-14 on the shipping carton. For anything internal, use Code 128 — it takes letters and digits, needs no registration, and compresses numeric data to two digits per symbol. Code 39 is worth considering only when you have to feed a very old scanner, since it is around 40% wider for the same content.
Why is my five-digit Code 128 wider than a six-digit one?
Because subset C packs two digits into each symbol and cannot pair an odd leftover, so an odd-length numeric string pays for one extra subset-switch symbol. Five digits come out 79 modules wide and six come out 68 — and five digits happen to be exactly as wide as eight. If you are still designing your numbering scheme, making the codes even-length costs nothing and gives you a narrower label.
What is the quiet zone and how much do I need?
It is the blank margin on either side of the bars, measured in modules (X). A scanner uses that blank run to find where the code begins, so it is part of the symbol rather than decoration. EAN-13 requires 11X on the left and 7X on the right — asymmetric, which catches out generators that apply one margin to both sides. UPC-A wants 9X each side, EAN-8 7X, and Code 128, Code 39 and ITF-14 at least 10X. On this page the required margin is tinted on the preview so you can see whether your label leaves room.
Can a barcode contain Chinese characters?
Not a 1D barcode of the usual kinds. Code 128 stops at Latin-1, and Code 39 is narrower still. Worse, most encoders do not refuse CJK input — they emit a barcode that scans but decodes to something other than what you typed, and is conspicuously wider than the character count suggests. This page blocks it instead. If you genuinely need to carry Chinese text in a scannable symbol, use a QR code generator — QR has a dedicated Kanji mode and no such limit. SVG or PNG?
SVG for anything that will be printed. It has no resolution of its own, so the printer rasterises the bars once at its native resolution and every module lands on a whole dot. PNG has already committed to a pixel grid; if that grid does not line up with the printer's, the bars get resampled and the bar-to-space ratio drifts. Use PNG only where vectors are not accepted, and export at 2× or 4× so there is resolution to spare.
How do I generate a lot of barcodes at once?
Open the batch panel, paste one value per line — a column pasted straight out of a spreadsheet works — pick SVG or PNG, and you get a ZIP named after each value. Rows that fail validation are not silently skipped: they are collected in skipped.txt with the reason, so a batch of 100 that returns 97 files tells you which three failed and why. Everything happens in the browser, so the size of the batch is limited by your machine, not by a server quota.
What resolution should I print at?
Whatever your printer actually is — the point of choosing it here is that the page can tell you what one module means in millimetres. At 203 dpi, the common thermal resolution, one dot is 0.125 mm, so a three-dot module is 0.375 mm. At 300 dpi a dot is 0.085 mm and at 600 dpi 0.042 mm. Higher resolution lets you use a smaller module, which matters when the label is small; it does not make a badly sized code scan better.
Can this page read a barcode from an image?
No — it only generates. Reading a printed 1D barcode from a photograph is a different problem and needs a different tool. The QR decoder elsewhere on this site handles QR codes only and will not decode EAN-13 or Code 128. Nor can this page look up what product a number belongs to; that requires a GS1 product database.
Is anything uploaded?
No. The encoder is a JavaScript module that loads into the page, and every barcode — including the whole of a batch run and its ZIP — is produced on your own machine. Nothing you type is sent anywhere, written to a URL, or kept after you close the tab; only the appearance settings (module width, bar height, resolution) are remembered locally so you do not have to set them again.