COOP 2 of 5 Generator

Generate COOP 2 of 5 barcodes in your browser with live preview, validation, and PNG/SVG export.

Advanced options
Enter a value to see a live preview.
Options

These map directly to real generator options; anything not listed here is available under Advanced options above.

What COOP 2 of 5 is

COOP 2 of 5 is one of several historical "2 of 5" family variants (alongside the separately-covered Industrial, IATA, Matrix, and Datalogic 2 of 5), each sharing the same 2-out-of-5-wide-bars encoding idea but with a different bar-width table. bwip-js reaches it by forcing the shared 2-of-5 encoder's own "version" option to "coop" -- confirmed directly: bwipp_coop2of5 sets `options.version = "coop"` and delegates entirely to bwipp_code2of5(), the same delegation shape already used for Matrix/Industrial/IATA 2 of 5.

Generate it now

Enter a digit-only value to see a live preview.

Valid input

The value must be 1 to 500 digits (bwipp.code2of5emptyData rejects an empty value, bwipp.code2of5inputTooLong rejects longer input); any non-digit character is rejected (bwipp.code2of5badCharacter, "Code 25 must contain only digits").

Key options

Supported options include includetext, includecheck, and height (all real options of the shared 2-of-5 encoder, genuinely reaching it because coop2of5 forwards the caller's live options unchanged). Real, literal defaults: includetext false, includecheck false (no check digit is computed or drawn unless requested).

Output and printing

Export SVG for vector-precise label artwork or PNG for a quick proof.

Common uses

COOP 2 of 5 is named, per bwip-js's own symbol listing, for the retail cooperative movement historically associated with this bar-width table. Like the other 2-of-5 family members, it has been largely superseded by Code 128 and GS1 barcodes in modern retail systems, but legacy equipment and processes in a handful of regions still specify it by name.

Example

See the live preview above, seeded with a bwip-js-verified valid value.

Size guidance

Symbol width grows directly with digit count -- each digit uses the same fixed bar-width pattern, plus a fixed start/stop pattern at each end.

Troubleshooting

A rejected value usually means it is empty, longer than 500 digits, or contains a non-digit character.

Related formats

Related formats: the separately-covered Matrix, Industrial, IATA, and Datalogic 2 of 5 generators (the same encoding idea, different bar-width tables).

FAQ

Do I need to supply a check digit myself?

No, unless you want one -- with includecheck off (the default), your digits are encoded exactly as given. With includecheck on, bwip-js computes and appends a Code 25 Mod-10 check digit for you.