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

**URL:** <https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820>\
**Category:** Ultraltyics Platform\
**Tags:** question\
**Created:** [February 22, 2026, 4:06pm UTC](https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820 "2026-02-22T16:06:44Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chibbs](https://avatars.discourse-cdn.com/v4/letter/c/c0e974/32.png) [@Chibbs](https://community.ultralytics.com/u/Chibbs)\
**Post date:** [February 22, 2026, 4:06pm UTC](https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820/1 "2026-02-22T16:06:44Z")

</div>

(Using Ultralytics Platform)

This documentation url: [Datasets - Ultralytics YOLO Docs](https://docs.ultralytics.com/platform/data/datasets/#models-tab) 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.

---

<div class="post-metadata">

**Author:** ![pderrenger](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/pderrenger/32/73_2.png) [@pderrenger](https://community.ultralytics.com/u/pderrenger)\
**Post date:** [February 23, 2026, 1:44pm UTC](https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820/2 "2026-02-23T13:44:53Z")

</div>

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](https://docs.ultralytics.com/platform/data/datasets/)**.

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`](https://docs.ultralytics.com/reference/data/converter/)**, then zip that converted YOLO dataset and upload:

```python
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.

---

<div class="post-metadata">

**Author:** ![Chibbs](https://avatars.discourse-cdn.com/v4/letter/c/c0e974/32.png) [@Chibbs](https://community.ultralytics.com/u/Chibbs)\
**Post date:** [February 23, 2026, 2:03pm UTC](https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820/3 "2026-02-23T14:03:09Z")

</div>

Thanks for the information, much appreciated.

---

<div class="post-metadata">

**Author:** ![Toxite](https://sea1.discourse-cdn.com/flex001/user_avatar/community.ultralytics.com/toxite/32/123_2.png) [@Toxite](https://community.ultralytics.com/u/Toxite)\
**Post date:** [February 23, 2026, 4:32pm UTC](https://community.ultralytics.com/t/ultralytics-platform-whats-the-folder-structure-to-import-images-and-annotations-using-ndjson-file/1820/4 "2026-02-23T16:32:00Z")

</div>

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