Ultralytics Platform: what's the folder structure to import images and annotations using NDJSON file?

(Using Ultralytics Platform)

This documentation url: Datasets - Ultralytics YOLO Docs mentions the structure needed to import images and yolo based annotations.

Can we import images and NDJSON annotations with a similar structure? If so, what’s the structure needed? NDJSON file does not seem to be taken into consideration when I ZIP my images and include the NDJSON annotation data.

Ultralytics Platform upload currently supports YOLO-format labels (images/ + labels/ + data.yaml), COCO JSON, or raw images—NDJSON is used for export, not as an import annotation format, so zipping images + *.ndjson won’t be parsed on upload (as you noticed). The supported upload formats are described in the Platform Datasets documentation.

If you already have NDJSON (for example exported from Platform), the intended workflow is to convert it to standard YOLO structure first using Ultralytics’ built-in converter convert_ndjson_to_yolo, then zip that converted YOLO dataset and upload:

import asyncio
from ultralytics.data.converter import convert_ndjson_to_yolo

yaml_path = asyncio.run(convert_ndjson_to_yolo("my-dataset.ndjson", output_path="out"))
print("Converted dataset YAML:", yaml_path)

After conversion you’ll have the usual images/train, labels/train, etc. plus data.yaml, which Platform will accept.

Thanks for the information, much appreciated.

We are working on adding this. It should be available very soon. Probably within a week.