A barcode that scans is not a barcode that passes.
Skewed, faded and smudged codes scan today and fail tomorrow — and the failure shows up as a stopped line, a returned shipment or a compliance finding, traced back to a code that looked fine. “It scans” is a probability, not a guarantee. Ribbon ageing, printhead wear, moisture and handling erode quality gradually, and the erosion is invisible to a spot check by eye.
The professional answer is not “scan it and see”. It is to grade the code against the ISO standard and find the problem while it can still be read.
HappyLab’s grading engine does that in software. Upload a label and get a 1D or 2D report with a per-parameter breakdown and an overall A–F grade in seconds.
Try it right now, free: open the online barcode grading tool.

What ISO grading actually measures
Two core standards define print quality:
| Standard | Applies to | Method |
|---|---|---|
| ISO/IEC 15416 | 1D codes (Code 128 / 39 / 93, EAN/UPC, ITF) | 10 scan lines, 9 parameters |
| ISO/IEC 15415 | 2D codes (QR, DataMatrix, Aztec) | Module-grid rebuild, 8 parameters |
| ISO/IEC 29158 | 2D DPM marks (laser, dot-peen) | Multi-angle lighting, same 8 parameters |
Scores run from 0 to 4.0 and map to six grades:
| Score | Grade | Meaning |
|---|---|---|
| 3.5 – 4.0 | A | Excellent |
| 2.5 – 3.5 | B | Good |
| 1.5 – 2.5 | C | Pass |
| 0.5 – 1.5 | D | Poor |
| 0 – 0.5 | F | Fail |
The overall grade is the worst single parameter — the weakest-link rule. One parameter out of spec, such as an occupied quiet zone or weak contrast, puts the whole code at risk. That is exactly why a code can scan perfectly today and still grade D.
For a 1D code the nine parameters are decode, edge determination, symbol contrast, minimum reflectance, minimum edge contrast, modulation, quiet zone, decodability and defects. None of this is guesswork — it is quantified and repeatable.
What is inside the engine
1 | Label image in |
- C++ core — a single image grades in under 100 ms.
- Dual decoders — when the primary decoder fails, a second engine retries on an auto-upscaled image, raising the read rate.
- In-house 2D parameters — FPD (fixed-pattern damage), GNU (grid non-uniformity), ANU (axial non-uniformity) and UEC (unused error correction) are implemented in-house. These are rarely available even in open source, where the common grader covers only a fraction of them.
- Wide symbology coverage — 1D: Code 128 / 39 / 93, EAN/UPC, ITF. 2D: QR, DataMatrix, Aztec.
- Visual reports — a location box, scan lines and a module-grid overlay make the failing parameter obvious at a glance.
Where it pays for itself
Printer-side quality control
Print several hundred labels and a visual spot check will not reveal ribbon ageing or printhead wear. Put a laptop or a phone beside the printer, photograph one or two labels per batch and grade them: under a minute per check, and a trend line that shows quality declining before a customer finds it.
Inline with a fixed-mount reader
A fixed-mount reader can hand every captured image to the grading engine. A code that scans but grades C, D or F is a warning: check the print parameters. Aggregate the grades per station and you can locate the source of the drift, not just the symptom.
Incoming inspection
Supplier labels vary in quality, and warehouse sampling by eye is not a standard. Photograph, grade and record — one consistent criterion, with an archived report to point to if there is a dispute.
Pre-compliance screening
Where quality is mandatory — medical UDI, automotive IATF — sending every sample to a professional verifier is slow and costly. Screen internally first and send only what clears your threshold, turning a pass rate based on luck into something closer to a certainty.

Honest positioning: reference-grade, not certification
This is the part we most want to be clear about.
Why commercial verifiers cost what they do. ISO-compliant grading depends not only on the algorithm but on standardised hardware: 45° ring illumination at 660 nm with ±10% uniformity and ambient-light shielding, a standard aperture (0.25 mm by default), periodic calibration against a reflectance reference, a camera of at least 5 megapixels shooting perpendicular within 15°, and a formal report format (grade/aperture/wavelength, e.g. 3.0/06/660). The cost is in meeting those specifications and carrying the certification — not in the software.
| Commercial verifier | HappyLab software | |
|---|---|---|
| Hardware cost | Tens of thousands | Software only |
| Deployment | A fixed station, a trained operator | Any PC or phone; upload and go |
| Throughput | One code at a time | Batch images, instant reports |
| Certification | ISO-compliant | Reference-grade; no ISO certification claimed |
| Purpose | Compliance audit, certification reports | Trend monitoring, fast screening, diagnosis |
Please read: reference-grade is not certification
This is a reference-grade grader. It does not claim ISO certification and must not be used as a formal compliance audit report. ISO-compliant grading requires standardised hardware — controlled 45° / 660 nm lighting, a standard aperture, a calibrated reflectance target — which is what commercial verifiers provide. Certification stays with dedicated equipment.
What is missing is the standardised light source, aperture and calibration target — hardware, not algorithms. But “reference-grade” is a long way from “not useful”:
- Screening — filter out obviously poor codes before they reach a professional verifier, cutting verification volume substantially.
- Trend monitoring — sample daily and catch decline early, so ribbon changes and parameter tweaks happen on your schedule.
- Diagnosis — the report names the failing parameter: contrast, quiet zone, smudge. It points at the cause, not just the symptom.
- Anywhere — incoming inspection or a supplier visit; a phone photo is enough.
We are not trying to replace a professional verifier. We are making it possible for anyone with a computer to screen first.
Use it standalone, or wire it in
- Standalone tool — upload an image and read the report, no integration needed.
- API — score images programmatically and return the full report, so your MES, ERP or QC system can call it directly.
- Fully offline — no cloud service and no external calls. It runs on your network, on your hardware, so nothing about your labels leaves your site.
- Custom integration — we adapt the input, the output format and the workflow to your line.
Pricing
| 🔍 Standalone | 🛠️ Custom integration | |
|---|---|---|
| Price | $300 one-time | from $200 |
| Runs offline | ✅ | ✅ |
| API access | ✅ | ✅ |
| Batch grading | ✅ | ✅ |
| Output format | Standard report | Adapted to your system |
All licenses are one-time — no subscriptions. Full details on the barcode grading pricing page. A free 30-day trial is available on request.
Try it now
Upload one of your own labels to the online grading tool — no signup required. Or read the full write-up in Barcode Quality Grading: ISO 15416 / 15415 in Software.
Requirements and limits
- Input: an image of the code. For the best result, capture it flat, evenly lit and in focus.
- Platform: Windows or Linux; the tool and the API run on standard hardware with no GPU required.
- Certification: reference-grade only — not a substitute for a certified verifier (see above).
- Interface language: Chinese today; the English build is in progress.
- Fully offline: no cloud, no external calls, nothing leaving your network.
💬 Questions or a custom requirement?
Need the grader wired into your MES or ERP, a different report format, or an on-premise deployment? Tell us what you need and we will come back with a plan.
