Guide · Open source
How to use CVAT: install, label data and export datasets
Updated · written with AI from the project's own documentation and checked against our catalogue data
CVAT (Computer Vision Annotation Tool) is a web-based platform for labeling datasets so machine learning models can learn from them. It covers image, video, audio and 3D point cloud annotation. This guide walks through installing the free Community edition with Docker, creating an admin account, labeling data and exporting it, so you can finish with a working local instance.
Quick start
- 1Install prerequisites. Install Docker Engine, Docker Compose and Git on the host machine.
- 2Clone the repository. Run git clone https://github.com/cvat-ai/cvat and then cd into the cvat folder.
- 3Start the stack. Run docker compose up -d to launch the default services.
- 4Create an admin account. Run the createsuperuser command inside the cvat_server container.
- 5Open CVAT in your browser. Go to http://localhost:8080 in a Chromium-based browser and log in.
- 6Create a project and upload data. Define labels, then upload images, videos, audio or point clouds to a task.
- 7Annotate and export. Label your data, review results, then export in a format such as COCO or YOLO.
What CVAT is used for
Annotation means adding labels to data, such as bounding boxes, polygons and masks on images, or tracks on video. CVAT lets you do this in a browser and then export the labeled data in formats such as COCO or YOLO.
The Community edition is free and runs on your own servers through Docker, so your data stays in your infrastructure.
- Annotate images, videos, audio and 3D point clouds
- Split work among annotators and review results
- Export and import in 20+ formats
What you need before installing CVAT
You need three tools installed on the machine that will host CVAT: Docker Engine, Docker Compose and Git.
CVAT is primarily tested with Chromium-based browsers such as Google Chrome or Microsoft Edge. Firefox may work with some caveats, and Safari/WebKit is not supported.
- Docker Engine
- Docker Compose
- Git
- A Chromium-based browser (Google Chrome or Microsoft Edge)
Install CVAT with Docker
Clone the repository and start the default stack. The README notes an optional setting: export CVAT_HOST to your IP address or domain before starting.
For OS-specific setup and alternative deployments such as AWS, Kubernetes, external PostgreSQL, backups and upgrades, see the official Installation Guide and Deployment Guides in the CVAT documentation.
git clone https://github.com/cvat-ai/cvat
cd cvat
# Optional: set your IP or domain
# export CVAT_HOST=your-ip-or-domain
docker compose up -dCreate an admin account
Once the containers are running, create a superuser account from inside the cvat_server container. You will use this account to sign in.
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'Sign in and label your first data
Open http://localhost:8080 in your browser, or use your CVAT_HOST address if you set one. Log in with the superuser account.
Create a project or task, upload your data (images, video, audio files or point clouds), and define the labels you need. Then start annotating. Jobs within a task can be assigned to annotators, and progress is tracked.
- Open http://localhost:8080 (or your CVAT_HOST)
- Log in with your superuser account
- Create a project or task and upload data
- Define labels and start annotating
Automate labeling and use the Python SDK
CVAT can connect your own models for automatic annotation through pre-built serverless models powered by Nuclio. To enable this, add the serverless component to your deployment with the command below.
For scripting, install the Python SDK with pip install cvat-sdk, or the command line tool with pip install cvat-cli. The REST API gives full programmatic control.
- Python SDK: pip install cvat-sdk
- Command line tool: pip install cvat-cli
- REST API for full programmatic control
docker compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -dWhat people use it for
- Labeling bounding boxes and masks on images to train an object detector
- Annotating video frames with tracking for multi-object tracking datasets
- Splitting a large labeling job among several annotators and reviewing their output
- Pre-labeling data with your own model through automatic annotation, then correcting it by hand
- Keeping sensitive training data on your own servers instead of a hosted service
Frequently asked questions
Is CVAT free?
CVAT Community is the free, self-hosted open-source edition and its core is under the MIT License. Some serverless assets and dependencies may have separate licenses. Hosted options such as CVAT Online have paid plans, and some features are reserved for them.
What are the requirements to run CVAT?
You need Docker Engine, Docker Compose and Git. For the browser, use a Chromium-based browser such as Google Chrome or Microsoft Edge, since Safari/WebKit is not supported.
How do I install CVAT?
Clone the repository with git clone https://github.com/cvat-ai/cvat, enter the cvat folder, and run docker compose up -d. Then create an admin account with the createsuperuser command in the cvat_server container.
Why can't I use CVAT in Safari?
The README states that CVAT is primarily tested with Chromium-based browsers and that Safari/WebKit is not supported. Use Google Chrome or Microsoft Edge instead.
Which export formats does CVAT support?
CVAT supports 20+ formats, including CVAT (XML), COCO (JSON), YOLO (TXT), Ultralytics YOLO, Pascal VOC (XML), KITTI (TXT), MOT (TXT) and Generic TSV. The full list is in the CVAT formats documentation.
How does CVAT compare to Label Studio or Makesense.ai?
Label Studio, Label Img, VoTT and Makesense.ai are comparable projects. CVAT is aimed at computer vision teams that need image, video, audio and 3D annotation with task assignment, review and automation via a Python SDK or REST API. If you only need to label a few images once, a lighter tool or the hosted CVAT Online may be simpler.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
CVAT suits computer vision teams that label images or video, need to keep data on their own infrastructure, or work with several annotators and want to automate labeling through its SDK or API. It is a poor fit for labeling a handful of images once, for Safari users, or for teams that want a fully managed service without running Docker, where CVAT Online or Enterprise is the better route.
Install options & downloads