Free Online Barcode Generator
Generate and download barcodes in multiple formats like CODE128, EAN13, and more.
Generate Barcode
Create professional barcodes in multiple formats instantly
How to generate a barcode — 3 steps
- 1
Choose the symbology
Pick the barcode type your use requires. This is the decision that matters most — retail, logistics, and internal labelling each expect a different standard.
- 2
Enter the data
Type the number or code to encode. Formats such as EAN and UPC accept only digits and a fixed length; Code 128 will take letters and numbers.
- 3
Download and test
Save the image, print it at the size you will actually use, and scan it with the equipment it is meant for before producing thousands.
Choosing the right symbology
Barcodes are not interchangeable, and using the wrong type is the most common reason a label fails downstream. EAN-13 is the retail standard across most of the world and encodes a 13-digit product number; UPC-A is its 12-digit North American equivalent. Both are what a shop's till expects, and both require a number issued through GS1 — you cannot invent a valid retail barcode, because the number identifies your company and product in a global registry.
For everything that is not retail point-of-sale, Code 128 is the workhorse. It encodes letters as well as digits, handles variable lengths, and is compact, which makes it the usual choice for shipping labels, asset tags, warehouse locations, and internal tracking numbers. Code 39 does a similar job and is still found in older industrial and defence systems; it is less dense and generally chosen only for compatibility. ITF-14 is used on outer cases and cartons, where printing is coarse and the code must survive corrugated packaging.
The practical route is to work backwards from whoever will scan it. A retailer or marketplace will specify exactly what they require. A courier or warehouse system will have a documented label standard. Only when the code is purely for your own use — stock, equipment, files — is the choice genuinely yours, and there Code 128 is the sensible default.
Printing a barcode that actually scans
Most scanning failures are physical rather than digital. Size is the first factor: barcodes have nominal dimensions for a reason, and shrinking one to fit a label makes the bars narrower than a scanner can resolve. An EAN-13 at full size is about 37mm wide, and reducing much below 80% of nominal starts to cause problems on ordinary equipment. Never scale a barcode non-proportionally — stretching or squashing one axis distorts the bar widths that carry the data.
The quiet zone matters as much as it does for QR codes: a clear margin either side of the pattern, with nothing printed in it. Scanners rely on that blank space to locate the start and end of the code, and packaging designs that run text or a coloured block right up to the bars are a frequent cause of intermittent failure.
Contrast and print quality finish the job. Bars must be dark on a light background — black on white is ideal, and red bars are effectively invisible to the red-light scanners still common in retail. Print at the highest resolution available, since ink spread on absorbent stock thickens the bars and can push the widths out of tolerance; thermal labels and glossy stock behave differently again. Whatever the design, print a real sample on the real material and scan it with the real hardware before committing to a run.
Your files never leave your device
Barcodes are generated in your browser, so product codes, asset numbers, and internal references are never transmitted to a server.
Most online PDF sites upload your document to their servers, process it there, and keep a copy for minutes, hours, or longer. PilotPDF works differently: the page downloads a small processing engine into your browser, and your file is opened and edited in your device's memory using WebAssembly. Nothing is transmitted, so there is nothing for a server to store, leak, or scan. You can even disconnect from the internet after the page loads and the tool keeps working.
Read more about how this works in our privacy-by-design explainer.