Annotation Visualizer
Upload a batch of images and their annotation file(s) to see the bounding boxes drawn right on top of each one, labeled by class, scrollable side by side. Useful for catching conversion mistakes or bad exports before they end up in a training run — nothing is uploaded, everything renders locally in your browser.
About this tool
The Annotation Visualizer renders bounding box annotations directly on top of your images so you can visually confirm a dataset or export is actually correct — something a text diff or a spot-check in a text editor can't reliably catch. Upload one or more images plus their annotation file(s) in YOLO, COCO, Pascal VOC, or VIA CSV format, and every box is drawn in place, color-coded and labeled by class, scrollable through your whole batch at once. This closes a real gap in most annotation pipelines: a format converter or export script can silently produce a technically-valid file with the wrong coordinates — a common bug is mixing up normalized YOLO coordinates with absolute pixel coordinates — and nothing catches it until a model has already trained on bad data. This tool also flags declared-vs-actual image-dimension mismatches, a frequent cause of misaligned boxes when an image gets re-exported at a different resolution after annotation. It runs entirely client-side: images and annotation files are read locally in your browser and never uploaded anywhere.
Supported formats
- YOLO (.txt) — One file per image, normalized 0–1 coordinates, class index only — an optional class-names field resolves real names.
- COCO (.json) — A single file can cover many images, absolute pixel coordinates.
- Pascal VOC (.xml) — One file per image, absolute pixel coordinates.
- VIA CSV (.csv) — A single file can cover many images, and it's the only format that supports all six region shapes — rectangle, circle, ellipse, polygon, polyline, and point.
What you can do
- Preview multiple images at once, scrollable side by side
- Check YOLO, COCO, Pascal VOC, or VIA CSV annotations
- Catch bad exports or misaligned boxes before a training run
- See every class in a color-coded legend
- Nothing is uploaded — everything renders locally in your browser
How to use
Step 1
Upload images & pick a format
Add your images, then choose YOLO, COCO, Pascal VOC, or VIA CSV.
Step 2
Upload the annotation file(s)
One file per image for YOLO/Pascal VOC, or a single shared file for COCO/VIA.
Step 3
Review the results
Scroll through each image with its boxes drawn and labeled by class.
Example
A YOLO annotation line like this one:
YOLO line
0 0.5 0.5 0.2 0.3
means class 0, centered at 50% of the image's width and height, spanning 20% of the width and 30% of the height. On a 1000×800px image, that renders as a 200×240px box centered at (500, 400) — exactly what this tool draws for you, instead of you doing that math by hand to sanity-check a file.
How your data is handled
This tool is labeled 🟢 Browser: images and annotation files are read directly using your browser's File API and rendered to an on-page canvas. Nothing is uploaded to a server — the moment you close the tab, everything is gone.
Frequently asked questions
Why does it say "No matching .txt file" for one of my images?+
YOLO and Pascal VOC are one-file-per-image formats — the annotation filename (minus its extension) needs to match the image filename exactly. Rename them to match, or check for a typo.
My boxes look shifted or the wrong size — what's wrong?+
Check for a dimension-mismatch warning above the image. It means the annotation file's declared width/height doesn't match the actual uploaded image, usually from re-exporting at a different resolution after annotating.
Can I check a COCO file that covers multiple images?+
Yes — COCO and VIA CSV both support many images in a single file. Upload all your images plus the one shared file, and each gets matched to its own annotations by filename automatically.
Does it support circle, ellipse, or point annotations?+
Yes, for VIA CSV — it's the only one of the four formats where those shapes exist natively. YOLO, COCO, and Pascal VOC are bounding-box-only formats.
Is my data uploaded anywhere?+
No — images and annotation files are read directly in your browser using the File API and never leave your device.