Skip to main content

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.

Options

Results

Generated barcodes will appear here.
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. 1

    Enter your digits

    Any even number of digits, for example 0012345678. Leading zeros are preserved exactly as typed.

  2. 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. 3

    Generate the Code128C barcode

    The Set C symbol renders instantly with the check character computed automatically.

  4. 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 dataUseWhy
Digits only, even countCode128CTwo digits per module pair — the narrowest symbol
Digits only, odd countCode128B or pad deliberatelySet C cannot carry a lone digit
Letters and digits mixedCode128BSet C has no letters at all
Very long numeric IDsCode128CWidth 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.

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