YOLO Vision 2026:

CVAT Integration#

Direct CVAT imports are coming to Ultralytics Platform, so that a CVAT image detection or segmentation export uploads as-is with no format to choose.

Until then there is a short path that works today, because CVAT already exports in the Ultralytics YOLO layout Platform reads.

Import from CVAT Today#

  1. Export from CVAT. Open your task and choose Actions > Export task dataset (from a job it is Menu > Export job dataset).
  2. Pick the format. Choose the Ultralytics YOLO entry matching your task — CVAT lists Ultralytics YOLO Detection 1.0, Ultralytics YOLO Segmentation 1.0, Ultralytics YOLO Oriented Bounding Boxes 1.0, and Ultralytics YOLO Pose 1.0 separately.
  3. Turn on Save images, name the .zip, and click OK. Without the images the archive holds annotations only, and Platform has nothing to import.
  4. Download the archive. The export runs in the background — collect it from CVAT's Requests page when it finishes.
  5. Upload to Platform. Create a new dataset from the ZIP.
  6. Train. Edit the annotations, train, and deploy without leaving the workspace.

Ultralytics Platform CVAT Dataset Import

Export with the CLI#

CVAT's CLI exports the same archive from a terminal:

pip install cvat-cli
cvat-cli project export-dataset --format "Ultralytics YOLO Detection 1.0" --with-images yes 104 dataset.zip

Replace 104 with your project ID and the format string with the variant matching your task. --with-images yes is the CLI equivalent of the Save images switch; without it the archive holds annotations only.

CVAT's Ultralytics YOLO export produces the layout Platform expects, so nothing needs converting:

archive.zip/
├── data.yaml          # class names Platform reads
├── images/train/
└── labels/train/

Choosing an Export Format#

CVAT offers many export formats. Three matter here:

CVAT FormatWorksNotes
Ultralytics YOLOBestShips data.yaml, so your label names come across intact
COCO 1.0YesRead too; a mix of polygons and boxes imports as segment, and the box-only ones are dropped
COCO Keypoints 1.0YesImports as a pose dataset, with the keypoint count taken from the most common shape
YOLO 1.1PartlyBoxes import, but its obj.names file is not read — classes arrive as class0, class1, …

Every COCO annotation must carry a bbox to be read, and crowd regions ("iscrowd": 1) are skipped. Category names become the class names, and category IDs are unified across all the JSON files in the archive, so per-split exports keep consistent class IDs.

Pascal VOC imports without annotations

Platform does not read Pascal VOC XML labels, and a VOC export fails quietly rather than loudly: the images import, the annotations do not, and a VOC export of five or more images also picks up a single class named after its image folder. Choose Ultralytics YOLO or COCO instead.

What the Integration Will Add#

Picking the right export format is the step the integration removes. Once it ships, you will export any of CVAT's image detection and segmentation formats, upload it, and Platform will map the annotations to the matching YOLO task itself.

  • No format to choose — CVAT's image detection and segmentation exports map to a YOLO dataset with label names preserved
  • One workspace — labeling, training, and deployment stop spanning separate tools and a conversion script
  • Keep annotating — imported datasets open in Platform's annotation editor, including SAM-powered smart annotation
  • Train immediately — datasets are ready for cloud training as soon as they finish processing
Available now

The Labelbox and Roboflow integrations work today, and Platform imports YOLO, COCO, and Ultralytics NDJSON datasets directly.

Comments