Barcode Repair Tool
Mark unknown digits with ? or * — we brute-force valid GTIN check digits.
Results appear here…
Mark unknown digits with ? or * — we brute-force valid GTIN check digits.
Results appear here…
A pallet label gets scuffed in transit, a handheld scanner returns `59012341234?`, or a photo of a barcode has two unreadable digits — you know most of the GTIN but not all of it. This repair tool marks unknown positions with `?` or `*` and finds every GTIN that satisfies the GS1 check digit rule, so you can match the correct product in your catalog.
Replace each unknown digit with `?` or `*`. The tool generates every digit combination for those positions (0–9 per wildcard), computes the GS1 check digit for each candidate, and returns only codes where the check digit matches — eliminating most false positives.
For a single unknown digit there are at most 10 candidates; for two unknowns, 100. Keep wildcards focused on smudged positions rather than replacing entire codes, or results may be too broad for manual review.
Retail receiving: a carton barcode is partially torn — you can read 10 of 13 digits and need the rest before accepting the shipment. Quality control: compare a physical sample against your golden GTIN list when the laser etching is faded. Data cleanup: legacy CSV exports replaced damaged digits with spaces or question marks.
This is not OCR — you must know which positions are unknown. Pair it with Barcode Identifier once you have a complete candidate to confirm the symbology and format.
Scanned code (last digit unreadable)
59012341234?
Valid repair
5901234123457 (check digit 7 confirms this body)
Partial read from damaged label
5901234??345
Candidate matches
List of all GTIN-13 bodies + check digits matching the pattern
Barcode Repair recovers valid GTINs when one or more digits are missing or unreadable. Mark unknown positions with `?` or `*` and the tool brute-forces digit combinations that pass GS1 modulo-10 validation.
Useful for warehouse receiving, label QC, and cleaning damaged scans before importing into inventory systems. All processing is client-side.