guide
- Get started
- Label Studio features
- Billing & Usage
- Release notes
Security and Privacy
- Secure Label Studio
Install and Upgrade
- Install and upgrade Label Studio
- Database setup
- Start Label Studio
- Troubleshooting
Deploy and Install Enterprise
- Install Label Studio Enterprise
- Set up persistent storage
- Set up an ingress controller
- Install with Docker
- Deploy on Kubernetes
- Install on airgapped server
- Install on Amazon EKS
- Available Helm values
Manage Users
- Set up user accounts
- Manage access
- Set up authentication
- Set up SCIM2
Import Data
- Import data
- Import pre-annotations
- Cloud storage setup
Labeling and Projects
- Project setup
- Manage data
- Set up your labeling interface
- Label and annotate data
- Comments and notifications
Manage Annotations
- Review annotations
- Annotation statistics
- Custom agreement metric
- Export annotations
Machine Learning Setup
- Machine learning integration
- Write your own ML backend
- ML Examples and Tutorials
- Active learning loop
- Troubleshoot machine learning
Integrations
- Webhook Setup
- Webhooks Event Reference
- Custom Webhooks
- Python SDK Tutorial
- Backend API
Advanced Development
- Frontend library
- Frontend reference
- Update scripts and API calls
Get started with Label Studio
What is Label Studio?
Label Studio is an open source data labeling tool for labeling and exploring multiple types of data. You can perform different types of labeling with many data formats.
You can also integrate Label Studio with machine learning models to supply predictions for labels (pre-labels), or perform continuous active learning. See Set up machine learning with your labeling process.
Label Studio is also available in Enterprise and Cloud editions with additional features. See Label Studio features for more.
Labeling workflow with Label Studio
Start and finish a labeling project with Label Studio by following these steps:
- Install Label Studio.
- Start Label Studio.
- Create accounts for Label Studio. Create an account to manage and set up labeling projects.
- Restrict access to the project. Set up role-based access control. Only available in Label Studio Enterprise Edition.
- Set up the labeling project. Define the type of labeling to perform on the dataset and configure project settings.
- Set up the labeling interface. Add the labels that you want annotators to apply and customize the labeling interface.
- Import data as labeling tasks.
- Label and annotate the data.
- Review the annotated tasks. Only available in Label Studio Enterprise Edition.
- Export the labeled data or the annotations.
Quick start
- Install Label Studio:
pip install label-studio
- Start Label Studio
label-studio start
- Open the Label Studio UI at http://localhost:8080.
- Sign up with an email address and password that you create.
- Click Create to create a project and start labeling data.
- Name the project, and if you want, type a description and select a color.
- Click Data Import and upload the data files that you want to use. If you want to use data from a local directory, cloud storage bucket, or database, skip this step for now.
- Click Labeling Setup and choose a template and customize the label names for your use case.
- Click Save to save your project.
You’re ready to start labeling and annotating your data!
Label Studio terminology
When you upload data to Label Studio, each item in the dataset becomes a labeling task. The following table describes some terms you might encounter as you use Label Studio.
Term | Description |
---|---|
Dataset | What you import into Label Studio, comprised of individual items, or labeling tasks. |
Task | A distinct item from a dataset that is ready to be labeled, pre-annotated, or has already been annotated. For example: a sentence of text, an image, or a video clip. |
Region | The portion of the task identified for labeling. For images, an example region is a bounding box. For text, an example region is a span of text. Often has a label assigned to it. |
Labels | What you add to each region while labeling a task in Label Studio. |
Relation | A defined relationship between two labeled regions. |
Result | A label applied to a specific region as stored in an annotation or prediction. See Label Studio JSON format of annotated tasks. |
Predictions | What machine learning models create for an unlabeled dataset. |
Pre-annotations | Predicted annotations in Label Studio format, either in a file or from a machine learning backend. See import pre-annotations. |
Annotations | The output of a labeling task. Previously called “completions”. |
Templates | Example labeling configurations that you can use to specify the type of labeling that you’re performing with your dataset. See all available templates |
Tags | Configuration options to customize the labeling interface. See more about tags. |
Components and architecture
You can use any of the Label Studio components in your own tools, or customize them to suit your needs. Before customizing Label Studio extensively, you might want to review Label Studio Enterprise Edition to see if it already contains the relevant functionality you want to build. See Label Studio Features for more.
The component parts of Label Studio are available as modular extensible packages that you can integrate into your existing machine learning processes and tools.
Module | Technology | Description |
---|---|---|
Label Studio Backend | Python and Django | Use to perform data labeling. |
Label Studio Frontend | JavaScript web app using React and MST | Perform data labeling in a user interface. |
Data Manager | JavaScript web app using React | Manage data and tasks for labeling. |
Machine Learning Backends | Python | Predict data labels at various parts of the labeling process. |

Information collected by Label Studio
Label Studio collects anonymous usage statistics about the number of page visits and data types being used in labeling configurations that you set up. No sensitive information is included in the information we collect. The information we collect helps us improve the experience of labeling data in Label Studio and helps us plan future data types and labeling configurations to support.

If you found an error, you can file an issue on GitHub!