Free barcode generator
Twenty-two symbologies, no account, no watermark and no upload. You type the data, the code is drawn in your browser, and the SVG or PNG is yours. Every encoder here was written from its own specification and checked against an independent decoder before it shipped.
What free means on this page
There is no signup, no trial, no per-code limit and no credit card. There is also no server: the encoders run as JavaScript in the page you are reading, so the digits you type never leave the browser. That is worth stating plainly because most free barcode sites are free in a different sense, where the code is generated remotely, your data is logged, and the download carries a mark until you pay.
The practical consequence is that a part number or a customer's product code is safe to paste here. Nothing is transmitted, so nothing can be retained. Turn off your network connection and the page keeps working.
The twenty-two, grouped by what you would use them for
- Retail: EAN-13, EAN-8, UPC-A, UPC-E. Fixed length, digits only, check digit computed for you.
- Logistics and industry: Code 128, GS1-128, Code 39, Code 93, ITF, ITF-14, Codabar, MSI. These grow with your text and most accept letters.
- Two-dimensional: Data Matrix, GS1 Data Matrix, Aztec, Micro QR, PDF417 and Compact PDF417. Far more data in a small square, and they carry error correction, so a scuffed label still reads.
- Specialist: Pharmacode, which puts a number in the bar widths and has no check digit at all; POSTNET, where the data is in the bar heights instead of their widths; and the two pharmaceutical dialects of Code 39, Italy's Code 32 and Germany's PZN.
Written from the specifications, and checked by something else
Wrapping a library would have been quicker and would have left nobody able to say why a symbol scans. Each encoder here follows its own standard, which is how the details that decide whether a real scanner accepts a code get handled rather than approximated: check digit arithmetic, code set switching, quiet zones, and the Reed-Solomon error correction the two-dimensional formats need.
Our own encoder agreeing with our own reader would prove almost nothing. So nineteen of the twenty-two are round-tripped through zxing-cpp, a separate implementation of the same standards, and required to give back the exact input. That check runs before release, and it has caught real defects here, including a UPC-E compression rule that produced a code for a different product.
Three cannot be checked that way, because no open decoder implements them, and saying so is part of the point. Pharmacode is proved arithmetically across its whole range instead. POSTNET's table is re-derived from the rule that defines it. MSI rests on its check digit and its structure, which is the weakest guarantee of the twenty-two and worth knowing if you are testing real hardware.
SVG or PNG, and which to take
Take the SVG if the code is going into a document, a label template or a print job. It is vector, so it stays sharp at any size, and a barcode that has been scaled up from a small bitmap is a classic reason a scanner refuses one that looks fine on screen.
Take the PNG for a screenshot, a ticket, a test fixture or anywhere an image is what the tool accepts. It is drawn with smoothing off, because a soft edge between a bar and a space is exactly the ambiguity a decoder cannot resolve.
Questions
Can I use these barcodes commercially?
Yes. The images carry no watermark and no license condition. What this page cannot give you is a number you are entitled to use: a retail EAN or UPC must be issued to your company by GS1, and encoding a number you invented produces a valid barcode for a product that is not yours.
Which symbology should I pick?
For a retail product, EAN-13 outside North America and UPC-A inside it. For a carton or a pallet label, GS1-128. For an asset tag that any scanner in the building must read, Code 39. For a small part or an instrument, Data Matrix. For a ticket printed to the edge of the paper, Aztec.
Is there a limit on how many I can make?
No. Nothing is metered because nothing is counted anywhere; the page has no idea how many codes you have generated. For long runs, the bulk pages generate many files at once from the same encoders.
Do the codes expire or stop working?
No. A barcode is a picture of your data, not a link back to this site, so the file keeps working forever and works offline. Sites that offer barcodes which expire are generating a short link and encoding that instead, which is a different product with a different failure mode.
More barcode generators
EAN-13 barcode generator · UPC barcode generator · Code 128 barcode generator · Code 39 barcode generator · GS1-128 barcode generator · ITF-14 barcode generator · Barcode generator · QR code generator