Check labels against their applications
Upload the label images and the applications, one or hundreds, then press Start. Each application comes back as a row: what matched, what to look at, and where on the label it was read. The tool points things out. You make the call.
Images not matched to an application
Choose the application each image belongs to, or leave it out.
Refreshing or closing this page clears everything. Export before you leave.
About this tool
What it does
It reads the text on label images with a text-recognition model that runs inside the service itself, compares what it read with what the application says, checks the government warning statement word for word against 27 CFR 16.21, and shows you exactly where on the label it found each item. It works in a few seconds and makes no calls to outside services.
What it does not do
- It does not approve or reject applications. Every result is a recommendation for a compliance agent.
- It does not store images, application data, or results. Refreshing the page clears everything.
- It does not check permits, formulas, class/type validity, age statements or laboratory tolerances.
- It does not measure physical type size. Bold type is measured from the print; whenever the measurement cannot confirm it, the warning is marked for you to confirm.
How it decides
Match means the label says the same thing, allowing for letter case and accents. Needs review means it is close but you should look, which is usually OCR noise. Mismatch and Not found mean the label disagrees or the item could not be read. For the warning statement, only an exact match passes.
For engineers
API description: /api/v1/openapi.json. Health and capacity: /api/v1/health. Source code and documentation: repository.
Accessibility
How this tool is built to be usable
- Built with the U.S. Web Design System. Target: WCAG 2.1 AA and Section 508.
- Every status is an icon, a word and a color, never a color alone. A pressed button carries a check mark in its text.
- Works with the keyboard alone, at 200 percent zoom and on a phone (checked by the browser tests), and in Windows contrast themes (checked by hand); progress, results and recorded decisions are announced to screen readers; moving between pages puts the focus on the new page's heading.
- No time limits; the only motion is a progress spinner, which stops when your system asks for reduced motion.
If something does not work for you
Please say so in the project repository, with the page, the browser and what happened.