Free Barcode Generator — CODE128, EAN13 & UPC
# Free Barcode Generator — CODE128, EAN13 & UPC
A barcode is a small thing that does a large job. It turns a number — a product code, a stock number, a membership number, a shelf reference — into a pattern a scanner can read in a fraction of a second, without anyone typing anything and without the typing mistakes that come with it. If you run a small shop, keep stock in a back room, label boxes for a market stall, organise a library, a workshop, or a classroom, or simply want a tidy label on something you made yourself, a barcode can save you time every single day it is used.
The catch, for most people, is that barcode software often feels like overkill. It asks you to sign up, install something, learn a labelling program, or pay for a feature you will use once. That is exactly the gap ToolPilot Pro's free Barcode Generator is built to close. You open the page, type the text or number you want to encode, pick one of three formats — CODE128, EAN13, or UPC — adjust the size if you like, preview the result, and download it as a PNG. There is no account, no sign-up, no watermark, and nothing is uploaded anywhere. The whole thing runs in your browser, on your own device.
This guide walks you through the tool step by step, exactly as it appears on the page, explains when to choose each format, and covers the practical details that decide whether a barcode actually scans well in real life: print size, contrast, testing, and the honest limits of a free barcode image maker. By the end, you will know not only how to generate a barcode, but how to generate one that works.
If you are choosing between a barcode and a square code for your use, it is worth knowing the difference early. A traditional barcode like the ones this tool makes is a one-dimensional pattern of bars and spaces, best for a short number that a scanner reads at a till, in a warehouse, or at a stockroom desk. A QR code, by contrast, is a two-dimensional square that can carry a link, a Wi-Fi password, or a block of text, and is read by a phone camera. ToolPilot Pro has a separate free QR Code Generator for that job, and the site's guide on how to make a QR code free explains when a QR code is the better choice. For a product number, a stock code, or an inventory label that a barcode scanner will read, stay here: a barcode is the right tool, and the Barcode Generator is the quickest way to make one.
What the Barcode Generator Actually Does
In plain terms, the tool takes the characters you type and draws them as bars. That sounds simple, and for you as the user it is simple — but the drawing follows strict rules for each format, which is why a barcode made by a proper generator scans reliably while a barcode drawn by hand, or copied from a random image, often does not. Each format has its own alphabet of bar patterns, its own rules about which characters are allowed, and, for EAN13 and UPC, its own check digit: a final digit calculated from the digits before it, which lets a scanner catch a misread before it becomes a wrong product or a wrong stock count.
Here is what the tool gives you, in one place:
- A text or number input labelled "Text or number to encode", where you type exactly what the barcode should carry.
- A format choice with three options: CODE128 (any text), EAN13 (12–13 digits), and UPC (11–12 digits). EAN13 is selected when the page first opens.
- A bar width slider from 1 to 4, starting at 2, so you can make the bars narrower or wider.
- A bar height slider from 40 to 160, starting at 100, so you can make the barcode taller or shorter.
- A "Show value under the bars" checkbox, ticked by default, which prints the human-readable number or text beneath the bars so a person can read it too.
- A "Generate barcode" button, which draws the barcode in the preview area.
- A preview area, where the barcode appears on a clean white background, ready to be checked before you download it.
- A "Download PNG" button, below the preview, which saves the barcode as a PNG image you can print, paste into a label, or drop into a document.
- An honest error message, shown on the page itself if your input does not fit the format you picked, instead of a broken or misleading barcode.
Everything is generated in your browser. The note under the tool says it plainly: "Everything is generated in your browser — nothing is uploaded." That matters more than it might first appear. A barcode often encodes something commercially sensitive — a product list, an internal stock code, a membership numbering scheme — and there is no reason that information should travel to a server just to be drawn as bars. Here, it never leaves your device. Close the tab and it is gone, which is also why you should save the PNG files you want to keep somewhere safe of your own.
The tool is also deliberately narrow in scope, and that narrowness is a strength. It does one job — making a clean CODE128, EAN13, or UPC barcode image — and it does it without asking you to learn labelling software, choose a printer driver, or design a whole label. If you need a finished label with a product name, a price, and a logo around the barcode, the site's Business Card Maker shows the same browser-only approach applied to a small printed card, and the Invoice Generator covers the paperwork side of selling what you have labelled. For the barcode itself, though, this page is all you need.
Before You Start: What Number Should Go in the Barcode?
A barcode generator can only draw the number you give it. It cannot tell you whether that number is the right one, and for one important case — products you plan to sell in shops — the right number has to come from somewhere else first. This section is worth reading before you generate anything, because it is the difference between a barcode that works in your own stockroom and a barcode a retailer will accept.
For your own internal use, you choose the number. If you are labelling boxes in your own store room, books on your own shelves, tools in your own workshop, or files in your own office, the number only has to be unique inside your own system and consistent every time you use it. A short, sensible scheme beats a clever one: for example, a small shop might use its own internal stock numbers, a library might use its shelf numbers, and a craft seller might use a simple product code per item. Whatever scheme you pick, write it down somewhere, use it the same way every time, and never reuse a number for a different item. The barcode is only as reliable as the list behind it, and a list you keep in a notebook or a spreadsheet is perfectly good enough at this scale.
For products sold in shops, the number normally comes from the official numbering authority. Retail barcodes for products sold in stores normally come from GS1, the organisation that runs the global numbering system behind EAN and UPC codes. GS1 explains its barcode standards on its own site — see GS1's barcode standards overview and GS1's guide to GS1 barcodes — and its national organisations issue the company prefixes that make each product number globally unique. This tool makes the barcode image; it does not register a product code, issue you a company prefix, or put your product into any retail database. That distinction matters, and it is stated honestly here and on the tool page itself: if a retailer, a marketplace, or a distributor asks for a registered code, get that code from the official source first, and only then use this tool to draw it. Drawing a made-up 13-digit number and printing it on a product you intend to sell in a supermarket will not make that product scannable in their system, because their system looks the number up, and a number nobody registered will not be there.
For CODE128, the rules are looser, and that is the point. CODE128 is a general-purpose format, not a retail product format. It is used for internal labels, parcels, warehouse shelves, asset tags, tickets, and all the places where the barcode only needs to be read by your own scanner or your own system. Because it accepts letters and numbers, you can encode something readable and meaningful, such as a short stock reference, rather than a long string of digits. If you are unsure whether you need a retail code or an internal code, the question to ask is simple: will anyone else's scanner, outside your own business, need to look this number up? If the answer is yes, you need a registered number. If the answer is no, CODE128, or an EAN13 or UPC number from your own internal scheme, will do the job.
One more practical point before you start: decide whether you want the human-readable value printed under the bars, and leave the "Show value under the bars" checkbox ticked unless you have a reason not to. A barcode with its number printed underneath can still be typed in by hand when a scanner fails, when a label is damaged, or when someone is checking stock without a scanner to hand. That fallback costs nothing and has saved many a stocktake.
Step-by-Step Guide: Making Your First Barcode
The steps below follow the tool's real controls, in the order they appear on the page. If you have the Barcode Generator open in another tab, you can follow along and have your first barcode downloaded in under a minute.
Step 1: Open the Barcode Generator
Open the free Barcode Generator. There is nothing to install and nothing to sign into. The page loads with an example already in the input box — the number 5901234123457 — and EAN13 already selected as the format. That example is there so you can see the tool working immediately: press "Generate barcode" and a barcode appears in the preview. You will replace that example with your own number in the next step, but generating the example first is a useful sanity check that the tool is working in your browser.
Step 2: Type Your Text or Number in "Text or number to encode"
Click into the field labelled "Text or number to encode" and type exactly what you want the barcode to carry. Delete the example first, or select it and type over it — do not leave stray example digits at the start or end of your own number, because every digit counts and a barcode with an extra digit is a different barcode.
Type carefully, and double-check what you typed before you generate. A barcode hides typing mistakes rather than revealing them: the bars all look alike to the eye, so a wrong digit will not jump out at you the way a misspelt word does. If the human-readable value is shown under the bars, read it back against your source — your product list, your stock sheet, or your order note — digit by digit. For a long run of labels, that one check is the cheapest quality control you will ever do.
What you can type depends on the format you pick in the next step, and the rules are strict for a good reason:
- CODE128 accepts letters and numbers, so a short reference like HELLO-2026 (the tool's own example of CODE128-style text) is fine.
- EAN13 needs digits only, 12 or 13 of them.
- UPC needs digits only, 11 or 12 of them.
If you type letters into an EAN13 or UPC barcode, or too few or too many digits, the tool will not draw a broken barcode and pretend it worked. It shows an error message on the page, in the error area below the download button, telling you the input does not fit. That is the honest behaviour you want: a wrong barcode that looks right is far worse than an error message, because the wrong barcode gets printed, stuck on products, and discovered only when a scanner refuses it or, worse, reads it as something else. When you see the error, fix the input — count the digits, remove any spaces or letters for EAN13 and UPC — and generate again.
Step 3: Choose Your Format — CODE128, EAN13, or UPC
Use the dropdown labelled "Format". It offers three choices, written exactly as follows: "CODE128 (any text)", "EAN13 (12–13 digits)", and "UPC (11–12 digits)". EAN13 is selected by default when the page opens, so if you want CODE128 or UPC, change it deliberately rather than assuming it is already set.
Choosing the format is the most consequential click on the page, so it gets a full section of its own later in this guide: Choosing the Right Format. The short version is this: use EAN13 for a 13-digit retail-style number, UPC for a 12-digit retail-style number (the kind most common in the United States and Canada), and CODE128 for anything else — internal codes, references with letters in them, and labels only your own system needs to read. If your number has 12 digits and you are not sure whether to enter it as EAN13 or UPC, read the format section before you print a batch: the two formats count digits differently, and entering a number in the wrong one is the most common beginner mistake.
Step 4: Set the Bar Width
Below the format dropdown, you will find the "Bar width" slider, with its current value shown beside the label. It runs from 1 to 4, and it starts at 2. Drag it left for narrower bars and a narrower barcode overall, or right for wider bars and a wider barcode.
Bar width is a trade-off, and the default of 2 is a sensible middle ground for most uses. Narrower bars (1) let a barcode fit into a tight space on a small label, but they demand a better printer and a better scanner: a cheap printer can blur very narrow bars together, and an old scanner can struggle to resolve them. Wider bars (3 or 4) are easier to scan, especially from a distance or on a rough surface, but they make the barcode wider, which may not fit your label. A good rule is to start at the default, print a test copy, and scan it with the actual scanner or phone you will use. Only go narrower if space genuinely forces you to, and only go wider if scanning proves unreliable. Never shrink a finished barcode image in an image editor to make it fit — that thins every bar at once, including the narrow ones, and is the fastest way to produce a barcode that looks fine and scans badly. If you need a smaller barcode, regenerate it at a smaller bar width instead, and test the result.
Step 5: Set the Bar Height
Next to the width slider is the "Bar height" slider, running from 40 to 160 and starting at 100. This controls how tall the bars are, not how wide the barcode is. Taller bars are easier for a scanner to find and read, especially when the scanner is hand-held and the label is not perfectly aligned. Shorter bars save vertical space on a label.
The same test-first principle applies. The default height of 100 suits most labels. Go taller if the barcode will be scanned by hand at arm's length, on a warehouse shelf, or on a curved surface such as a bottle or a tube, where only part of the barcode may face the scanner squarely. Go shorter only when vertical space is genuinely tight, and never so short that the barcode becomes a thin strip: a very short barcode gives the scanner's beam little to work with, and a slightly tilted scan can miss it entirely. If you are printing on a small label, it is usually better to keep the height generous and trim the text around the barcode instead.
Step 6: Decide Whether to Show the Value Under the Bars
Below the sliders is a checkbox labelled "Show value under the bars", ticked by default. Leave it ticked in almost every case. The printed number under the bars is your fallback: it lets a person read the code without a scanner, type it in when a scanner fails, and check at a glance that the right label went on the right item. It also makes a mislabelled batch much easier to spot, because a human can compare the printed number with a list without scanning every item.
The only common reason to untick it is a label design where the number is already printed elsewhere on the label, right beside the barcode, and printing it twice would look cluttered. Even then, think twice: a label and its barcode can get separated in handling, and a barcode without its number is unreadable to a person. When in doubt, keep the value visible.
Step 7: Press "Generate barcode" and Check the Preview
Press the button labelled "Generate barcode". The barcode appears in the preview area, on a white background inside a bordered box, with the value underneath if you left that checkbox ticked.
Stop and look at the preview before you download anything. Check three things:
- The number under the bars matches what you typed. Read it digit by digit against your source. This is your last easy chance to catch a typing error.
- The bars look clean and even. There should be no grey smudging, no bars merged together, and no gaps where a bar should be. On a screen, a generated barcode should look crisp; if it looks fuzzy, something is wrong with the display rather than the barcode, but do not print from a fuzzy preview — regenerate and look again.
- The size suits your label. Imagine it at the size you will print it. If it will be much smaller than it appears on screen, remember that shrinking the PNG later will thin the bars, so regenerate at a smaller bar width instead, as explained in Step 4.
If anything is wrong, change the input or the sliders and press "Generate barcode" again. Regenerating costs nothing and takes a second, so there is no reason to download a barcode you are unsure about.
Step 8: Download the PNG
Below the preview, press the button labelled "Download PNG". The barcode saves as a PNG image file, which you can then print, paste into a document, or place into a label design. PNG is a good format for this job: it keeps the sharp edges of the bars without the compression smudging that a JPEG would introduce, and it is accepted by virtually every document and labelling program.
Keep the downloaded file somewhere you can find it again, with a filename that tells you what it is — the product or item name, not just "barcode". If you are making a batch of barcodes, save each one as you go and keep a list matching filenames to items. The tool does not save anything for you, because nothing is uploaded or stored, so your own filing is the record. That is a feature, not a missing feature: it is what keeps your codes private. But it does mean the discipline of naming and saving files is yours.
Once you have the PNG, you can drop it into a document. If you need a printable document from an image, the site's Image to PDF tool converts images into a PDF, and the Word to PDF tool does the same for a Word document containing your labels. If you are putting several barcodes on one sheet, place them in your document at their generated size, or larger — never smaller than the size at which you tested them — and print a test sheet before you print the full run.
Choosing the Right Format: CODE128 vs EAN13 vs UPC
This is the decision most people get wrong, so it is worth taking slowly. The three formats are not interchangeable skins for the same number. They are different encodings with different rules, and a number encoded in the wrong format is not merely untidy — it may be unscannable, or scannable as the wrong thing.
CODE128: the flexible all-rounder
CODE128 is the format to reach for when you control both ends of the process — when your own scanner, your own app, or your own staff will read the barcode, and no outside system needs to look the number up. It accepts letters and numbers, so it can carry a meaningful reference rather than a bare number: a stock code, a job reference, an asset tag, a shelf location, a ticket code. That readability is a genuine advantage for internal use, because a code like a short warehouse reference is easier to file, discuss, and troubleshoot than a random string of digits.
Typical CODE128 uses include internal stock labels, asset tags on equipment, file and archive references, workshop job cards, library or classroom resources that are not sold, event tickets checked by your own staff, and parcel or box labels inside your own dispatch process. If the barcode will only ever be read by you and your team, CODE128 is almost always the right answer, because it is the most forgiving format and the one that lets you encode what you actually mean.
One caution applies even here: keep CODE128 values short and consistent. A very long value makes a very wide barcode, which is hard to fit on a label and hard to scan in one pass. If your reference is long, ask whether the whole thing needs to be in the barcode, or whether a short code that points to a record in your list would do the same job better. Short codes scan faster, print smaller, and are easier to reprint when a label is damaged.
EAN13: the international retail standard
EAN13 is the 13-digit barcode seen on products sold in shops across most of the world outside North America. In this tool, EAN13 needs 12 or 13 digits: enter 12 digits and the tool works out the 13th, the check digit; enter all 13 and the full number is encoded. That check digit is not decoration. It is calculated from the other digits, and a scanner uses it to detect a misread. If you enter 12 digits and the generated barcode shows a different final digit from the one you expected, trust the generated one and check your source — the check digit is doing its job.
Use EAN13 when you have a 13-digit number, when your products are sold internationally, or when a retailer or distributor has given you a 13-digit code to print. In practical terms, if you are in Europe, Asia, Africa, or Latin America and you are dealing with retail products, EAN13 is the format you will meet most often. GS1's own barcode standards pages describe EAN/UPC as the first and most widely deployed GS1 barcodes, designed for the high-volume scanning environment of a retail till — which is a useful reminder that this format was built for speed at a checkout, not for a back-room label.
The honest limit, repeated because it matters: this tool draws the EAN13 image, but it does not give you a registered EAN. If you are selling products in shops and you do not already have a registered number, talk to your national GS1 organisation before you print anything in bulk. Printing an unregistered number on retail packaging is wasted printing, because the retailer's system will not recognise it.
UPC: the North American retail standard
UPC is the 12-digit barcode most common on products sold in the United States and Canada. In this tool, UPC needs 11 or 12 digits: enter 11 and the check digit is worked out for you; enter all 12 and the full number is encoded. The logic mirrors EAN13, with one fewer digit, and the same honesty rule applies: a UPC image is not a UPC registration.
Use UPC when you have a 12-digit number, when your products are sold in the United States or Canada, or when a North American retailer or marketplace has specified a UPC. A clear explanation of the difference between UPC and EAN codes notes that both sit under the GS1 standards umbrella and encode the same kind of product data, with the most immediate visible difference being the number of digits: a UPC encodes 12 digits and an EAN encodes 13. That single-digit difference is the whole story for most users — it is why you cannot simply retype a UPC number into the EAN13 format, or vice versa, and expect the same product to come up. The formats are cousins, not twins.
A quick decision table
| Your situation | Format to choose | What to type |
|---|---|---|
| Internal label, stock code, or asset tag, read by your own scanner | CODE128 | Letters and numbers, kept short |
| 13-digit retail number, or a 12-digit number you want completed to 13 digits | EAN13 | 12–13 digits, digits only |
| 12-digit retail number, or an 11-digit number you want completed to 12 digits | UPC | 11–12 digits, digits only |
| A link, a Wi-Fi password, or text for a phone camera to read | Neither — use a QR code | See the QR Code Generator |
| A product to sell in shops, with no registered number yet | Get the number first, then use EAN13 or UPC | Talk to GS1 before printing in bulk |
If you are still unsure after that table, CODE128 is the safe choice for anything internal, and asking your retailer or distributor which format they expect is the safe choice for anything external. Guessing on a retail format is the one mistake that costs a full print run.
Practical Tips: Printing, Contrast, and Testing
A barcode that looks perfect on screen can still fail on paper, and the reasons are almost always physical: size, contrast, surface, or a damaged print. The tips below are the ones that make the difference between a barcode that scans first time and one that gets typed in by hand while a queue waits.
Print at 100% scale, or larger — never smaller than tested. When you print a label, check that your printer or document program is not scaling the page down to fit margins. A barcode printed at 90% or 80% of the size you tested has thinner bars than the one you tested, and thin bars are the first thing a scanner loses. If your document program offers a "fit to page" option, turn it off for label sheets, or set the scale to 100% and check the printed size against your screen preview with a ruler.
Black bars on a white background, always, for anything important. Scanners read contrast, not colour. The strongest, most reliable combination is black bars on white, and the tool's preview shows your barcode exactly that way, on a white background. Coloured bars, coloured backgrounds, and patterned packaging all reduce contrast, and a combination that looks clear to your eye can be unclear to a scanner's red beam. GS1's barcode guidance makes the same point: dark colours for bars and light backgrounds for the spaces and the quiet zones around the symbol. If your brand colours tempt you to print a barcode in a brand colour, resist it for anything that must scan reliably, or at the very least test the coloured version thoroughly before committing to it. A barcode is a functional mark first and a design element second.
Leave quiet space around the barcode. The blank area immediately before the first bar and after the last bar is called the quiet zone, and scanners need it to know where the barcode starts and ends. Do not run text, borders, logos, or the edge of a label right up against the bars. The tool's preview already shows the barcode with white space around it, and your label should preserve that breathing room. If you crop the PNG tightly in an image editor, leave a margin of white on both sides. Cropping into the quiet zone is a silent way to break an otherwise perfect barcode.
Mind the surface. Flat, matte, light-coloured surfaces scan best. Curved surfaces, such as bottles and tubes, distort the bars when viewed from an angle, so place the barcode where the surface is flattest, or print it taller so more of it faces the scanner. Glossy surfaces and transparent wrapping can reflect the scanner's beam, so test a wrapped product, not just a bare label, if the product will be wrapped. Very small items are a special case: if the product is tiny, do not shrink the barcode to fit it — put the barcode on the outer packaging, the shelf edge, or a hang tag instead, where it can be printed at a scannable size.
Test with the real scanner, on the real label, before the full print run. This is the single most valuable tip in this guide. Print one copy on the actual label material, with the actual printer, and scan it with the actual scanner or phone app that will be used in practice, at the distance and angle it will be used at. Try it a few times, including once in the lighting conditions of the real location. If it scans first time, every time, print the run. If it hesitates, increase the bar width or the bar height, reprint one copy, and test again. A five-minute test saves a print run, and a print run saved is the cheapest quality control in the whole process.
Keep a master copy of every barcode you print. Save the PNG, and keep a list matching each barcode to its item. If a label is damaged, a batch needs reprinting, or a new staff member needs to understand the system, the master copy is what you reach for. Because the tool stores nothing, your own folder is the archive — give it a clear name, such as a folder per product range or per year, and back it up the way you would back up any business record.
Do not photocopy barcodes repeatedly. Each photocopy softens the edges of the bars slightly, and after a few generations a barcode that once scanned cleanly becomes unreliable. Always print from the original PNG, or from a document that contains the original PNG at full size. If a label sheet has been photocopied and the barcodes start failing, the copies, not the scanner, are the prime suspect.
Example Uses: Where a Free Barcode Earns Its Keep
The examples below are illustrative only — they are labelled as examples, not as case studies, and they describe the kinds of jobs this tool suits rather than any particular business. If one of them matches your situation, the steps in this guide apply directly.
Example: a small shop's back-room stock. A shopkeeper keeps boxes of the same product in a back room and wants to find them without reading every box. She gives each product line a short internal CODE128 reference, prints a barcode for each one, and sticks it on the shelf edge above that product's boxes. When stock arrives, she scans the shelf label and the delivery note together, and the system — or even a simple spreadsheet she keeps — knows what went where. No retail registration is involved, because nothing here is sold by its barcode at a till; the barcode is a finding aid for her own stockroom.
Example: a market stall's price and stock labels. A stallholder sells handmade items that change with the season. For each item type, he generates a CODE128 barcode for an internal product code, prints it on a small card with the item name and price, and uses it at his own till or stock check. When an item type sells out, he retires its code and never reuses it for a different item. The barcodes cost nothing to make, which matters when the range changes every few weeks.
Example: a home library or classroom collection. A teacher with a shelf of shared books wants to lend them without losing track. She numbers the books in her own scheme, generates a barcode per book, and sticks it inside the front cover. A phone scanner app and a simple list then tell her which books are out and which are back. Because the books are not sold, no retail code is needed, and CODE128 is the natural format.
Example: a workshop's tools and parts bins. A workshop keeps parts in labelled bins and tools on a board. Each bin gets a CODE128 barcode for its part reference, and each high-value tool gets an asset tag with its own code. Booking a tool out becomes a scan rather than a written note, and a missing tool is noticed at the next stock check rather than at the next job that needs it. The Business Card Maker is not needed here, but the same principle applies: a small printed thing, made in the browser, that organises a real-world job.
Example: a small online seller's dispatch labels. A seller packing orders prints a CODE128 barcode for each order reference and sticks it on the parcel. In her own packing area, scanning the parcel confirms it matches the order before it is sealed. The courier's label is separate — the courier has its own system — but her internal barcode stops the classic mistake of sealing the right product into the wrong parcel. For the invoice that goes with the order, the site's Invoice Generator covers the paperwork, and for a packing list or label sheet, the Image to PDF tool can turn label images into a printable PDF.
Example: a registered product, printed correctly. A small producer has obtained a registered 13-digit number from GS1 for a new product. She types that exact number into the tool, selects EAN13, leaves "Show value under the bars" ticked, generates the barcode, checks the printed number digit by digit, downloads the PNG, and places it on her packaging artwork at a size she has test-scanned. The tool did not register her product — GS1 did — but it gave her a clean, printable barcode image for the number she already owned, at no cost. That division of labour is exactly how the tool is meant to be used for retail products.
Notice what these examples have in common: the barcode is a pointer to a record, not the record itself. The value is in the list behind it — the stock list, the lending list, the order list — and the barcode is simply the fastest, most error-proof way to point at an entry in that list. Build the list first, keep it tidy, and the barcodes will do their job.
Barcode vs QR Code: Which One Do You Actually Need?
Because ToolPilot Pro offers both a Barcode Generator and a QR Code Generator, and because people often use the two words interchangeably, a short comparison saves confusion.
A barcode is one-dimensional: a row of bars encoding a short number or reference. It is read by a barcode scanner or a scanner app, it carries little data, and it is ideal when the data is a key that points to a record somewhere else — a product in a till system, an item in a stock list, a book in a lending list. Its strengths are speed, simplicity, and compatibility with the scanners already installed in shops and warehouses.
A QR code is two-dimensional: a square pattern encoding much more data, including a web link, a block of text, or a Wi-Fi login. It is read by an ordinary phone camera, it needs no special scanner, and it is ideal when the person scanning is a customer or a member of the public, and the thing you want them to reach is a web page, a menu, a contact card, or a payment page. The site's guide on how to make a QR code free walks through those uses in detail, including links, Wi-Fi, menus, and contact cards.
The practical rule is simple. If a scanner at a till, in a warehouse, or on a stockroom desk will read it, and the data is a short code, use a barcode. If a customer's phone camera will read it, and the data is a link or a message, use a QR code. If you are labelling products for sale, use the retail barcode format your retailer expects, as explained in the format section. Choosing the wrong one is not a disaster — both tools are free and take seconds — but choosing the right one first saves a reprint.
It is also worth noting that the two tools share the same privacy model: both run entirely in your browser, and neither uploads what you type. If you are weighing up which code to put on a label that carries anything sensitive, that model matters for both, and it is one reason to prefer a browser-based generator over a service that asks you to create an account before it draws anything.
Honest Limits: What This Tool Does Not Do
A good tool description says what the tool cannot do as clearly as what it can. Here are this tool's limits, stated plainly, so you do not discover them after a print run.
It does not register a product code. Retail barcodes for products sold in stores normally come from the official numbering authority, GS1. This tool makes the barcode image; it does not issue a company prefix, register a product, or enter your product into any retail or marketplace database. If you need a registered code, get it from GS1 first.
It does not check whether a number is already in use. The tool cannot know whether the number you typed belongs to someone else's product, whether it is already registered, or whether it clashes with an existing item in your own list. Checking that is your job, using your own records for internal codes and the official source for retail codes.
It does not validate a full EAN13 or UPC check digit you type in. It requires the right number of digits — 12 or 13 for EAN13, 11 or 12 for UPC — and it shows an honest error when the input does not fit. But if you type a complete 13-digit number with a wrong final digit, the tool will draw the number you typed, because it cannot know your intended number. That is why the guide keeps repeating the same advice: check the number under the bars against your source, digit by digit, before you print.
It offers three formats only. CODE128, EAN13, and UPC cover the overwhelming majority of everyday barcode jobs, but they are not every barcode format in existence. If a partner, a courier, or a specialist system specifies a different format — for example a two-dimensional code, a postal barcode, or a specialist logistics format — this tool will not make it, and you should use a generator built for that format rather than forcing your number into one of these three. The QR Code Generator covers the most common alternative, the QR code, but it is a different kind of code, not a substitute barcode format.
It makes a barcode image, not a finished label. The PNG is the barcode itself, on white, with its number underneath if you chose that option. It does not add a product name, a price, a logo, a border, or a label layout. If you want a designed label around the barcode, place the PNG into your label document or design tool. If you want a small printed card for other purposes, the Business Card Maker shows how a browser tool can handle a full card layout — but for a barcode label, your document or label program is where the surrounding design belongs.
It does not save your work. Because nothing is uploaded or stored, there is no account to return to and no history of barcodes you made. That is the privacy trade-off, and it is deliberate. Save your PNGs, keep your list, and name your files clearly, because the tool will not remember them for you.
It cannot fix a bad print. A barcode generated perfectly can still scan badly if it is printed too small, in low contrast, on a glossy or curved surface, or photocopied repeatedly. The printing and testing tips in this guide exist for exactly that reason. If a barcode will not scan, check the print before blaming the generator: print at 100%, in black on white, with quiet space around it, and test again.
It needs a modern browser. The tool runs in your browser, so it needs a reasonably up-to-date browser to draw the barcode and download the PNG. That is true of the site's other browser tools too, from the Word Counter to the Image Converter. If the tool does not load, updating your browser is the first step, before assuming anything else is wrong.
None of these limits makes the tool less useful for its intended job. They define that job: a fast, free, private way to turn a number you already own into a clean, printable barcode image. Used inside those limits, it is exactly enough — and knowing the limits is what keeps a free tool from becoming an expensive mistake.
Privacy: What Happens to Your Numbers?
Short answer: nothing leaves your device. The barcode is generated in your browser, the number you typed is never uploaded to a server, never stored, and never shared. When you close the tab, the tool forgets everything, including the number you typed and the barcode it drew.
That is worth stating explicitly because many free online tools do the opposite: they send your input to a server to process it, and their privacy policy then governs what happens to it. Here there is no server step to govern, because there is no server step. The same browser-only model applies across the site's tools — the QR Code Generator, the Word Counter, the Image to PDF tool, and the Business Card Maker all work the same way — which is why the site can offer them without accounts and without asking for personal details.
There is one privacy habit that is still yours to keep: the PNG files you download, and the list matching codes to items, live on your device from the moment you save them. Treat that list the way you would treat any business record. If it contains supplier prices, internal margins, or anything else you would not want shared, keep it in a folder with sensible access, and do not email the whole list to someone who only needs one barcode. The tool protects your numbers while you generate them; your filing protects them afterwards.
Other Free Tools That Pair Well With a Barcode
A barcode rarely lives alone. It usually sits on a label, in a document, or alongside paperwork, and the site's other free tools cover those neighbours without changing the privacy model or asking for an account.
If your barcode needs to reach a customer by phone camera rather than a scanner, the QR Code Generator is the sibling tool, and the guide on how to make a QR code free explains its uses. If you are preparing a product sheet, a label document, or a price list, the Word Counter helps you check the text length, and the guide on how to count words and characters free explains its extra counts, including reading time. If you are turning a document into a printable file, the Word to PDF tool and the guide on how to convert PDF to Word free cover both directions of that conversion. If you are preparing product photos for a listing or a label, the Image Converter and the Image Resizer handle format and size, and the guide on how to remove background from image free covers cleaning up a product photo.
For the business side, the Invoice Generator covers the invoice that goes with the labelled goods, the Business Card Maker covers a card to go with them, and the site's guide to the best AI tools for small businesses and the best AI productivity tools put those tools in a wider context of saving time without enterprise prices. If you are a freelancer rather than a shopkeeper, the best AI tools for freelancers guide covers the same question from your side of the desk. And if a barcode is one small part of a bigger job hunt or career move, the CV Maker from Image and the Resume Builder are the site's tools for that job, with the best AI resume builders guide comparing the wider field.
The point of listing these together is not to send you on a tour of the site. It is that a barcode job is usually one step in a workflow — label, document, invoice, listing — and doing every step in the same browser-only, no-account way keeps the whole workflow as private and as quick as the barcode step itself.
Frequently Asked Questions
Is the Barcode Generator really free?
Yes. There is no account, no sign-up, no trial, and no watermark on the PNG you download. Open the free Barcode Generator, type your number, choose a format, generate, and download. That is the whole transaction.
Which format should I choose: CODE128, EAN13, or UPC?
Use CODE128 for internal codes, references with letters in them, and anything only your own system will read. Use EAN13 for a 13-digit retail-style number, and UPC for a 12-digit retail-style number, most common in the United States and Canada. If you are selling products in shops and do not yet have a registered number, get that number from the official numbering authority first — the tool draws the barcode image, it does not register the code. The format section of this guide has a decision table if you want to check before you print.
Why does the tool show an error instead of a barcode?
Because your input does not fit the format you picked, and drawing a broken barcode would be worse than showing an error. EAN13 needs 12–13 digits and UPC needs 11–12 digits, digits only. Letters, spaces, or the wrong number of digits trigger the error message on the page. Fix the input — count the digits, remove letters and spaces for EAN13 and UPC — and generate again. Never work around an error by forcing the number into a different format; pick the format that matches your number.
Does the tool save or upload my barcode numbers?
No. Everything is generated in your browser, and nothing is uploaded, stored, or shared. When you close the tab, the tool forgets what you typed. Save the PNG files you want to keep, and keep your own list matching codes to items, because there is no account to return to later.
Can I print the PNG on a label?
Yes. The PNG is designed for exactly that: print it at 100% scale, in black on white, with blank quiet space around it, and test one printed copy with your real scanner before printing a full run. Do not shrink the PNG in an image editor to make it fit — regenerate it at a smaller bar width instead, and test the result. If you need a printable document, the Image to PDF tool can turn the image into a PDF, and the Word to PDF tool does the same for a Word label sheet.
Will a barcode I make here work in a shop's till system?
Only if the number itself is recognised by that system. For your own till or stock system, a CODE128 or internal EAN13/UPC number you control will work, because your system looks it up in your own list. For another retailer's till, the number must be a registered retail code from the official numbering authority. The barcode image is the same in both cases; what differs is whether the number behind it exists in the system reading it.
What if my barcode will not scan?
Work through the physical causes first: print at 100% scale in black on white, leave quiet space around the bars, check the surface is flat and matte rather than glossy or sharply curved, and do not print from a photocopy. Then try a wider bar width or a taller bar height, regenerate, print one test copy, and scan it with the real scanner. If it still fails, re-check the number under the bars against your source, digit by digit — a single wrong digit is invisible to the eye but obvious to a scanner.
Try It With Your Own Number
You do not need labelling software, an account, or a budget to make a barcode that scans. Open the free Barcode Generator, type the number you already own or the internal reference you have just decided on, pick CODE128, EAN13, or UPC to match it, check the preview digit by digit, and download the PNG. Print one test copy, scan it with the scanner you will actually use, and only then print the run. That is the whole process — a minute to generate, a minute to test, and a label that works every time it is scanned. For a link or a message a phone camera should read instead, the free QR Code Generator is the sibling tool, and the guide on how to make a QR code free covers it in the same step-by-step way.
Reader reviews
Loading reviews…
