Data Preparation#
Data preparation is the foundation of successful computer vision models. Ultralytics Platform provides comprehensive tools for managing your training data, from upload through annotation to analysis.
Watch: Get Started with Ultralytics Platform - Data
Overview#
The Data section of Ultralytics Platform helps you:
- Upload images, videos, and dataset files (ZIP, TAR including
.tar.gz/.tgz, NDJSON) - Import from a URL by pasting a direct link to an archive or NDJSON export, or from Roboflow
- Connect Google Cloud Storage, Amazon S3, or Azure Blob Storage and use your data in place without uploading a copy
- Keep pixels on premise with Enterprise On Premise CPU/GPU workers
- Annotate with manual drawing tools and SAM-powered smart labeling — choose from SAM 2.1 or the new SAM 3
- Manage classes by renaming, recoloring, merging, and deleting them across the whole dataset
- Analyze your data with statistics, visualizations, and embedding-based clustering
- Export in NDJSON format for local training

Workflow#
graph LR
A[Upload]:::start --> B[Annotate]:::proc
B --> D[Train]:::out
B --> C[Analyze]:::proc
classDef start fill:#4CAF50,color:#fff
classDef proc fill:#2196F3,color:#fff
classDef out fill:#9C27B0,color:#fff| Stage | Description |
|---|---|
| Upload | Import images, videos, or archives with automatic processing |
| Annotate | Label data with manual tools, or use SAM annotation for detect, segment, semantic, and OBB |
| Analyze | View class distributions, spatial heatmaps, dimension statistics, and embedding clusters |
| Export | Download in NDJSON format for offline use |
Supported Tasks#
Ultralytics Platform datasets support all 7 YOLO task types:
| Task | Description | Annotation Tool |
|---|---|---|
| Detect | Object detection with bounding boxes | Rectangle tool |
| Segment | Instance segmentation with pixel masks | Polygon tool |
| Semantic | Semantic segmentation with per-class pixel regions | Polygon tool |
| Depth | Per-pixel metric depth maps | Imported targets |
| Classify | Image-level classification | Class selector |
| Pose | Keypoint estimation with built-in and custom skeleton templates | Keypoint tool |
| OBB | Oriented bounding boxes for rotated objects | Oriented box tool |
The task type is set when creating a dataset and determines which annotation tools are available. You can change it later from the dataset header task selector, but incompatible annotations won't be displayed after switching. Switching to or from depth is only allowed while the dataset is empty — see Edit Dataset.
Key Features#
Smart Storage#
Ultralytics Platform manages storage efficiently:
- Deduplication: Identical images in the same data region are stored once
- Integrity: Uploads are verified for data integrity
- Efficiency: Optimized storage and fast processing
Dataset URIs#
Reference datasets using the ul:// URI format (see Using Platform Datasets):
yolo train data=ul://username/datasets/my-datasetThis allows training on the platform's datasets from any machine with your API key configured.
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="ul://username/datasets/my-dataset", epochs=100)Dataset Versioning#
Create immutable NDJSON snapshots of your dataset for reproducible training. Each version captures image counts, class counts, and annotation counts at the time of creation. See Versions Tab for details.
Dataset Tabs#
Dataset pages can show up to six tabs, depending on the dataset state and your permissions:
| Tab | Description |
|---|---|
| Images | Browse images in grid, compact, or table view with annotation overlays |
| Classes | View, rename, recolor, merge, and delete classes with per-class label counts |
| Charts | Automatic statistics: split distribution, class counts, heatmaps |
| Models | Models trained on this dataset with metrics and status |
| Versions | Create, download, and restore immutable NDJSON snapshots for reproducibility |
| Errors | Images that failed processing with error details and fix guidance |
Classes appears when the dataset has images and its task has classes, while Charts appears whenever it has images. Errors appears only when processing failures exist. Versions appears when you have edit access, or in read-only mode when versions already exist.
Clustering#
Explore your dataset as an interactive 2D scatter plot where visually similar images sit close together — useful for surfacing clusters, duplicates, and outliers, and for inspecting how splits or classes are distributed across your data. Lasso a region of the plot to filter the gallery to those images. Analysis needs between 20 and 200,000 non-errored images. See Clustering for details.
Statistics and Visualization#
The Charts tab provides automatic analysis including:
- Split Distribution: Donut chart of train/val/test image counts
- Top Classes: Donut chart of the 10 most frequent annotation classes
- Image Dimensions: Histogram of image width and height distribution (in pixels)
- Image Dimensions 2D: 2D heatmap of width vs height with aspect ratio guide lines
- Annotation Locations: 2D heatmap of bounding box center positions
- Points per Instance: Polygon vertex or keypoint count distribution (segment/pose datasets)
See the Charts tab for the full list.
Quick Links#
- Datasets: Upload, manage, and export your training data
- Annotation: Label data with manual and AI-assisted tools
- Cloud Training: Train models on your annotated datasets
- Dataset URI: Use
ul://URIs to train from anywhere
FAQ#
Ultralytics Platform supports:
Images: JPEG, PNG, WebP, BMP, TIFF, HEIC, AVIF, JP2, DNG, MPO (max 50MB each)
Videos: MP4, WebM, MOV, MKV, M4V (max 1GB, frames extracted at 1 FPS, max 100 frames)
Dataset files: ZIP or TAR archives including
.tar.gzand.tgz(max 10GB on Free, 20GB on Pro, 50GB on Enterprise) containing images with optional YOLO-format or COCO JSON labels, plus NDJSON exportsAny of these archive or NDJSON formats can also be imported by pasting a direct HTTP(S) link in the
URLtab of theNew Datasetdialog. Pascal VOC XML labels are detected but not imported.Storage limits depend on your plan:
Plan Storage Limit Free 100 GB Pro 500 GB Enterprise Unlimited Individual file limits: Images 50MB, Videos 1GB, datasets 10GB on Free / 20GB on Pro / 50GB on Enterprise
Yes! Use the dataset URI format to train locally:
export ULTRALYTICS_API_KEY="YOUR_API_KEY" yolo train model=yolo26n.pt data=ul://username/datasets/my-dataset epochs=100Or export your dataset in NDJSON format to transfer its metadata, splits, annotations, and signed image URLs.