Barcode Generator
Free online barcode generator supporting EAN-13, UPC-A, Code 128, Code 39, ITF-14, DataMatrix, GS1-128 and more. Batch generate as a ZIP, print-ready A4/Avery sheet layout, high-res PNG/SVG/PDF export, no watermark, no signup — everything runs locally in your browser.
Click or drag to upload a CSV / TXT file
One entry per line. Optional column 2 = top text, column 3 = bottom text.
| # | Barcode Data | Top Text | Bottom Text |
|---|
Custom Paper (mm)
Layout preview (scaled)
Format Guide
- EAN-13 — retail product, 13 digits incl. check digit
- UPC-A — North American retail, 12 digits
- CODE128 — logistics/warehouse, alphanumeric
- ITF-14 — case/carton label, 14 digits
- DataMatrix — 2D matrix code, high-density encoding
- GS1-128 — with AI identifiers, medical/food traceability
How to Use
- Choose the Single / Batch / Sheet Layout tab
- Enter barcode content and select a format
- Expand Advanced Settings to configure size, color, and check digit
- Download PNG / SVG / PDF, or print directly
- In Batch mode, generate by serial number or upload a CSV and download a ZIP
Data Privacy
All barcode generation happens locally in your browser — your data is never uploaded to any server. Settings are saved automatically to localStorage and restored on refresh, and you can share your current configuration via a link.
Below is the interface spec for the barcode generation API — a server can implement this protocol. All parameters map 1:1 to the form on this page.
cURL Example
curl -X POST https://api.paritylabel.com/v1/barcode \
-H "Content-Type: application/json" \
-d '{
"text": "1234567890128",
"format": "ean13",
"width_mm": 50,
"height_mm": 20,
"dpi": 300,
"fg": "#000000",
"bg": "#ffffff",
"output": "png"
}' \
--output barcode.png
JavaScript Fetch Example
const res = await fetch(
'https://api.paritylabel.com/v1/barcode',
{
method: 'POST',
headers: {'Content-Type':'application/json'},
body: JSON.stringify({
text: '1234567890128',
format: 'ean13',
width_mm: 50, height_mm: 20,
dpi: 300, output: 'svg'
})
}
);
const svg = await res.text();
image/png, SVG returns image/svg+xml, PDF returns application/pdf. The batch endpoint accepts a texts[] array and returns a ZIP archive.