UPC-A with a leading zero
012345000058 remains twelve characters. Its final digit matches the Modulo-10 calculation, so UPC-A rendering may begin.
Local browser tool
Render a tested barcode subset locally, verify the digital image with a second decoder, and export SVG or PNG without sending the value to a server.
Supply your own value. BarcodeOpsKit does not issue identifiers.
Preview and evidence
Digital rendering and self-scan do not certify a physical print.
Configure a supported type and generate to see the local preview.
Choose one of the ten documented symbologies, enter the source value, set dimensions, quiet zone, text, and rotation, then generate. Numeric retail and logistics identifiers must pass the existing GS1 Modulo-10 check before rendering. The browser-only renderer creates SVG and PNG; a separate local decoder then reads the digital result back.
A passing digital self-scan means the generated pixels reproduced the expected data in this browser. It is useful regression evidence, not a measurement of contrast, ink spread, substrate, printer resolution, or scanning distance.
BarcodeOpsKit does not assign identifiers, query a registry, confirm ownership, identify a product, verify an AI against the GS1 dictionary, grade a physical symbol, certify a print, or guarantee retailer or marketplace acceptance. GS1 element strings receive only the bounded outer form required by the renderer in Stage 07; semantic AI parsing is deliberately deferred.
Other formats in the underlying renderer are intentionally hidden until BarcodeOpsKit has tests and original documentation for them.
012345000058 remains twelve characters. Its final digit matches the Modulo-10 calculation, so UPC-A rendering may begin.
lot-39 is displayed separately from normalizedLOT-39. An asterisk is rejected because it is reserved for start and stop handling.
https://id.gs1.org/01/09521101530001 is a bounded HTTPS example accepted by the renderer. The tool does not resolve the URL or prove assignment.
TEST / SYNTHETIC / NOT FOR COMMERCIAL USE. Examples demonstrate local behavior and do not claim issuance, ownership, or product identity.
Renderer and decoder packages are loaded only after generation starts. The value is not placed in a URL, request, analytics event, console log, or persistent store. Preview and download object URLs are revoked when replaced or released.
Reviewed 2026-07-13 with bwip-js 4.11.2 / BWIPP 2026-05-28, @zxing/browser 0.2.1, GS1 General Specifications 26.0.0, and theofficial GS1 check-digit guidance. BarcodeOpsKit is independent and not affiliated with GS1.
Scan a barcode image or camera feed,validate one identifier, orprocess a local CSV/TSV batch. For carrier selection, readCode 128 vs GS1-128 orSVG vs PNG for barcode printing.