Datasets

Label Format Converter

Every detection framework has its own label file. Drop what you have (YOLO txt files with data.yaml or a classes list, a COCO JSON, VOC XML files, or a CSV) along with the images or their sizes, and download any of the others. The converter reports every box it read and every box it wrote, so nothing disappears quietly.

Loading the tool…

How it works

01

Drop labels and images

Images are needed for YOLO's normalised coordinates and VOC's size element; if you only have labels, enter a fixed width and height.

02

Check classes

Class names and ids are shown side by side; rename or reorder before writing.

03

Download

A zip in the target format, plus a conversion report listing images, boxes and any dropped items.

Formats, limits and the numbers that matter

Coordinate systems

YOLO: centre x, centre y, width, height, normalised. COCO: top-left x, y, width, height in pixels. VOC: xmin, ymin, xmax, ymax in pixels, 1-based in some tools. CSV: x_min, y_min, x_max, y_max.

Rounding

Pixel outputs are rounded to integers; YOLO outputs keep six decimals. A round trip changes boxes by at most half a pixel.

Segmentation

COCO segmentation polygons convert to YOLO-seg lines and back; VOC and CSV carry boxes only.

Common questions

Why does COCO number categories from 1?

Convention from the original dataset. YOLO numbers from 0; the converter maps between them and writes the mapping in the report.

Missing images?

Boxes for images that are not present are still converted if sizes are known; otherwise they are listed as skipped.

Can it merge several COCO files?

Yes; drop them together and image and annotation ids are renumbered.