{{ summaryAnnouncement }}
{{ summaryHeading }} {{ summaryValue }} {{ summaryLine }} {{ computation.ok ? values.readiness_label : 'Blocked' }} {{ values.format_label || formatLabel }} {{ computation.ok ? `${formatNumber(values.estimated_print_width_mm, 1)} mm est.` : 'No artwork' }}
Barcode format and encoded label details
Code 128 fits general identifiers, retail codes use GTIN check digits, and Code 39 suits restricted uppercase asset labels.
{{ valueHelp }}
{{ issueFor('value').message }}
The encoded value is valid.
Use Require for final retail proofs; Recalculate is intended for correcting a known draft digit.
Add a shelf, asset, or handoff label without changing the scanner payload.
{{ issueFor('caption').message }}
The optional caption is valid.
Valid barcode inputs.
Whole pixels keep the browser preview and raster artwork crisp.
px
Taller bars give scanners more vertical tolerance on printed labels.
px
{{ quiet_margin }} px
The readiness model compares this margin with {{ values.quiet_target_px || quietTargetPreview }} px for the selected format.
Keep this on for retail labels unless the same digits are already printed nearby.
{{ display_value ? 'Shown' : 'Hidden' }}
Use a readable size when the artwork needs manual-entry fallback.
px
The readiness model reports the WCAG contrast ratio as a conservative screen-color proxy, not a scanner certification.
A 0.33 mm module is a practical planning default for many labels; verify the final printed symbol with the applicable specification.
mm
Exclude page margins, captions, and other artwork from the usable barcode area.
mm
Use vector SVG for layout whenever possible; larger raster scales preserve more edge detail.
×
{{ artworkExportStatus }}
{{ caption }}

{{ renderStatus }}

{{ chartExportStatus }}
{{ tableExportStatus }}
CheckStatusDetailCopy
{{ row.check }}{{ row.status }}{{ row.detail }}

A scan succeeds only when the encoded value, bar pattern, blank margins, contrast, and printed size all survive the trip from artwork to label to scanner. A barcode can look convincing on a screen and still fail after scaling, low-quality printing, glare, trimming, or quiet-zone intrusion.

Linear barcode formats divide that job in different ways. Code 128 is compact for mixed letters, numbers, and punctuation. Code 39 uses a smaller uppercase character set that remains common on asset and industrial labels. EAN-13 and UPC-A carry fixed-length retail identifiers whose final digit checks whether the preceding digits were entered consistently.

Practical differences among the supported barcode formats
Format Useful for Important constraint
Code 128Internal identifiers, shipment labels, and mixed textPrintable ASCII only
EAN-13Thirteen-digit retail trade item numbers12 body digits plus one check digit
UPC-ATwelve-digit retail trade item numbers11 body digits plus one check digit
Code 39Restricted uppercase asset and inventory labelsLetters, digits, spaces, and . $ / + % -

The check digit catches many typing errors, but it does not prove that a number was assigned by GS1, belongs to a particular product, or is active in a trading system. Likewise, a screen preview is not a print-quality certificate. Final retail or operational labels should be printed at the intended size and verified with the applicable specification and real scanning equipment.

How to Use This Tool:

Choose the symbology from the identifier you must encode, then size the artwork for the actual label rather than the screen preview.

  1. Select Barcode format and enter the payload in Data to encode. For EAN-13, use 12 body digits or a complete 13-digit value; for UPC-A, use 11 or 12 digits.
  2. Choose Check digit handling for a retail code. Auto appends a missing digit and validates a complete value, Require accepts only a complete valid value, and Recalculate replaces the final digit from the body.
  3. Set Narrow bar width, Bar height, Quiet margin, and the bar and background colors. Keep dark bars on a light background unless a verified production process supports another combination.
  4. Enter Printed module width and Usable label width from the intended print layout. Exclude captions, page margins, and neighboring artwork from the usable width.
  5. Review Barcode artwork, Readiness profile, and Validation ledger. Resolve invalid digits and any quiet-zone or fit warning, then test the final-size print with the scanner that will be used.

Interpreting Results:

