Free Code 128 Barcode Generator
Encode any printable ASCII as a Code 128 linear barcode. The dominant format for shipping labels (UPS / FedEx / DHL internal tracking), supply chain, and warehouse logistics.
- 86 QR Types
- Free Business Card Designer
- Printable WiFi Cards
- Batch CSV (500 codes)
- 50 Templates
- 26 Languages
This barcode format renders monochrome with foreground and background colours only. Templates, dot/eye shapes, gradients, frames, and centre logos apply to QR codes only and are hidden here.
Show 30 more templates
Save a style with the button above to keep your favourites here.
Or pick a built-in icon:
Show 108 more icons
Renders behind the QR at adjustable opacity. Auto-forces EC=H so the QR still scans through the photo.
Batch Generation
Upload a CSV to generate up to 500 QR codes in a single batch. Each row becomes its own QR — pick a template or override 21 properties on a per-row basis: colors, frames, dot/eye/eyeball styles, gradients, transparency, size, error correction, format, built-in logo, and more.
21 columns: type, data, filename, frametext, frame, template, fgcolor, bgcolor, size, ec, dotstyle, eyestyle, format, logo, gradient, g2, gtype, gangle, transparent, eyeball, eyecolor. Only type and data are required. Use | to separate fields inside data (e.g. ssid|password|WPA).
All 86 QR types supported, including URL, WiFi, vCard, TOTP, Swiss QR-bill, PIX, PromptPay, ZATCA, PayNow, Bitcoin + Lightning, and more. Download the sample CSV to see every column, all 50 templates, 11 frame styles, and 156 built-in logo icons in action.
1. Download the sample CSV · 2. Edit it in Google Sheets, Excel, Numbers, or any text editor · 3. Upload it here
Save the entire QR — type, all field values, style, frame, logo, business card design — as a single .qr.json file. Load it later to recreate everything in one click.
Enter content to generate your QR code
E-signatures that hold up in court
Abundera Sign goes beyond basic e-signatures. Every document gets cryptographic proof, independent verification, and a tamper-evident evidence package.
- Auto-generated court-ready evidence packages
- Personal Document Seal — detects tampering instantly
- Anchored to 5 independent systems — no single point of failure
What is Code 128?
Code 128 (ISO/IEC 15417) is a high-density variable-length linear barcode that encodes the full 128-character ASCII set. Three character subsets (A, B, C) let it switch between letters, numbers, and pure-numeric pairs for maximum density. The format is the de facto standard for shipping, logistics, and supply chain because of its compactness and the fact that every modern scanner ever made reads it.
Where Code 128 dominates
- Shipping labels: UPS PLD, FedEx Ground, DHL — internal tracking numbers are Code 128.
- Pharmaceutical serial numbers: GS1-128 with FNC1 application identifiers (we encode the data, not the AI structure — paste pre-formatted strings if you need GS1-128).
- Warehouse pick / put-away: SKU + bin-location encoded together.
- Healthcare patient ID bands: alphanumeric MRN.
- Industrial part marking: serial numbers, lot codes.
This is a 1D linear barcode — QR-style features (eye styles, dot shapes, gradients, frames, centre logos) don't apply.
Available in 26 Languages
Fully translated UI, native script rendering, and right-to-left support for Arabic and Urdu.
Frequently Asked Questions
Will iPhone Camera scan Code 128?
Yes since iOS 15. Android Camera (Google Lens) reads Code 128 reliably.
What's the maximum length?
Practically unlimited — we've seen 60+ characters scan reliably. Density depends on the character mix; numeric-only is densest (Subset C packs two digits per symbol).
Do I need to pick a subset (A / B / C)?
No — bwip-js auto-selects the optimal subset and inserts shift/switch codes as needed. Just paste your data.
Is GS1-128 supported?
Functionally yes — you supply the GS1 element string with parentheses around AIs (e.g. (01)09506000134352(10)ABC123). We encode the entire string as Code 128. For full GS1 compliance with FNC1 separators you'd need a GS1-aware encoder.
Can I add a logo?
No — Code 128 has no error-correction headroom for overlays.
What size should I print at?
X-dimension (narrowest bar width) of at least 7.5 mil (0.19 mm) for retail-grade scanners; 10 mil for fast-moving scanned environments.
Does this validate the input?
bwip-js rejects non-ASCII characters with an error toast. We don't pre-validate length, so you can encode arbitrary-length strings (some scanners cap reads at 80 chars).