What GS1 DataBar Omnidirectional is
GS1 DataBar Omnidirectional (formerly known as Reduced Space Symbology, or RSS-14) is a GS1 linear symbology designed to encode a full GTIN in a much smaller footprint than UPC-A/EAN-13, and to be scanned from any direction like a standard retail barcode. bwip-js draws its bars directly using its own GS1 DataBar module-width tables -- confirmed directly: bwipp_databaromni computes its own check digit and calls bwipp_renlinear() (or bwipp_renmatrix() for its 2-row layouts) itself, with no delegation to another symbology's encoder.
Generate it now
Enter a literal "(01)" AI marker followed by a 13 or 14-digit GTIN to see a live preview.
Valid input
The value must be exactly 17 or 18 characters total ("GS1 DataBar Omnidirectional must be 13 or 14 digits"): a literal 4-character "(01)" AI marker ("GS1 DataBar Omnidirectional must begin with (01) application identifier"), followed by 13 digits (bwip-js computes and appends the 14th check digit itself) or 14 digits (bwip-js verifies the supplied check digit and rejects a mismatch, "Incorrect GS1 DataBar Omnidirectional check digit provided"). Every character after the "(01)" marker must be a digit ("GS1 DataBar Omnidirectional must contain only digits").
Key options
Supported options include format, height, and linkage. Real, literal defaults: format "omni" (single-row omnidirectional layout; "stacked", "stackedomni", and "truncated" are the only other accepted values), linkage false (no 2D composite-component linkage flag).
Output and printing
Export SVG for vector-precise shelf-label artwork or PNG for a quick proof.
Common uses
GS1 DataBar Omnidirectional is used at retail point of sale for small items where a full-size UPC-A/EAN-13 symbol does not fit, most commonly fresh produce and small packaged goods -- standard retail scanners have supported it since GS1's 2010 Sunrise date.
Example
See the live preview above, seeded with a bwip-js-verified valid value.
Size guidance
The "stacked" and "stackedomni" formats arrange the same data across 2 rows instead of 1, reducing the printed width at the cost of additional height -- useful where label width, not height, is the binding constraint.
Troubleshooting
A rejected value usually means a missing or incorrectly-positioned "(01)" marker, a non-digit character after it, a total length other than 17 or 18 characters, or (at 18 characters) an incorrect 14th check digit.
Related formats
Related formats already in this catalog: GS1 DataBar Stacked (Batch 6, this identical function with format forced to "stacked") and GS1 DataBar Stacked Composite (permanent cohort, DataBar Stacked with a linked 2D composite component).
FAQ
Do I need to compute the check digit myself?
No -- supplying 13 digits after the "(01)" marker lets bwip-js compute and append the 14th (GS1 Mod-10) check digit for you. Supplying all 14 digits instead has bwip-js verify your check digit and reject a mismatch.
What is the "linkage" option for?
It adds a small linkage-flag pattern indicating a 2D composite component is meant to be printed above this symbol. It is purely a printed marker -- it does not itself draw or validate any composite component.