Choose and print a barcode that fits
A readable label starts with the right number, then enough room to draw it.
Free toolBarcode GeneratorMake one barcode or a batch. Check every row, save SVG or PNG and lay out labels at a known print size.Make your barcodesChoose the format your receiving system expects
Start with your stock system or retailer’s requirements. Code 128 suits many internal identifiers. EAN and UPC carry assigned product numbers for retail. Changing the drawing cannot turn your own SKU into a registered retail number.
| Your job | Start by considering | Check before printing |
|---|---|---|
| Internal stock, assets or serial numbers | Code 128 | The exact identifier and case your software expects. Keep the same identifier throughout your system. |
| Retail product packaging | EAN-13 or UPC-A | Your assigned GTIN and the retailer’s acceptance rules. |
| Small retail packaging | EAN-8 | A separately assigned EAN-8. Do not shorten an EAN-13 yourself. |
| Books | ISBN encoded as EAN-13 | The valid ISBN assigned to that edition. Price supplements are a separate requirement. |
| Outer cartons | ITF-14 or the required logistics symbology | Packaging, scanning distance and trading-partner specifications. |
| A website, contact or Wi-Fi connection | QR code | The complete link or contact data. Use the QR code generator. |
GS1 describes EAN-13 and UPC-A as the common retail trade-item formats. The digits identify an item within a system. They do not contain its current price or full product description.
A check digit tests arithmetic, not ownership
The last EAN or UPC digit checks the preceding digits. A valid check digit does not prove the number was assigned to you. A scanner may decode an unregistered number perfectly while a shop’s database finds no product.
- Take the number without its final check digit.
- Working from the right, multiply alternate digits by 3 and 1.
- Add the results. Choose the final digit that brings the sum to a multiple of 10.
For the EAN body 400638133393, the weighted sum is 89. Adding 1 makes 90, so the complete number is 4006381333931. If you type a complete number with a different final digit, investigate the source before changing it.
Worked examples tested in the floi generator
These synthetic test cases were run against the local barcode engine on 28 October 2026. They check input handling and arithmetic. They are not product-registration checks or printed-scanner tests.
| Input | Format | Observed result |
|---|---|---|
| FLOI-00042 | Code 128 | Preserved as FLOI-00042, including the zeros. |
| 400638133393 | EAN-13 | Added 1, producing 4006381333931. |
| 4006381333932 | EAN-13 | Refused. Expected a final 1. A correction requires an explicit action. |
| 03600029145 | UPC-A | Added 2, producing 036000291452. Kept the first zero. |
| 0-306-40615-2 | ISBN | Validated ISBN-10, then converted it to 9780306406157. |
| 1001234567890 | ITF-14 | Added 2, producing 10012345678902. |
Printer dots determine the narrowest bar
A raster printer cannot draw half a physical dot. Divide 25.4 mm by the printer’s dpi to find the dot pitch. Choose a whole number of dots for the narrowest bar, then use multiples of that width for wider bars.
| Printer | Requested bar | Nearest whole dots | Resulting bar width |
|---|---|---|---|
| 203 dpi | 0.33 mm | 3 | 0.375 mm |
| 300 dpi | 0.33 mm | 4 | 0.339 mm |
| 600 dpi | 0.33 mm | 8 | 0.339 mm |
These are calculations used by floi’s sizing function, rounded to three decimal places. They are not measurements of a printer. The 203 dpi result is wider than the request. Check the reported size again after changing printer resolution.
Resolution alone does not establish the correct symbol size. GS1 specifies size ranges by application. Material, scanning distance, print process and ink spread also matter.
Quiet zones are part of the barcode
Keep the blank area beside the bars clear. Text, borders or artwork in that area can prevent a scanner from recognising where the barcode starts and ends. Do not crop a saved image tightly against the bars.
The floi generator protects format-specific margins. EAN-13 uses at least 11 narrow modules on the left and 7 on the right. UPC-A uses 9 on each side. Code 128 uses 10 on each side. The displayed saved size includes these margins and the outer padding.
GS1 US explains UPC-A quiet zones and bar height. Its guidance also warns against shortening the bars just to squeeze a code onto packaging. Quiet zones and height address different scanning problems.
Proof the sheet before using your label stock
Save a PDF whose labels match your stock and print a plain-paper test at 100% or Actual size. Disable fit-to-page scaling. Compare the paper against a label sheet before committing a batch.
- Check the stock geometry. Confirm label width, height, margins and gaps. Similar-looking sheets can have different pitches.
- Check the first unused position. Count left to right, then down. The first sheet may have fewer labels than later pages.
- Check the finished barcode size. A title and readable digits need space too. Floi blocks label exports that would need to shrink the barcode to fit.
- Scan a printed label. Use the scanner, software, material and lighting intended for the job. Test each distinct format and representative long values.
- Check several positions. Alignment drift can be small at the first row and obvious at the bottom of a sheet.
Choose a method that fits your workflow
A browser generator is useful for a small batch and immediate proof. Specialist software helps when you need a different symbology, a printer language or a managed label system.
| Method | Useful strength | Tradeoff |
|---|---|---|
| Floi barcode studio | One proof with CSV mapping, validation, sequences and precise label sheets. Local rendering. | Nine linear formats, CSV/TSV rather than XLSX, no scan read-back or ZPL. |
| Barcode.codes | A broader batch workflow with more formats, read-back and print-simulation controls. | More options to configure. Review current limits and privacy terms for your use. |
| Label Toolkit | Quick single SVG export, plus a separate label designer with ZPL options. | The sheet-design workflow takes you into its designer. |
| Your stock system or printer software | Keeps identifiers, templates and repeat jobs close to the inventory records. | Availability, supported formats and licences depend on your system. |
Diagnose a label that will not scan
Separate a decoding problem from a database problem. If the scanner returns the expected digits but the application cannot find a product, changing the image may not help.
| Symptom | Check next |
|---|---|
| No scanner response | Symbology enabled on the scanner, bar width, bar height, quiet zones, contrast and damaged print. |
| Digits arrive but the product is missing | The exact identifier in your database, leading zeros and whether the application expects UPC or EAN. |
| Labels drift out of position | Fit-to-page scaling, the sheet’s margins and gaps, paper size and printer feed alignment. |
| A spreadsheet changed the number | Text formatting before import. Recover the original identifier if zeros disappeared or long digits were rounded. |
| Screen proof works, physical labels do not | Real material and packaging, print density, ink spread, reflections and intended scanning distance. |
GS1’s quality checklist covers the wider print and packaging factors. A software-generated barcode is not a verification grade.