Code 128 · Set C
Code128C Generator — digits, packed in pairs
Turn pure numeric IDs into the most compact Code 128 symbol possible: Code128C encodes digits in pairs, halving the width of long numbers. Strict validation — odd lengths and non-digits are rejected by this Code128C generator, never auto-corrected.
By the Bulk Barcode Generator team · Updated September 2026
A Code128C generator is a tool that encodes even-length strings of digits into Code 128 Set C — the numeric code set that packs two digits into every module pair for roughly half the width of Set B.
Results
- 2
- digits per module pair
- ~50%
- narrower than Set B on long numbers
- 100
- pair values (00–99) per position
- 0
- silent padding or auto-fixes
01Basics
What is Code128C?
Code128C is the numeric code set of Code 128. Instead of encoding one digit per module pair like Set B, a Code128C symbol maps every two-digit group — 00 through 99 — to a single module pair. A 20-digit number therefore takes only 10 encoding positions, making the Code128C barcode dramatically narrower.
Because each module pair must carry exactly two digits, a valid Set C value is an even-length string of digits and nothing else. That constraint is real, not bureaucratic: scanners decode pairs, so an odd trailing digit has no slot to live in inside the symbol.
This generator enforces those rules strictly. Enter 12345678 and you get a true Set C symbol starting with the Start-C pattern. Enter 1234567 and you get a clear error — the tool never pads a zero, drops a digit, or quietly falls back to Set B.
02Step by step
How to create a Code128C barcode
Numeric IDs to compact Code128C barcodes in four steps.
- 1
Enter your digits
Any even number of digits, for example 0012345678. Leading zeros are preserved exactly as typed.
- 2
Check the Code128C format rules
Letters, spaces and punctuation are rejected, and odd digit counts are flagged — the error names the problem rather than guessing.
- 3
Generate the Code128C barcode
The Set C symbol renders instantly with the check character computed automatically.
- 4
Download your Code128C as SVG or PNG
Vector SVG for printing at any size, PNG for immediate use in documents, ZIP for bulk batches.
03Comparison
Choosing between Code 128 code sets
The right code set depends entirely on what your values look like.
| Your data | Use | Why |
|---|---|---|
| Digits only, even count | Code128C | Two digits per module pair — the narrowest symbol |
| Digits only, odd count | Code128B or pad deliberately | Set C cannot carry a lone digit |
| Letters and digits mixed | Code128B | Set C has no letters at all |
| Very long numeric IDs | Code128C | Width grows at half the rate of Set B |
04Deep dive
Why Code128C is compact for numeric data
Code 128 patterns encode values 0–105 per module pair. Set B spends one pair per character, so the digits “42” cost two pairs. A Code128C symbol assigns the value 42 to a single pair, encoding both digits at once. For a 30-digit serial number that is the difference between 30 encoding positions and 15 — roughly half the printed width at the same bar size, which is exactly why long numeric runs prefer Code128C.
Compactness matters on small labels, curved surfaces and dense packing sheets, where a narrower symbol leaves room for bigger bars (easier scanning) or more labels per sheet. At equal physical width, Set C simply carries more digits than its Set B equivalent.
05Deep dive
Common uses: inventory, serials, logistics
Code128C appears wherever systems count in long digit runs: serialized inventory tags, container and pallet markings, courier parcel numbers, and production counters. These systems usually generate even-width numbers by design, which fits Code128C naturally.
If your numbering scheme produces odd widths — say a 7-digit item code — decide deliberately: either widen the scheme (add a leading zero at the source) or use Code 128B. Never let a tool guess for you; this Code128C generator won’t.
06Deep dive
Code128C validation you can trust
Every value passes two gates before rendering: a character gate (digits only) and a parity gate (even count). Each symbol also carries a mod-103 check character computed from the encoded pairs, so scanners verify the pattern itself on every scan. The result is a barcode where both the input rules and the printed output are machine-checked.
07Use cases
Code128C in practice
Typical teams and tasks that lean on a Code128C generator.
Serialized inventory
Half-width symbols on shelf labels keep small tags scannable.
Logistics and parcels
Long numeric waybill and container IDs stay narrow on shipping labels.
Production counters
Sequential numeric batches print compactly across a sheet with one run.
Time and attendance
Purely numeric badge numbers encode densely for fast swipe scans.
08Sources
Standards and references
The rules and figures described on this page are grounded in these publicly available standards.
Your data stays in your browser
Every barcode on this site is rendered locally on your device. Values, spreadsheets and generated images are never uploaded to a server — there is no upload to intercept, store or leak.
09FAQ
Frequently asked questions
Direct answers to the most common questions about this tool.
01Why does Code128C require an even number of digits?
Set C encodes digits two at a time — every module pair in a Code128C symbol carries one value from 00 to 99. An odd digit count leaves one digit without a partner. The generator reports the problem instead of padding, so your numbering scheme stays under your control.
02Will my leading zeros survive in a Code128C barcode?
Yes. The value is encoded exactly as entered: 0012345678 stays 0012345678, both in the bars and in the human-readable text. Nothing is converted to a number and back.
03My input is 11 digits — can the Code128C generator add a zero?
No, and that is deliberate. Silently changing data turns barcodes into wrong barcodes. Add the leading zero yourself if your system treats it as insignificant, or switch to the Code128B generator, which accepts any digit count.
04How is Code128C different from Code128B?
Set B encodes one character per position and covers letters, digits and punctuation. A Code128C symbol encodes digit pairs only, twice as densely. Same family, same scanners — different data.
05Can I batch-generate Code128C barcodes?
Yes — switch to Bulk mode for up to 100 values per run, each validated individually, or use the Excel tool to barcode a whole numeric column up to 500 rows as Code128C.
06Is Code128C free for commercial use?
Yes. Code 128 in all its code sets is an open, royalty-free symbology. Generating, printing and shipping Code128C barcodes commercially requires no license, and downloads from this tool carry no watermarks.
Compact numeric barcodes, zero guesswork
Enter an even digit string above and download a true Code128C symbol — strict validation included, free and fully local.
Back to the generator