Bulk Barcode & QR Code Generator
Paste line-separated data to generate QR/barcode images all at once and download them as a ZIP.
EAN-13 / JAN Check Digit Calculator
The last digit of an EAN-13 or JAN barcode is a check digit calculated from the other 12 digits, letting scanners catch typos or misprints. Enter the first 12 digits of your product code to instantly get the correct 13th digit, without generating an image.
3 Steps to Use
1. Prepare data
Copy a list of product codes/URLs from Excel or your inventory system, or prepare a .txt/.csv file.
2. Paste & generate
Paste it into the input box, choose the code type and colors, then click "Generate in Bulk."
3. Save as ZIP
Once generation finishes, download items individually or all at once as a ZIP.
Frequently Asked Questions
Q.Is it free to use?
A.Yes, you can use it for free with no sign-up or payment required.
Q.Is my data stored on a server?
A.No. All generation happens entirely in your browser — the text you enter and the images produced are never sent to a server.
Q.How many codes can I generate at once?
A.Up to 1,000 at a time. For more, please split your data across multiple runs.
Q.Why do I keep getting "invalid code" for EAN-13?
A.An EAN-13 code consists of 13 digits including a check digit. If the last digit doesn't match the GS1 checksum rule, it's flagged as an error. Double-check that you're using the exact 13-digit number issued by your barcode provider.
EAN-13 vs CODE128: Which Should You Use for Inventory Management?
When identifying products for an online store or a small warehouse, you'll often have to choose between EAN-13 and CODE128. EAN-13 is a 13-digit standard barcode registered with the global GS1 distribution system, making it suitable for products that need to exchange data with external systems such as retail POS terminals or major distributors. However, it requires a GS1 company prefix, and its fixed 13-digit numeric format makes it hard to encode your own internal codes (e.g., a combination of warehouse location and lot number).
CODE128, on the other hand, can freely combine letters, numbers, and symbols, which is why it is widely used for internal inventory management. For example, a code like "WH1-A03-LOT2024-001" can encode both a warehouse location and a lot number, letting a single scan reveal both location and receiving history. If you only scan within your own warehouse or store and do not need to share codes externally, CODE128 is the faster and more flexible option since it requires no GS1 registration.
In short: use EAN-13 for products that need to be shared externally, such as listings on open marketplaces or shipments to major distributors, and use CODE128 for internal inventory/warehouse management codes. Many businesses use both — printing EAN-13 on the outer packaging while attaching a separate CODE128 label for internal management.
Practical Tips to Improve Scanner Recognition When Printing Labels
- Leave a quiet zone. If there isn't at least 2–4mm of empty space on either side of the barcode/QR code, the scanner may fail to detect where the code starts and ends. Printing a code to fill the entire label significantly hurts recognition.
- Do not lower the color contrast. A light code on a dark background, or a low-contrast gray combination, might look nicer, but it makes it much harder for a scanner to distinguish the code from the background, sharply increasing scan failures. If this tool shows a contrast warning, be sure to adjust your colors.
- Check your print resolution. Thermal label printers at low resolution (e.g., 203dpi) can blur thin barcode lines. Avoid shrinking the code too much, and print at 300dpi or higher when possible.
- Watch out for glossy/laminate glare. Glossy coatings that reflect light can make it hard for both laser and camera scanners to read the code. Use matte label stock, or test at different lighting angles.
Try our other free tool: PDF Redaction Tool