LocalBarcode
Code128 + EAN barcodes in your browser — CSV bulk → PNG ZIP, no upload
Runs locally · No upload · No account · Not GS1 registration
Disclaimer: LocalBarcode draws Code128 / EAN graphics from the values you enter. It is not GS1 registration and cannot substitute for official product barcode assignment. Distinct from WifiSignQR (Wi‑Fi / vCard QR).
Code128 accepts letters and digits. EAN-13 needs 12–13 digits (check digit optional); EAN-8 needs 7–8 digits.
Or drop a .csv here / click to choose
Parsed only in this tab · stays on this device
Ready. Values stay in this tab — Code128 / EAN via JsBarcode, bulk ZIP via JSZip.
Privacy: values and CSVs are read only in this tab’s memory. Nothing is uploaded to our servers. Soft limits: ~2 000 rows / ~2 MiB CSV in v1. Prove it in DevTools → Network.
How it works
- Pick Single preview or CSV bulk → ZIP, and Code128 or EAN.
- JsBarcode draws bars on SVG/canvas in this tab (vendored, same-origin).
- Bulk mode exports one PNG per valid row and packs them with JSZip.
- Download — open DevTools → Network: you should see no value upload.
We do not offer GS1 registration, cloud label printing, accounts, or label-sheet PDF in v1.
Limits (honest)
- Symbologies: Code128, EAN-13, EAN-8 only in v1.
- Not GS1: drawing ≠ owning a retail GTIN.
- No label PDF sheet layout yet — PNG (and ZIP of PNGs) only.
- Memory-bound: huge CSVs may fail on phones.
- Non-goals v1: accounts, remote catalog fetch, QR / Wi‑Fi codes (see WifiSignQR), custom domain traffic push.
vs upload barcode sites
- No upload — CSV and values stay in the tab.
- Bulk ZIP — one PNG per row without a SaaS seat.
- Clear disclaimer — not GS1 registration; not a Wi‑Fi QR clone.
Guides
Sources
- GS1 — Get a barcode / GTIN overview: gs1.org/standards/get-barcodes
- JsBarcode 3.11.6 (MIT) — linear barcode drawing, vendored under
/assets/vendor/ - JSZip 3.10.1 (MIT) — client-side ZIP packing, vendored same-origin
- MDN — FileReader / Canvas / SVG: developer.mozilla.org/…/FileReader
FAQ
Are my barcode values uploaded?
No. Generation runs entirely in your browser with vendored JsBarcode and JSZip. There is no account and no server-side storage of SKUs, EANs, or CSV rows. Open DevTools → Network while you generate: you should see no upload of your values.
Is this GS1 registration or an official product barcode?
No. LocalBarcode draws linear barcodes (Code128 / EAN) from the text you provide. It is not GS1 membership, company-prefix assignment, or a substitute for official product barcode registration. Using unregistered numbers on retail packaging can cause scan and compliance problems — obtain numbers from GS1 or your brand owner when required.
How is this different from WifiSignQR?
WifiSignQR focuses on Wi‑Fi and vCard QR codes. LocalBarcode generates linear barcodes (Code128 and EAN) for labels, inventory, and bulk CSV → PNG ZIP. Different symbologies, different job.
Which formats are supported in v1?
Code128 (auto) and EAN-13 / EAN-8. Optional single-value live preview. Bulk mode: CSV of values → one PNG per row packed into a ZIP. Label-sheet PDF is not in v1.
What does the CSV need to look like?
One barcode value per line (or a single column). Optional header row is skipped when the first cell looks like “value”, “code”, “sku”, “ean”, or “barcode”. Invalid EAN checksums or empty rows are reported and skipped.
Is it free?
Yes. No account and no watermark in the MVP. This pages.dev experiment does not load AdSense scripts.