FREE BARCODE CONTENT CHECKS
Did the separator reach your software?
See exactly where each GS1 field ends. BarcodeBench shows group separators, AIM prefixes and stray characters, and never splits a lot number on a guess.
Free to use. No account, email address or trial. Works offline once prepared.
BARCODE / INSPECT EXAMPLE
Format GS1 machine textDates · 2026 reference year
Exact observed text
010952704128360110B417[GS]17270531
Supported checks passed
(01)GTIN09527041283601Check digit 1
(10)BATCH/LOTB417
(17)USE BY or EXPIRY270531Date: 2027-05-31
Illustrative, invented values. Supported checks passed describes content only, not print quality, ownership or compliance.
MADE FOR THE FLOORFor integrators, ERP and warehouse system administrators and engineers who set up keyboard scanners to pass GS1 data into receiving, production or despatch software.
A USEFUL STARTING POINT
A missing separator changes the data quietly
In GS1 machine text, a variable-length field such as a batch or lot ends with a group separator character (ASCII 29) unless it is the last field. If a label, scanner setting or keyboard route loses that character, the lot runs straight into the next field. BarcodeBench shows separators as [GS], reads only what actually arrived and keeps a run-on lot as one value. Text typed as <GS> is never treated as a separator.
FROM QUESTION TO EVIDENCE
Three steps to a useful result.
- 01
Capture what the software receives
Scan into the scan field, paste the text from your application, or import complete captures from a ScannerBench full report, which keep their paste, mixed or edited source labels.
- 02
Declare GS1 machine text
Choose GS1 machine text. If the value starts with an AIM prefix such as ]C1, ]d2 or ]Q3, confirm that it should be left out of the check. The observed value stays unchanged.
- 03
See where each field ends
Each field shows its exact value. A lot that swallowed the expiry date, an unsupported identifier or a separator in the wrong place is plain to see.
A CONCRETE EXAMPLEA lot number that swallowed the expiry date
A label carries GTIN 09527041283601, lot B417 and expiry 270531. With the separator intact, BarcodeBench shows 010952704128360110B417[GS]17270531 and three fields. When the same scan arrives as 010952704128360110B41717270531, it shows two: the GTIN and a lot of B41717270531. That lot passes the supported checks, so BarcodeBench reports it as it arrived and does not split it. The difference shows the separator is missing from the text, whether the label never had it or a scanner or keyboard setting removed it.
USED IN PRODUCTION
From one explained scan to checks on every job.
BarcodeBench explains one value at a time, when someone asks. Two SmartFACT services handle the checks that repeat every day: choosing and checking the label for each job, and checking the parts that go into each kit. Both are in early access, with scope agreed at onboarding.
LabelRules
When the questions come from your own labels, LabelRules turns customer label requirements described in plain English into approved rules. Those rules select each job's layout, resolve customer codes and check the required values before the label prints.
KitProof
When scans need checking against what a kit should contain, KitProof builds each kit's checklist from approved plain English component rules and checks every scan against the expected parts and quantities. A wrong or unexpected identifier stays visible instead of filling the next line.
BEFORE YOU START
A few practical answers.
Why does it not split the lot for me?
A batch or lot can legitimately contain digits that look like another field, so the only safe answer is the one in the text. BarcodeBench reports what arrived and leaves the intended structure to you and the label's sender.
What is the ]C1 at the start?
]C1, ]d2 and ]Q3 are AIM symbology identifiers that some scanners add for GS1-128, GS1 DataMatrix and GS1 QR Code. BarcodeBench leaves one out only after you confirm it, and says that it did. Without that confirmation the value is reported as outside the supported profile. A prefix is a claim in the text, not proof of the printed symbol.
How do I see what my scanner sends?
Use ScannerBench, the free scanner test, to capture the characters your scanner sends. Download its full JSON report and import it here: complete captures arrive read-only, and redacted reports are refused because their values cannot be rebuilt.
What are the current limits?
BarcodeBench checks the text a scanner or camera produced, not the printed barcode. It does not read image files, grade print quality, identify the printed symbology, look up who owns a GTIN, generate barcodes or certify compliance, and it never opens a Digital Link address. Its GS1 profile explains 29 application identifiers; anything outside it is reported as outside the supported profile, not guessed. Full dates use a stated 2026 reference-year policy. Each value can be up to 4,096 characters (16 KiB), a session holds 16 values, imported files can be up to 2 MiB and a ScannerBench report up to 50 captures. Camera scanning reads Code 128, QR, Data Matrix, EAN-13, EAN-8, UPC-A and UPC-E, and depends on the device, the browser and camera permission. There are no accounts, shared records or connections to other systems.
What happens to my data?
Your values stay in this browser. A session is kept in memory while the tab is open; Save on this device keeps it in this browser between visits. Nothing you check is uploaded, and no barcode value is ever placed in a link, a page address or analytics. The camera opens only when you choose it, and frames are decoded on your device. Reports leave out values unless you choose to include them. Google Analytics is optional and loads only after you accept; it never receives scans, values or file contents. Use Analytics settings to change your choice; see /privacy/.
ONE SMALL JOB, DONE WELL
Put BarcodeBench to work.
Open the free tool and start with one known example.
Inspect a barcode →
THE SMARTFACT SUITE
Practical tools. Useful on their own.
Better around the same floor.
Automate factory decisions with rules you describe in plain English. Explore focused SmartFACT services, plus free tools for everyday checks.
LabelRules
Describe label rules in plain English. Automatically select layouts, resolve customer codes and check each job before printing.
Explore LabelRules ↗KitProof
Turn plain English component rules into automatic kit checklists, then check scans against the expected parts and quantities.
Explore KitProof ↗WorkSteps
Turn plain English rules into automatic step selection for each unit, with required evidence and a record of completed work.
Explore WorkSteps ↗FactorySpec
Apply approved product rules and calculations automatically to turn dimensions and options into manufacturing requirements.
Register early-access interest ↗ConfigSheets
Maintain configuration in Google Sheets and make it available as structured data your applications can query.
Register early-access interest ↗OrderRun
Turn plain English rules into automatic order checks and destination selection, with controlled production release.
Register early-access interest ↗ParcelOffice
Scan the work order and the parcel choice to book the courier and print the labels. Approved plain English rules recommend or choose the parcel.
Explore ParcelOffice ↗RefillFlow
Scan an empty container to send the right refill request to stores. Approved plain English rules set the stores queue, priority, ticket printer and escalation.
Explore RefillFlow ↗RemnantRack
Label each offcut, find a suitable length before cutting new stock and record what you used. Approved plain English rules decide what to keep and where it goes.
Explore RemnantRack ↗ScannerBench
See the text and key events your keyboard scanner sends. Compare them with the value you expected.
Test a scanner ↗PrintBench
Print a known PDF, measure its reference marks and compare scans from the printed codes.
Check a print ↗CardBench
Create 100 × 50 mm bin and rack cards with Code 128 or QR, from one record or a CSV.
Make bin cards ↗CountBench
Count stock by location with a barcode scanner, compare it with a stock file and export the results. No account needed.
Start a free count ↗BarcodeBench
See exactly what a scanned barcode contains, with hidden characters shown and GS1 fields, check digits and dates explained. No account needed.
You are hereMatchBench
Scan a reference and each label, see an exact match or the first difference, and download the results. No account needed.
Start a free comparison ↗TagBench
Scan an item or location, note what needs attention, print a review tag and keep a review list. No account needed.
Make a free tag ↗FindBench
Load your own parts and locations CSV, scan a code and see every location it lists. No account needed.
Start a free lookup ↗ManifestBench
Check cartons, pallets or serial numbers against a list with a phone or scanner and see what is missing. No account needed.
Start a free check ↗FeedBench
Check CSV and JSON files exactly as written, preview a column mapping and compare two versions by key. No account needed.
Check a file free ↗CycleBench
Time work cycles and changeovers on a phone, record interruptions with reasons and download the results. No account needed.
Start a free study ↗SmartFACT Help
Step-by-step guides and interactive demonstrations for the SmartFACT suite. Read the instructions, watch a task or practise with real product screens and sample data.
Open SmartFACT Help ↗