# Free barcode generator: a number or item code → labels ready to print.

> Make EAN-13, UPC-A, EAN-8 or Code 128 barcodes with the check digit computed. Download PNG or SVG, or print a label sheet with name and price. Free, no sign-up.

Dashing (dashing.krd) is a point-of-sale, inventory and double-entry accounting platform for retail shops in Iraq — Arabic-first, also in Kurdish (Sorani) and English — with a cashier that works offline and a built-in AI assistant called Dash.

Canonical: https://dashing.krd/en/tools/barcode

Type 12 digits and the tool computes the check digit and draws an EAN-13; type 11 for a UPC-A or 7 for an EAN-8, or any item code with letters and digits for a Code 128. Add the item name, price and currency, set the number of labels and the sheet's columns, and print on a label printer or ordinary label sheets, or download the barcode as PNG or SVG. Everything runs in your browser; nothing is sent anywhere. Dashing prints barcode labels straight from the item page.

## Which barcode type: EAN-13, UPC-A, EAN-8 or Code 128?

EAN-13 is the product barcode in shops across most of the world: 13 digits, the last a check digit, read by every scanner. UPC-A is its 12-digit form used in the US and Canada; its bars are those of an EAN-13 that starts with 0, so scanners everywhere read both. EAN-8 carries 8 digits for packs too small for an EAN-13. Code 128 encodes letters and digits (SKU, shelf number, invoice number) and suits internal use when the code is text. For in-store numbers on goods you sell only in your shop, use an EAN-13 with a prefix from 20 to 29 and never print it on goods sold elsewhere.

## How the check digit is worked out

The last digit of an EAN-13 lets a scanner catch a misread. Take the first 12 digits, multiply them in turn by 1 and 3, and add the results: for 590123412345 the sum is 83. The check digit is what brings the sum up to the next multiple of 10, here 7, so the full number is 5901234123457. UPC-A and EAN-8 use the same rule with the weights starting at 3. Type a full number and the tool tells you when its check digit is wrong, which usually means a digit was copied incorrectly.

## Printing

The print button opens the browser's print dialog and prints only the label sheet. On a thermal label printer pick the label size in the printer settings; on A4 label sheets set the columns to match the paper (3 columns for 70×37 mm labels, say). Scan one label before printing the rest.

## A list of items, and sequential in-store numbers

Paste a "code, name, price, count" list and a label sheet for every item comes out at once. For products without a barcode — bread, vegetables, goods sold by weight — generate sequential in-store EAN-13 numbers with a 20–29 prefix and a valid check digit: every scanner reads them and they never clash with a registered product. A single barcode downloads as PNG or SVG for your designs.

## Common questions

### Is the barcode I made "registered"?

No. The tool only draws the symbol. Globally registered numbers are bought from GS1; for use inside your shop a 20–29 prefix or a Code 128 is enough.

### The scanner does not read the printed label.

Print larger (do not scale the page down), in dark ink on white paper, with white space around the code. A scanner needs a "quiet zone" on both sides.

### How big should I print a barcode?

An EAN-13 at its standard size is 37.29 mm wide and 25.93 mm tall including the margins, and GS1 allows from 80% to 200% of that. Below 80% cheaper scanners start to fail; keep the white margin on both sides whatever the size.

### PNG or SVG: which file should I download?

SVG for anything that will be resized or sent to a printer, because it stays sharp at any size. PNG for software that only takes images, such as label apps, online marketplaces and chats; the tool draws it at four times the screen size so it prints cleanly.

## Other languages

- العربية: https://dashing.krd/tools/barcode
- کوردی: https://dashing.krd/ckb/tools/barcode

---

Dashing · https://dashing.krd/en
