Annotation Quality Checker
Validate YOLO bounding boxes, missing labels, invalid values, and empty annotations.
Read the guide and worked example ↓
No settings are required. The tool will create a safe report or output without changing your original file.
Recent Results
The download appears directly below its progress bar when processing finishes.
How to use Annotation Quality Checker
Inspect supported YOLO bounding-box rows for common structural problems before conversion or training. This check helps identify malformed rows, invalid ranges, and missing or empty labels. Visual review is still needed to judge object identity, completeness, and box placement.
Prepare, run, and review
- Create a ZIP containing images and one matching YOLO text label per image. Use unique base names across all directories. Keep unrelated JSON, XML, and text files out of the archive to avoid ambiguous label matching.
- Each nonempty row should contain a nonnegative integer class ID followed by normalized center x, center y, width, and height. Width and height must be positive.
- Run the check and download annotation_quality_report.zip. Read valid_boxes, invalid_annotation_lines, and empty_or_missing_labels in the summary, then inspect each CSV row for details.
- Correct the source annotations and rerun the check. Overlay representative boxes on their images before accepting the dataset for training.
Download a small, synthetic example dataset. It contains four labeled rectangle images and a matching copy of the first image for duplicate-check practice. It is for learning the file workflow, not for training a useful detector.
Read a valid normalized row
0 0.50 0.50 0.20 0.40
class = 0
center = halfway across and halfway down
width = 20% of image width
height = 40% of image heightThe row describes a box centered in the image. A row with width zero is invalid, while a row with only four values is malformed. An empty label can be an intentional negative example, so empty_or_missing_labels is a review count rather than proof that every flagged image is wrong.
Limits and common mistakes
- The checker does not confirm that class IDs exist in your class-name list or that the box encloses the intended object.
- It checks normalized values individually; it is not a complete geometric audit. A center and width can each be in range while the resulting box extends past an image boundary.
- Check that all coordinates are finite numbers. This report is a basic format check and does not certify a dataset against every unusual numeric value.
- Segmentation polygons, rotated boxes, and pose annotations require different schemas and are outside this five-value box check.
Why can a valid row still describe a bad annotation?
Valid syntax and ranges do not establish semantic correctness. The box may surround the wrong object, use the wrong class, omit objects, or extend beyond a sensible boundary.
Continue learning
ToolsInVision guide · Updated September 26, 2026 · Editorial approach · Report an issue