Barcode Generator — Create QR, Code 128, and More Online
What Is a Barcode Generator?
A barcode generator turns text and numbers into scannable images. Businesses use barcodes to tag products, track inventory, and share contact details. Developers use them to prototype point-of-sale flows, test scanning hardware, or generate samples for documentation.
This tool runs entirely in your browser. You pick a barcode type, enter your data, and the encoder renders a preview instantly. There is no account, no signup, and no upload — your data never leaves your device.
Why Generate Barcodes in the Browser?
Most barcode tools are desktop apps or paid APIs. A browser-based generator is different:
- No installation. Open the page and start generating.
- Privacy by default. Your product codes, Wi-Fi credentials, and contact details stay on your machine.
- Instant iteration. Change a value and the preview updates immediately.
- Free for any use. Personal, commercial, or educational — no usage limits.
The encoder used here (bwip-js) is a mature library that supports over 100 symbologies, from legacy linear codes like Code 128 to modern 2D standards like QR and Data Matrix.
How to Use the Tool
The interface is split into two columns. The left panel lists 13 barcode families. The right panel shows the form for the selected type.
Step 1 — Pick a barcode type. Browse the families on the left: linear codes, postal codes, GS1 DataBar, EAN/UPC, 2D codes, banking QR, and more. Click any type to select it. The heading updates to show the group and type name, for example "Linear barcodes — Code 128".
Step 2 — Enter your data. Depending on the type, you will see one of five form layouts:
- Data form — a free-text textarea for raw content. Use this for most linear and 2D codes. Tick "One barcode per line" to render each line as a separate image. Tick "Interpret escape codes" to process
\n,\r,\t, and\\in your input. - Banking form — structured fields for payment QR codes (EPC, Swiss QR, ZATCA). Choose a payment type, fill in beneficiary and amount details, and the builder formats the payload for you.
- Contact form — fields for name, phone, email, birthday, address, and organization. Builds vCard 3.0 or MeCard payloads for contact QR codes.
- Event form — title, description, location, start/end date and time. Builds a calendar event (
VEVENT) payload. - Wi-Fi form — authentication type, network name, password, and hidden flag. Builds the standard
WIFI:payload.
Step 3 — Update the preview. Click Update barcode to render. For most types, the preview also updates automatically as you type (with a short debounce).
Step 4 — Copy or download. Each rendered barcode has two buttons:
- Copy image — copies the PNG to your clipboard using the browser's Clipboard API. If clipboard image access is blocked, it falls back to a download and shows a notice.
- Download PNG — saves the image as
barcode.png. When multiple barcodes are rendered (one-per-line mode), files are numberedbarcode-1.png,barcode-2.png, etc.
Examples
Code 128 (linear). Select "Linear barcodes → Code 128" and type 12345678. The default sample is pre-filled so you see a preview immediately. Code 128 is the workhorse of logistics and inventory — compact, alphanumeric, and widely supported by handheld scanners.
QR Wi-Fi (2D). Select "Wi-Fi network → QR Code", pick "WPA/WPA2", enter your SSID and password, and render. Print the QR and stick it on your router — guests scan it to join without typing the password.
EPC QR (banking). Select "Banking and payments → EPC QR Code V2", enter an IBAN, beneficiary, and amount in EUR. The builder formats the BCD/002/SCT payload used for SEPA credit transfers across Europe.
Supported Symbology Families
The picker lists 13 groups covering the most common standards:
- Linear barcodes — Code 128, Code 39, Code 93, Interleaved 2 of 5, Telepen, Pharmacode, and more.
- Postal barcodes — USPS POSTNET, Royal Mail, Australian Post, Japanese postal, KIX, PLANET.
- GS1 DataBar family — Omnidirectional, Stacked, Limited, Expanded, and Composite variants.
- Retail EAN / UPC — EAN-8, EAN-13, UPC-A, UPC-E, and their composite versions.
- Two-dimensional codes — QR Code, Data Matrix, Aztec, PDF417, Codablock-F, MaxiCode, Han Xin, DotCode.
- GS1 two-dimensional — GS1 QR, GS1 Data Matrix, and GS1 Digital Link variants.
- Banking and payments — EPC QR V2, Swiss QR (v1.0, v2.2, v2.3), and ZATCA QR for Saudi e-invoicing.
- Phone tagging — QR, Data Matrix, and Aztec for mobile tagging.
- Healthcare barcodes — HIBC LIC and PAS, Code 32, Pharmacode, PZN, PPN.
- Book identifiers — ISBN, ISMN, ISSN (with addon support).
- Contact cards — vCard and MeCard payloads on QR and Data Matrix.
- Calendar events — VEVENT payloads on QR and Data Matrix.
- Wi-Fi network — WPA/WPA2/WEP/none on QR and Data Matrix.
A few types (for example, Korean postal) are listed in the picker but marked as unsupported in the browser encoder. Selecting them shows a clear message rather than silently switching to a different symbology.
Frequently Asked Questions
Is my data uploaded to a server? No. All encoding happens locally in your browser using a JavaScript library. The page makes no network requests with your data.
Which barcode type should I use? For general labeling, Code 128 is a safe default. For URLs, contact sharing, or Wi-Fi, use QR Code. For retail products, use EAN-13 or UPC-A. For payment slips in Europe, use EPC or Swiss QR.
Why does Korean postal show an unsupported message? The browser encoder does not implement every symbology. Unsupported types are listed in the picker but display a "not supported" message when selected, instead of silently switching to a different encoder.
What format is the downloaded image? PNG, rendered at 3x scale for crisp scanning. Linear codes include human-readable text below the bars by default.
Can I generate multiple barcodes at once? Yes. In the data form, tick "One barcode per line" and enter one payload per line. Each line becomes a separate image, numbered for copy and download.
Related Tools
More utilities in the generator category: Password Generator for strong passphrases, Random Word Generator for creative prompts, and SVG to CSS for converting vector graphics into background-image rules.