Price Tag Barcode Generator

Drop a CSV of products, pick a barcode type and label layout, and get a print-ready PDF in seconds. Everything runs in your browser — no data is ever uploaded.

Step 1 — Upload your CSV

📄
Drop CSV file here or click to browse
Required columns: product name, price, SKU / barcode number

No CSV yet? Copy this sample:

name,price,sku Wireless Earbuds,29.99,SKU-001 Phone Case,12.50,SKU-002 USB-C Cable,8.99,SKU-003 Screen Protector,6.99,SKU-004

Step 2 — Choose options

Code 128: encodes any SKU or number as a linear barcode. Scannable by most POS systems.

Step 3 — Generate PDF

Building PDF…

How it works

Four steps, all in your browser — no server, no account, no file upload.

1Parse PapaParse reads your CSV and auto-detects delimiters (comma, semicolon, tab). Headers are detected automatically.
2Encode JsBarcode renders each SKU as a Code 128 linear barcode or QR code onto a hidden canvas element.
3Layout pdf-lib arranges labels in a grid on A4 or Letter pages. It calculates margins and cell sizes automatically for each layout (2×4, 3×6, 4×6, 5×6).
4Download The PDF is saved directly to your device. Open in any PDF viewer and print at 100% scale — no page scaling or "fit to page" needed.

Each label shows the product name, price, SKU, and the scannable barcode. For QR codes the full SKU value is encoded; for Code 128 the barcode encodes the SKU for POS scanner compatibility.

Frequently asked questions

What CSV format does this tool accept?
Any CSV with at least three columns: product name, price, and SKU or barcode number. The first row should be a header row. Delimiters are auto-detected — commas, semicolons, and tabs all work. UTF-8 encoding is recommended for special characters (e.g. accented letters, currency symbols). If your spreadsheet software exports with a BOM, that is handled automatically.
What is the difference between Code 128 and QR code for price tags?
Code 128 is a 1D linear barcode that most retail POS scanners (laser and CCD) can read quickly. It encodes alphanumeric SKUs up to about 48 characters efficiently. QR code is a 2D matrix barcode readable by smartphones and some modern scanners — it can encode longer values and is useful for direct consumer scanning (e.g. linking to a product page via a URL SKU). For traditional retail checkout, Code 128 is the standard choice.
How many price tags can I generate at once?
There is no hard limit enforced by the tool. In practice, PDFs with up to a few thousand labels generate within a few seconds on modern hardware. Very large batches (10,000+ rows) may take 15–30 seconds; the progress bar keeps you informed. If you need to print more than ~5,000 labels, consider splitting your CSV into batches of 1,000–2,000 rows.
Is my product data safe? Is anything uploaded to a server?
Nothing is uploaded. The entire pipeline — CSV parsing, barcode rendering, and PDF assembly — runs inside your browser using JavaScript. Your product names, prices, and SKUs never leave your device. This makes the tool safe for confidential pricing data and inventory files.
What print settings should I use?
Open the downloaded PDF in your PDF viewer and print at 100% / Actual Size — do not use "Fit to Page" or "Shrink to Printable Area," as that will change label dimensions and make the barcodes mismatch standard label sheets. For best barcode scannability use a laser printer at 300 dpi or higher.
Can I use this with Avery label sheets?
Yes. The 2×4 layout (8 labels) matches Avery 8163 and similar half-sheet label formats. The 5×6 layout (30 labels) matches Avery 5160 / 8160 address-label sheets which are commonly repurposed for price tags. Print on plain paper first to verify alignment before committing to label stock.