P4 Software P4 Software / BarcoderX English

Add these docs to Claude

Ask Claude questions about these docs. Claude reads the published pages and links you back to them. Copy this address:

https://docs.p4software.cloud/mcp

In claude.ai or Claude Desktop: open Settings, then Connectors, choose Add custom connector and paste the address.

In Claude Code, run:

claude mcp add --transport http docs https://docs.p4software.cloud/mcp

Barcodes

Barcodes

Applies to: BarcoderX Basic and Ultimate

Status: Planned. Nothing is released yet and there is nothing to download. This page lists the barcode symbologies BarcoderX plans to support, the group that comes first, and what BarcoderX does for every barcode. The list can change as the published specification of each symbology is confirmed.

BarcoderX writes every barcode encoder itself, from the published standards for each symbology. It does not use another barcode library.

What BarcoderX does for every barcode

  • It fits the barcode to your printer. The narrowest bar or module (the X-dimension) is rounded to a whole number of printer dots, and the result tells you the X-dimension you actually got. Barcodes and shapes are drawn directly on the printer's dot grid, so their edges are never blurred or dithered.
  • It handles check digits. For each symbology that has one, BarcoderX can calculate the check digit, validate one that you supply, or leave it out, as the symbology's rules allow.
  • It places the human-readable text. The text can go above or below the barcode, or be left out. It follows the layout of the symbology, such as the digit groups of EAN and UPC and the parentheses of GS1 identifiers. You can also set your own text that differs from the encoded data, add caption lines, and later place the text to the left or right of the barcode.
  • It keeps the quiet zone. If the box you draw cuts into the quiet zone a symbology needs, BarcoderX warns you.
  • It sizes the barcode two ways. You can fix the X-dimension, or let the barcode fill its box with the largest whole-dot module that fits. Barcodes are never stretched out of proportion.
  • It rotates the barcode. The angles 0, 90, 180 and 270 degrees are native. Any other angle is drawn as a picture.
  • It checks your data without drawing. You can validate data against a symbology on its own.
  • It does not fail on bad data. Invalid data produces a diagnostic. You choose what the label shows instead: a placeholder box, an empty area, or a failed label.
  • It supports the options of each symbology. For 2D symbologies these include the error correction level, size or version, shape, encoding mode, structured append and, where the symbology defines it, reader initialization. Text, hexadecimal and base64 content are all accepted.
  • It handles character sets. The extended channel interpretation (ECI) table and the code pages that each 2D symbology needs are covered, including Shift JIS and GB 18030.
  • It gives the same result in every place. Encoders hold no shared state and are safe to call from many threads at once. A barcode made by the one-call renderer, by the web API or inside a template gives the same result.

The symbologies

Symbologies are delivered in three groups, called families. Each family is added in an additive release: a new family changes no template format and no API.

Family 1: the first group

Family 1 is the logistics and retail core. Release 1.0 ships family 1, which is 50 symbologies and variants, counting variants one by one. For example, EAN-13 alone, with a 2-digit add-on and with a 5-digit add-on count as three. The table shows which edition includes each symbology. More families are planned after release 1.0.

SymbologyEdition
Code 128 (automatic code set switching, and code sets A, B and C alone)Basic
GS1-128 and SSCC-18Basic
Code 39 and Code 39 Full ASCIIBasic
Code 93 and Code 93 Full ASCIIBasic
EAN-13, EAN-8, UPC-A and UPC-E, each with the 2-digit and 5-digit add-onsBasic
Interleaved 2 of 5 and ITF-14 with bearer barsBasic
GS1 DataBar: Omnidirectional, Truncated, Limited, Expanded, and the stacked variants Stacked, Stacked Omnidirectional and Expanded StackedBasic
Data Matrix (ECC 200), GS1 Data Matrix, and the rectangular extension (DMRE) with its GS1 formUltimate
QR Code, GS1 QR Code and Micro QR CodeUltimate
PDF417, Compact PDF417, Macro PDF417 and MicroPDF417Ultimate
Aztec Code (full range, compact and Rune)Ultimate
MaxiCode, modes 2 to 6Ultimate

Decorated barcodes

Artistic QR codes and decorated barcodes are planned for release 1.0, for the symbologies in that release. Decoration is added after the barcode is encoded, as a separate layer. It follows the edition of the barcode: decoration of linear symbols is in Basic, and decoration of 2D symbols is in Ultimate. Decoration for the symbologies of later families arrives with those families.

Family 2: the remaining linear and postal symbologies

Family 2 arrives after the first release, in several releases. It covers more linear symbologies, postal and four-state symbologies, and application formats. Examples whose published specification is identified:

  • Linear symbologies: Codabar, Code 11, LOGMARS, VIN, EAN-14, NVE-18, ISBN, ISSN, ISMN and Channel Code.
  • Postal and four-state symbologies: POSTNET and the USPS Intelligent Mail Barcode.
  • Application formats: HIBC in linear and 2D symbols, the Swiss QR-bill code, the EPC payment QR code, and GS1 Digital Link in QR Code and in Data Matrix.

The full list of family 2 is not published here. A symbology is named on this page only when its published specification is identified.

Family 3: composite, advanced 2D and stacked

Family 3 arrives after family 2. It includes:

  • Composite symbols: EAN, UPC, GS1-128 and GS1 DataBar combined with a CC-A, CC-B or CC-C component, and the TCIF Linked Code 39.
  • Han Xin Code, DotCode, rectangular Micro QR Code (rMQR) and its GS1 form.
  • Code 16K, Code 49 and Codablock F.

The edition of each symbology follows its type: linear and postal symbologies are in Basic, and 2D, stacked and composite symbologies are in Ultimate. See Editions and licensing.

An entry is added only when its published specification is in hand. Some symbologies in the plan have no specification identified yet. They are not named on this page, and they stay planned until one is found. The list of later families can change.

What the statuses mean

Every symbology has a status in the registry that the web API lists:

StatusMeaning
StableReleased, with its conformance evidence complete.
PreviewReleased, but its evidence is not complete yet.
PlannedNot available. A template that uses it fails validation with a specific message.

The editor shows only the symbologies that have been released.

Printing barcodes

A printer can often draw a barcode with its own commands. BarcoderX uses the printer's own barcode command only where its result is proven to be the same size and shape as BarcoderX's own. Otherwise BarcoderX sends the barcode as a picture of exactly the preview. Each printer language publishes which symbologies are printer-resident for each printer profile. See Printing and Printer languages.

One call for one barcode

You can ask for a single barcode without building a label. In the SDK, one call takes a symbology, the content and the options, and returns bytes, writes a stream or a file, or returns a base64 data URI. The web API offers the same through a barcode endpoint. The result is the same as the same barcode inside a template. See Web API.

For web pages, two packages are planned for a release after the first. One is an ASP.NET Core tag helper that shows a barcode as an inline image, with no JavaScript. The other is an output-only Blazor component.

Each symbology will also have its own reference page with a barcode drawn by the engine as a sample, in English and Spanish.

GS1 and Digital Link

BarcoderX is designed to meet GS1's readiness criteria for 2D barcodes. See GS1 support.


BarcoderX is a product of P4 Software.

Was this page helpful?