Skip to content

Format catalogue

This page is the map of what Sythos Barcode Universal can actually do at the current checkout. The important word is actually: a format name is not a promise that every variant, transport mode or camera condition is supported. The runtime registry and the format-specific notes below keep those boundaries visible.

Read and write are different capabilities

listFormats() is the release-facing capability registry. It reports one entry per format with an identifier, a human label, a kind, and independent canWrite and canRead flags:

import { listFormats } from '@sythos/js_barcode_universal';

const formats = listFormats();

for (const format of formats) {
  console.log(
    `${format.id}: ${format.kind}, ` +
      `write=${format.canWrite}, read=${format.canRead}`,
  );
}

At this checkout the registry returns 28 entries: all 28 are writable and 27 are readable. Pharmacode is intentionally the only canRead: false entry. EAN-2 and EAN-5 report canRead: true, but each also carries role: 'supplement'; their image path is valid only when a validated EAN/UPC parent is present. Do not turn those flags into a claim that a supplement is a standalone generic symbol.

The registry is generated by the public root implementation in src/index.js, with the TypeScript source and declarations in src/ts/index.ts and src/index.d.ts. If this page ever disagrees with the runtime registry, the runtime behavior wins and the documentation should be corrected in the same change.

The current families

Family Runtime IDs Write Read Main boundary
Linear 1D ean13, ean8, upca, upce, isbn, code128, gs1128, code39, code93, itf, itf14, codabar, code11, msi, pharmacode 15 14 Pharmacode is writer-only in the generic image pipeline.
EAN/UPC supplements ean2, ean5 2 2* * means parent-bound, not standalone reading.
QR family qr, microqr, rmqr 3 3 These are related families with different geometry and feature sets.
Data Matrix datamatrix 1 1 Classic ECC 200 square and rectangular symbols; DMRE is outside scope.
Aztec family aztec, aztecrune 2 2 Aztec Code and Aztec Rune are separate grammars.
PDF417 family pdf417, compactpdf417, micropdf417 3 3 Full, truncated and Micro geometry are not aliases.
Project profile frameqr 1 1 Sythos Canvas QR is not DENSO FrameQR compatibility.
GS1 DataBar gs1databar14 1 1 Physical support is Omnidirectional and Truncated only.

Use the family pages for payload modes, options, image-reading limits and examples:

The common pipeline

The root API keeps the three operations explicit:

import {
  decode,
  encode,
  toImageData,
} from '@sythos/js_barcode_universal';

const matrix = encode('FORMAT-CATALOGUE', { format: 'qr', ecc: 'M' });
const image = toImageData(matrix, { scale: 8, margin: 4 });
const results = decode(image, { formats: ['qr'] });

if (results.length > 0) {
  console.log(results[0].format, results[0].text);
}

encode() returns a BitMatrix, not a DOM element and not a pixel buffer. Render it with toSVG, toPNG, toImageData or toCanvas before passing an image to decode(). The reader accepts an RGBA object with data, width and height, so browser canvas code, a Worker, and a Node adapter can share the same boundary without a runtime image dependency.

An empty result is a normal, useful result: it means the requested image did not produce a validated symbol. The decoder is deliberately conservative. A partial payload, a failed checksum, an ambiguous detector result or a symbol outside the requested format set must not be promoted to application data.

Camera profile and orientation scope

For supported detectors, the camera profile retries the fixed in-plane orientations , 45°, 90°, 135°, 180°, 225°, 270° and 315°. This is a finite rotation retry policy, not a claim of arbitrary perspective, curved-media or severe-occlusion support. Quiet zones, enough module detail, good contrast and a coherent input frame still matter.

The precise boundary is format-specific. QR, Data Matrix, Aztec, Micro QR, rMQR, Frame QR profile, Aztec Rune and the PDF417-family readers do not all share the same detector geometry or photographic tolerance. Read the family page instead of assuming that a successful clean-matrix decode guarantees a successful camera decode.

How to choose a format

Requirement Start with Why
General-purpose square 2D payload qr Mature Model 2 geometry with L/M/Q/H error correction and automatic version selection.
Small payload and very small symbol microqr M1–M4 family with deliberately smaller capacity and a narrower feature scope.
Rectangular installation area rmqr 32 fixed rectangular geometries with M/H error correction.
Industrial square/rectangular marking datamatrix ECC 200 with classic square and rectangular symbol sizes.
High-density 2D payload or stacked rows pdf417 Text, Byte and Numeric compaction with ECC levels 0–8.
Small PDF417-shaped symbol micropdf417 Fixed MicroPDF417 variants and constrained geometry options.
Truncated PDF417 geometry compactpdf417 Compact/truncated layout when full PDF417 row structure is unnecessary.
GS1 retail or logistics payload gs1128, gs1databar14, or EAN/UPC Choose by the physical symbology and AI/application rules, not only by payload text.
Artwork inside a QR-like symbol frameqr Use only for the Sythos Canvas QR profile; it is not native DENSO FrameQR.

This catalogue does not grant a standard certification, patent opinion, trademark clearance or interoperability guarantee. The repository records its engineering and provenance boundaries in NOTICE.md, the root LICENSE, and the individual files in licenses/.

Verification boundary

The project uses table invariants, checksum and Reed–Solomon checks, local round trips, clean/degraded image vectors and independent black-box tools where recorded. A third-party implementation used for comparison is not a runtime dependency and its source or tables are not shipped. The verification record is in NOTICE.md; the remaining scope and deliberately excluded formats are in PLAN.md.

The names in this page are descriptive format names. They do not mean that the SDK is endorsed, certified or produced by the standards body, vendor or mark owner associated with a symbology.