Read the Validation ledger before relying on the readiness score. A valid payload and check digit settle the data-format question; the quiet-zone, contrast, and print-fit rows are planning checks for the proposed artwork.

Ready begins at 85, Review at 70, At risk at 45, and Blocked below 45. These labels summarize a repository-authored heuristic. A high score cannot detect ink spread, printer resolution, substrate reflectance, curvature, damage, scanner optics, or an incorrect official product assignment.

Technical Details:

A linear barcode represents data as alternating bars and spaces measured in modules. Retail EAN/UPC symbols have fixed encodation patterns, while Code 128 and Code 39 grow with the payload. Blank quiet zones on both sides let a scanner distinguish the symbol from nearby marks.

Rule Core

Payload normalization happens before artwork sizing. Code 39 letters are converted to uppercase. Retail values use the GS1 modulo-10 check-digit rule, applied from the rightmost body digit with alternating weights of 3 and 1.

c= (10(i=1ndiwi)mod10)mod10

Here, d is a body digit and w is 3, 1, 3, 1 in alternating order from the right. Require rejects a missing or incorrect final digit. Auto computes a missing digit but rejects an incorrect supplied one. Recalculate computes the final digit from the body even when a different digit was supplied.

Payload rules for supported barcode formats
FormatAccepted inputNormalization or validation
Code 1281 to 96 printable ASCII charactersNo GTIN check digit; values longer than 80 characters receive a compact-label warning
Code 391 to 96 supported charactersLowercase becomes uppercase; values longer than 48 characters receive a compact-label warning
EAN-1312 or 13 digitsComputes or validates the thirteenth digit
UPC-A11 or 12 digitsComputes or validates the twelfth digit

Formula Core

The print-width estimate combines an approximate content-module count with the configured blank margin on both sides. The browser margin is measured in pixels, so dividing it by the narrow-bar pixel width converts it to module equivalents.

M=Mcontent+2QB W=MX

Q is Quiet margin in pixels, B is Narrow bar width in pixels, X is Printed module width in millimetres, and W is the estimated width in millimetres. EAN-13 and UPC-A use 95 content modules. The Code 39 estimate is 25 + 13 per character; the Code 128 estimate is 35 + 12 per character. These latter counts are planning approximations, not complete symbology encoders.

The quiet-margin planning target is the greater of 12 pixels or 11 narrow-bar widths for EAN-13 and UPC-A, and the greater of 12 pixels or 10 narrow-bar widths for Code 128 and Code 39. It deliberately reduces several format-specific requirements to one conservative browser check; consult the applicable symbology specification for production dimensions.

The readiness score is a weighted combination of five 0-to-100 subscores. Payload validity contributes 30%, check-digit handling 20%, quiet margin 18%, screen-color contrast 17%, and print fit 15%.

R=round(0.30Sp+0.20Sc+0.18Sq+0.17Sk+0.15Sf)

A recalculated retail check digit scores 90 rather than 100. Quiet-zone credit grows proportionally to the planning target. Print fit scores 100 at no more than 90% of available width, 95 through 100%, 75 through 115%, 55 through 135%, and 25 above 135%.

Color contrast uses the WCAG relative-luminance equation as a screen-color proxy. Ratios at or above 7:1 receive full credit; ratios from 4.5:1 to 7:1 scale from 75 to 100, and lower ratios scale from 0 to 75. WCAG contrast describes visual text contrast, not barcode scanner performance.

Limitations:

Generation and planning checks happen in the browser, but the result is still artwork rather than verified packaging.

  • The readiness score is a planning heuristic, not an ISO/IEC or GS1 conformance grade.
  • Screen pixels and the entered module width do not prove the physical dimensions produced by a printer or design application.
  • A correct check digit confirms internal consistency only; it does not assign or authenticate a GTIN.
  • Always test the final substrate, size, colors, print process, placement, and scanner population.

Worked Examples:

Completing a UPC-A value

Enter the 11-digit body 03600029145 with Auto selected. Alternating 3 and 1 weights produce the check digit 2, so the encoded value becomes 036000291452. Keep the human-readable digits visible, check the estimated width against the usable label area, and scan a final-size print before release.

References: