Ultracode Generator

Generate Ultracode 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 Ultracode is

Ultracode is a 2D matrix symbology structurally unlike every other 2D symbology in this catalog: bwip-js's own renderer draws real cyan/magenta/yellow/black pixel colors from a fixed internal palette (confirmed directly: bwipp_ultracode's own render arguments include a "colormap"), rather than only black-and-white modules, letting a color printer pack more data into the same module count than a monochrome symbol could. There is no user-configurable color option -- the palette and which color each module uses are chosen automatically by the encoder. Ultracode has its own large internal tile/metrics/coefficient tables and draws itself entirely, with no delegation to another symbology's own function.

Generate it now

Enter any text or data to see a live preview.

Valid input

Up to 2500 characters is accepted (bwipp.ultracodeInputTooLong rejects longer input). The overall symbol size (rows/columns) is chosen automatically to fit the payload plus the chosen error-correction level -- bwipp.ultracodeNoValidSymbol rejects a payload too large for the largest defined symbol size.

Key options

Supported options include eclevel (error correction level) and rev (symbol revision). Real, literal defaults: eclevel "EC2", rev 2 (the current specification; 1 selects the legacy revision 1 format). Only EC1 through EC5 are valid at the default revision 2; the additional "EC0" legacy level is only valid under rev 1.

Output and printing

Export SVG for vector-precise label artwork or PNG for a quick proof. Because the symbol's own real colors matter to a decoder, printing or export paths that alter color (grayscale conversion, for example) risk breaking scannability in a way a monochrome symbology would not.

Common uses

Ultracode has seen limited real-world adoption compared to QR Code or Data Matrix, but remains notable as one of the few standardized symbologies designed from the outset to use multi-color printing for extra data density -- a fit for specialized workflows where a color printer is already part of the label-production pipeline and maximizing data density per unit area matters more than universal handheld-scanner support.

Example

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

Size guidance

Overall symbol dimensions grow with both the payload length and the chosen error correction level -- a higher eclevel needs more redundancy codewords and can push the encoder to select a larger row/column count for the same data.

Troubleshooting

A rejected error correction level usually means "EC0" was requested without also setting rev to 1 -- EC0 is only valid under the legacy revision 1 format. A rejected revision value means something other than 1 or 2 was supplied.

Related formats

Related formats: the separately-covered Data Matrix and QR Code generators (monochrome 2D symbologies with far wider real-world scanner support).

FAQ

Do I need a color printer to use Ultracode?

For a symbol to scan reliably, yes -- Ultracode's own error-correction and data-density design assumes the printed colors are distinguishable from each other, not merely black and white.

Can I choose which colors Ultracode uses?

No -- the color palette and which color each module uses are fixed and chosen automatically by the encoder; there is no user-configurable color option.