Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

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 barcodes

Choose 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 jobStart by consideringCheck before printing
Internal stock, assets or serial numbersCode 128The exact identifier and case your software expects. Keep the same identifier throughout your system.
Retail product packagingEAN-13 or UPC-AYour assigned GTIN and the retailer’s acceptance rules.
Small retail packagingEAN-8A separately assigned EAN-8. Do not shorten an EAN-13 yourself.
BooksISBN encoded as EAN-13The valid ISBN assigned to that edition. Price supplements are a separate requirement.
Outer cartonsITF-14 or the required logistics symbologyPackaging, scanning distance and trading-partner specifications.
A website, contact or Wi-Fi connectionQR codeThe 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.

  1. Take the number without its final check digit.
  2. Working from the right, multiply alternate digits by 3 and 1.
  3. 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.

InputFormatObserved result
FLOI-00042Code 128Preserved as FLOI-00042, including the zeros.
400638133393EAN-13Added 1, producing 4006381333931.
4006381333932EAN-13Refused. Expected a final 1. A correction requires an explicit action.
03600029145UPC-AAdded 2, producing 036000291452. Kept the first zero.
0-306-40615-2ISBNValidated ISBN-10, then converted it to 9780306406157.
1001234567890ITF-14Added 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.

PrinterRequested barNearest whole dotsResulting bar width
203 dpi0.33 mm30.375 mm
300 dpi0.33 mm40.339 mm
600 dpi0.33 mm80.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.

  1. Check the stock geometry. Confirm label width, height, margins and gaps. Similar-looking sheets can have different pitches.
  2. Check the first unused position. Count left to right, then down. The first sheet may have fewer labels than later pages.
  3. 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.
  4. Scan a printed label. Use the scanner, software, material and lighting intended for the job. Test each distinct format and representative long values.
  5. 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.

MethodUseful strengthTradeoff
Floi barcode studioOne 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.codesA 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 ToolkitQuick 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 softwareKeeps 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.

SymptomCheck next
No scanner responseSymbology enabled on the scanner, bar width, bar height, quiet zones, contrast and damaged print.
Digits arrive but the product is missingThe exact identifier in your database, leading zeros and whether the application expects UPC or EAN.
Labels drift out of positionFit-to-page scaling, the sheet’s margins and gaps, paper size and printer feed alignment.
A spreadsheet changed the numberText formatting before import. Recover the original identifier if zeros disappeared or long digits were rounded.
Screen proof works, physical labels do notReal 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.

Frequently asked questions

Is a SKU the same as a barcode?

No. A SKU is an identifier used by your stock system. A barcode is a machine-readable drawing of an identifier. You can encode your SKU in Code 128 for internal use. That does not make it an assigned retail GTIN.

Can I invent an EAN or UPC if the check digit is correct?

A correct check digit only checks the number’s arithmetic. It does not give you the right to use that number or prove that it is registered. Ask GS1 or your retailer which assigned identifier your product needs.

Should I make a barcode as small as possible?

No. Size depends on the symbology, scanning application, printer and material. A smaller bar has fewer printer dots and less tolerance for print defects. Check the relevant specification and test your intended label and scanner.

Should I save SVG, PNG or PDF for printing?

Use a vector SVG in design software that respects its physical dimensions. Use a PDF for a fixed label layout and print at Actual size. Use PNG when your software requires an image, preserving its resolution and dimensions. Avoid screenshots and lossy JPEG exports.

↑↓ move↵ openesc close