Your files never leave your device. All processing happens locally in your browser.
How do I make printable barcode labels for free?
Open AnyTool’s Barcode Label Maker, choose a barcode type (Code 128, EAN-13, UPC-A, EAN-8, Code 39, ITF / ITF-14 or QR), type a value, and add an optional title, SKU and price. The tool validates your value, auto-adds the GS1 check digit for EAN/UPC/ITF-14, and draws a real, scannable barcode live. Pick an Avery preset (5160, 5163, 5167, 5260, L7160, L7163, L7651) or a custom grid, then either repeat one value as N copies or paste a list to get one unique label per line. Download a print-ready PDF laid out at exact size, or a PNG of a single barcode. Everything is generated in your browser — nothing is uploaded.
Seven 1D symbologies plus 2D QR — each input is validated and the GS1 check digit is computed for EAN-13, UPC-A, EAN-8 and ITF-14
Avery presets (5160/8160, 5163, 5167, 5260 on Letter; L7160, L7163, L7651 on A4) or a fully custom grid (label size, columns, rows, margins, gaps)
Batch mode: paste a column of SKUs to get one unique barcode per line, or repeat a single value as many copies
Print-ready PDF built locally with pdf-lib at exact physical size, plus a single-barcode PNG
100% client-side — your barcode values, SKUs and prices never leave your device
What is
Barcode Label Maker
A barcode label maker is a tool that encodes a value into a standard barcode symbology — such as Code 128, EAN-13, UPC-A or a QR code — with optional product text, then arranges many labels on a printable sheet (an Avery template or a custom grid) and exports a print-ready PDF you can run through a label printer.
Generator
Related terms
Code 128EAN-13UPC-ACode 39ITF-14QR CodeCheck DigitGS1Avery LabelQuiet Zone
Frequently Asked Questions
Yes. It is free with no signup, and every barcode and label PDF is generated in your browser — your values, SKUs and prices are never uploaded.
AnyTool’s Barcode Label Maker is completely free with no account or watermark. Each 1D barcode is drawn on a canvas with the jsbarcode library, QR codes use a built-in engine, and the label sheet is assembled into a PDF locally with pdf-lib, so your barcode values, titles, SKUs and prices never leave the browser. There is no server and no CDN, and the tool works offline once the page is cached.
Use Code 128 for general SKUs, EAN-13/UPC-A for retail, ITF-14 for cartons and QR for URLs. A check digit is a final digit calculated from the others to catch scan errors.
Pick Code 128 for general-purpose internal labels, inventory and shipping (it encodes letters, numbers and symbols); EAN-13 for retail products outside North America (13 digits) and UPC-A in the US and Canada (12 digits); EAN-8 for small packages; Code 39 for older or legacy systems; ITF or ITF-14 for shipping cartons; and a QR code for URLs or longer text. The last digit of an EAN-13, UPC-A, EAN-8 or ITF-14 code is a “check digit” calculated from the preceding digits with a GS1 modulo-10 formula so a scanner can detect mis-reads — this tool computes it for you, so you can enter 12 digits for an EAN-13 and it appends the correct 13th.
Yes. Switch to list mode, paste a column of SKUs to get one unique barcode per line, choose an Avery preset or a custom grid, and download a print-ready PDF.
Use “List → one label each” and paste your values (one per line or comma-separated) to generate a unique barcode for every entry, or use “Single value × copies” to repeat one barcode. Then choose a label sheet — Avery 5160/8160, 5163, 5167 or 5260 on US Letter, or L7160, L7163 or L7651 on A4 — or define your own label width, height, columns, rows, margins and gaps. The grid fills left-to-right and top-to-bottom and paginates onto extra pages automatically, and the print-ready PDF is built with pdf-lib at the exact physical size for your label sheet.
It generates valid, scannable symbologies, but EAN/UPC numbers must be ones you own from GS1, and you should print at 100% and test a scan before mass-printing.
The tool produces standard, valid barcode symbologies that scanners recognise. However, for a retail barcode (EAN-13 or UPC-A) to be valid in stores, the number must be one you own or are licensed for — these are issued by GS1, and a made-up number may scan but is not registered to your product. For reliable scanning, print at 100% / actual size (turn off “fit to page” and printer scaling) so the bar widths and the quiet zone stay correct, do a test print on plain paper to check alignment with your label sheet, and verify a real scan with a scanner or phone before printing a large run.
Detailed Explanation
📖How It Works
In-Browser Barcode + Label Sheet Generation
AnyTool’s Barcode Label Maker encodes a value into a real, scannable barcode and lays many labels onto a printable sheet entirely in the browser. Seven 1D symbologies — Code 128, EAN-13, UPC-A, EAN-8, Code 39, ITF and ITF-14 — are rendered with the jsbarcode library, and 2D QR codes reuse the app’s existing qrEngine (the qrcode package). Each value is validated against the rules of its symbology and, for the GS1 family, the modulo-10 check digit is computed automatically. The label sheet is assembled into a print-ready PDF locally with pdf-lib at the exact physical size, so no value, SKU or price is ever uploaded.
Code 128 for general SKUs/inventory/shipping; EAN-13 (retail, 13 digits) and UPC-A (US/Canada, 12 digits) for retail; EAN-8 for small packs
Code 39 for legacy systems; ITF and ITF-14 (GTIN-14) for shipping cartons; QR for URLs or any text
Per-type validation with automatic GS1 check digit for EAN-13, UPC-A, EAN-8 and ITF-14 (enter 12 digits, the 13th is appended)
A pasted list produces one unique barcode per line (batch); a single value can be repeated as N copies
1D via jsbarcode, QR via qrEngine, sheet PDF via pdf-lib — all client-side, no server, no CDN
⚙️Methodology
Avery Presets, Custom Grids and Print-Ready PDF
The maker ships Avery / A4 label presets and a fully custom grid. Letter presets include Avery 5160/8160 (1×2-5/8 in, 30-up, 3×10), 5163 (2×4 in, 10-up), 5167 (1/2×1-3/4 in, 80-up) and 5260; A4 presets include L7160 (63.5×38.1 mm, 21-up, 3×7), L7163 (99.1×38.1 mm, 14-up) and L7651 (38.1×21.2 mm, 65-up). A custom grid lets you set label width, height, columns, rows, page margins and the gaps between labels on Letter or A4. The PDF engine converts millimetres to PDF points (1 in = 72 pt), fills the grid left-to-right and top-to-bottom, paginates onto extra pages automatically, and scales each embedded barcode image to fit its cell with optional title and SKU above and a price below.
Custom grid: label W×H, columns, rows, top/left margins and column/row gaps on Letter or A4
Millimetres converted to PDF points (1 in = 72 pt) so labels print at true physical size
Grid fills left-to-right, top-to-bottom and paginates automatically; optional faint cut outlines aid alignment
Each cell shows title + SKU above the barcode and price below, scaled to fit
⚠️Limitations
Honest Scope: GS1 Licensing, Print at 100% and Test a Scan
The tool generates standard, valid symbologies, but it states clearly what that does and does not guarantee. For a retail barcode (EAN-13 or UPC-A) to be valid in stores, the number must be one you own or are licensed for — these are issued by GS1; an arbitrary number may scan but is not registered to your product. Scannability also depends on printing: you should print at 100% / actual size (disable “fit to page” and printer scaling) so bar widths and the quiet zone are correct, run a test print on plain paper to check alignment with your label sheet, and verify a real scan with a scanner or phone before printing a large run.
EAN-13 / UPC-A numbers must be owned/licensed from GS1 to be valid in retail
Print at 100% / actual size — disable fit-to-page and printer scaling so widths and the quiet zone stay correct
Do a test print on plain paper first to align with the label sheet
Verify a real scan with a scanner or phone before mass-printing
🔒Privacy & Security
Privacy: Your Codes Never Leave the Device
Because the entire tool runs client-side, your barcode values, titles, SKUs and prices are encoded and laid out only in the browser and are never uploaded, logged or stored on a server. The 1D barcodes (jsbarcode), QR codes (qrEngine) and the sheet PDF (pdf-lib) are all produced locally, so there is no server round-trip and no CDN, and the page works offline once cached, with no account, watermark or sign-up wall.
No upload of barcode values, SKUs or prices
Barcode rendering, QR rendering and PDF generation all happen locally