Free barcode generator

Make a barcode for a product, a shipping label, an asset tag or a book. Pick the type, type the number or text, and download a PNG for documents or a sharp SVG for print. Check digits are calculated for you, invalid input is explained, and nothing is uploaded.

Style

Which barcode type do I need?

Selling in shops: retail scanners expect EAN-13 (most of the world) or UPC-A (US and Canada), and the number must be a GTIN registered with GS1; a made-up number scans but won't be accepted by retailers or marketplaces. Internal use (inventory, asset tags, tickets, document IDs): Code 128 holds letters, digits and symbols compactly and every scanner reads it. Code 39 only if an older system requires it. Shipping cartons: ITF-14. Pallets and logistics data (batch, expiry): GS1-128. Lots of data on a tiny label: Data Matrix or PDF417, which need a 2D (camera) scanner.

Tips for a barcode that scans

Quiet zone: keep the blank margin left and right of the bars (this page adds it); a label edge or text too close is the most common reason a barcode fails. Contrast: dark bars on a light background; red bars are invisible to most laser scanners, which use red light. Size: don't squash the width to fit a label: scale the whole image instead. EAN-13 and UPC-A are designed for about 37 × 26 mm at 100%, and printing below 80% needs a good printer. Print: use the SVG, which stays sharp at any size; a stretched PNG blurs the bar edges.

How it works

Barcodes are drawn in your browser by the open-source bwip-js library (MIT), a port of Barcode Writer in Pure PostScript, which validates input and computes check digits the way the standards define them. Nothing you type is sent to a server. Where your browser supports it, the page also scans its own output with the built-in barcode reader to confirm it decodes to exactly what you typed.

See also: upc barcode generator, ean-13 barcode generator, code 128 barcode generator, isbn barcode generator, data matrix generator, QR code generator.

Barcodes on generated labels, invoices and PDFs

Need a barcode on every shipping label, ticket or invoice your app produces? Draw it in your HTML (an inline SVG from a barcode library, or an <img>) and render the page with the Shotmint API, which prints it in real Chromium so the bars come out exactly as in the browser:

curl -X POST https://shotmint.creasework.com/v1/pdf -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"html":"<h1>Order #42</h1><img src=\"https://your-site.com/barcode/42.svg\" width=\"300\">","format":"A6"}' -o label.pdf

Each PDF or screenshot is 1 credit. €5 buys 2,000 with no subscription, and credits never expire. Related free tools: invoice generator, HTML to PDF, HTML to image.

Get 25 free renders a month API docs

FAQ

Can I use these barcodes on products I sell? The image is yours to use anywhere, with no attribution. But for shop shelves the number matters: EAN and UPC numbers must come from GS1, or retailers will reject them. Code 128 and the others are fine for any internal numbering.

Why does it say the check digit is wrong? EAN, UPC, ITF-14 and ISBN numbers end with a digit computed from the others. Type the number without it and it's added for you; type it in full and it's verified, so a typo can't turn into a barcode that scans as the wrong product.

Is there a limit? No limits, no watermark and no account. Make as many as you need.

Which file should I download? SVG for print and packaging (vector, sharp at any size), PNG for Word, Google Docs and label software, JPG only if a tool accepts nothing else.

Related: QR code generator, invoice generator, receipt generator, SVG to PNG, image to Base64.

Related tools

UPC barcode generator · EAN-13 barcode generator · Code 128 barcode generator · ISBN barcode generator · all free tools