Annotation Format Converter
Convert a YOLO bounding-box dataset to COCO JSON or Pascal VOC.
Read the guide and worked example ↓
Recent Results
The download appears directly below its progress bar when processing finishes.
How to use Annotation Format Converter
Convert a YOLO bounding-box dataset into COCO JSON or Pascal VOC XML when another training or evaluation workflow expects a different annotation format. Coordinate conversion changes representation; it does not improve an inaccurate box.
Prepare, run, and review
- Create a ZIP with uniquely named images and matching YOLO text files. Use one row per box: class_id center_x center_y width height. The four coordinates are normalized relative to image width and height.
- Use a nonnegative integer class ID and positive box sizes. Check your annotations before conversion. This tool handles five-value bounding-box rows, not segmentation polygons, pose keypoints, or arbitrary COCO input.
- Choose COCO JSON or Pascal VOC in the output menu, then run the conversion. Image dimensions are read from the actual image files.
- Download annotations_coco.zip or annotations_voc.zip. Open several converted examples in the receiving tool and compare them visually with the original labels.
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.
One box represented two ways
Image: 1000 × 500 pixels
YOLO row: 2 0.5 0.5 0.2 0.4
COCO bbox [left, top, width, height]: [400, 150, 200, 200]
Pascal VOC corners: xmin=400, ymin=150, xmax=600, ymax=350The normalized center becomes 500, 250 pixels. Width and height each become 200 pixels, so subtracting half the size gives the left and top coordinates. Class IDs are retained; COCO category names are generated as class_2-style names, while VOC object names use the numeric ID. Review or map those names for your training workflow.
Limits and common mistakes
- Use unique file names across the ZIP. Output images are placed together, so duplicate names from separate folders are ambiguous and can collide.
- Unreadable images cannot be converted reliably. Run Dataset Health Check first and inspect the number of output images.
- Missing labels can produce images with no boxes. Confirm that these are intended negative examples before training.
- Different consumers use different box conventions. Verify coordinates and class mappings with the target tool instead of assuming a successful export guarantees compatibility.
Can I upload a YOLO segmentation polygon to this converter?
No. The current converter expects exactly five values per nonempty row for a bounding box. It does not convert segmentation polygons.
Continue learning
ToolsInVision guide · Updated September 26, 2026 · Editorial approach · Report an issue