label-studio

HumanSignalApache-2.0活跃维护

多类型数据标注工具,支持图像、文本、音频等标注任务,输出统一格式,方便为机器学习和深度学习项目准备训练数据。

Label Studio is a multi-type data labeling and annotation tool with standardized output format

1.23.2发布于 2026-09-29 14:47 UTC28,666star +19 / 7 天3,791fork同步于 2026-11-10 05:21 UTC

怎么上手

由 README 提炼,执行前请确认
pip install label-studio
label-studio
硬件要求按 README 说明

README 未说明显存或 GPU 要求,属于 Web 标注服务,可本地 Docker 或 pip 部署,也可部署到云实例

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源多类型数据标注工具,统一格式导出,帮你准备和优化训练数据

多类型数据标注工具,支持图像、文本、音频等标注任务,输出统一格式,方便为机器学习和深度学习项目准备训练数据。

核心能力

  • 支持图像、音频、文本、HTML、视频、时序等多种数据类型标注
  • 用可配置的标签格式自定义可视化标注界面
  • 从本地文件或 S3、GCS 云存储导入数据
  • 通过 ML SDK 接入模型做预标注、在线学习和主动学习
  • 提供 REST API,可嵌入现有数据流水线

容易踩的坑

pip 安装要求 Python >=3.10;Docker 默认监听 8080 端口,需挂载 /label-studio/data 目录持久化数据;Windows 上需先从 Gohlke builds 安装对应版本的 lxml wheel;接入机器学习模型需另行启动 label-studio-ml-backend 服务

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本1.23.2
  1. nightly1.24.0.dev20261109pre-release2026-11-09 · 2026-11-09 00:08 UTC
    查看更新说明

    Nightly Build

    This is an automated nightly build that is recreated every night with the latest changes from the develop branch.

    Installation

    You can install this nightly build by downloading the wheel package (the file ending in .whl) from the Assets section below this description. After downloading, you can install it using the following commands from your terminal:

    For Windows:

    pip install %USERPROFILE%\Downloads\label_studio-1.24.0.dev20261109-py3-none-any.whl
    

    For macOS/Linux:

    pip install ~/Downloads/label_studio-1.24.0.dev20261109-py3-none-any.whl
    

    Important Notes

    • This is a development build and may contain bugs or incomplete features
    • Use in production environments is not recommended
    • Please report any issues you encounter in our GitHub Issues
    • This release is automatically recreated every night with the latest changes

    Changes

    Changes since 1.23.2: https://github.com/HumanSignal/label-studio/compare/1.23.2...nightly

  2. 1.23.2最新正式版2026-09-29 · 2026-09-29 14:47 UTC

    ⚠️ Upgrade notes

    • pip installs: rotate your SECRET_KEY if other users on the machine can read your data directory. Older versions saved the generated SECRET_KEY in <data_dir>/.env (~/.local/share/label-studio/.env on Linux) with permissions that let any local user read it. This release makes the file readable only by its owner, but a key that may already have been read stays valid until you change it. To rotate it, delete the SECRET_KEY line from .env (or set a new SECRET_KEY environment variable) and restart. Everyone will need to log in again, and existing access tokens stop working.
    • Image exports skip media on private networks. When SSRF_PROTECTION_ENABLED=true (the default), COCO_WITH_IMAGES, YOLO_WITH_IMAGES and YOLO_OBB_WITH_IMAGES exports no longer download media from private or local network addresses. The export still completes, but those images are left out of the archive. If your task media is hosted on an internal server, set USE_DEFAULT_BANNED_SUBNETS=false and list only the ranges you want blocked in USER_ADDITIONAL_BANNED_SUBNETS, or set SSRF_PROTECTION_ENABLED=false.
    • Set LABEL_STUDIO_HOST so image exports can include uploaded files. Exports now download files from Label Studio itself only when its address can be trusted: when LABEL_STUDIO_HOST is set, or when ALLOWED_HOSTS is restricted. On a default install with neither, uploaded files that aren't on the local disk (for example, when the default storage is S3, GCS or Azure) are left out of image exports.
    • Uploaded HTML, SVG and XML files open in a sandbox. When these files are opened from /storage-data/uploaded/, they are served with Content-Security-Policy: sandbox, so scripts inside them don't run. Images, PDFs, audio and video aren't affected. If you run your own reverse proxy instead of the bundled nginx config, add the same header for these content types. See the $uploaded_file_csp map in deploy/default.conf.

    Security

    • The generated SECRET_KEY file (<data_dir>/.env) is now created readable only by its owner, and an existing file is restricted on startup. The data directory is also created readable only by its owner.
    • S3-compatible storage endpoints are now checked for private or local addresses every time a connection is opened, not only when the storage is saved. This blocks DNS rebinding. Storages saved before this check existed are also re-checked.
    • Image exports now block media URLs that point at private or local network addresses.
    • Image exports no longer send the organization owner's API token to a host taken from the request's Host header.
    • Uploaded HTML, SVG and XML files served from /storage-data/uploaded/ are sandboxed, both when Django serves them directly and when they are served through the bundled nginx.
  3. 1.23.12026-09-25 · 2026-09-25 14:15 UTC
    查看更新说明

    This is a security-focused patch release. Please read the upgrade notes before you upgrade.

    ⚠️ Upgrade notes

    • PostgreSQL 14 or higher is now required. Label Studio now runs on Django 5.2, which doesn't support PostgreSQL 13 or older.

    • New secure defaults:

      • SSRF_PROTECTION_ENABLED=true: outbound requests to private or local network addresses are blocked. This affects URL imports, webhooks, S3-compatible endpoints, and Redis storage.
      • ML_BLOCK_LOCAL_IP=true: ML backends on localhost or a private network are blocked.
      • DEBUG_MODAL_EXCEPTIONS=false: error details are no longer shown in the UI.

      If your ML backend, MinIO, Redis, or webhook receiver runs on a local or private network, set SSRF_PROTECTION_ENABLED=false and/or ML_BLOCK_LOCAL_IP=false. Alternatively, keep the protection on and change the blocked ranges with USE_DEFAULT_BANNED_SUBNETS and USER_ADDITIONAL_BANNED_SUBNETS.

    Security

    • Stronger SSRF protection for ML backends, webhooks, cloud storage, and URL imports.
    • Tighter permission checks when you create storages, webhooks, and ML backends, and when you delete users.
    • Fixed access checks for local file storage and Data Manager filters.
    • Improved HTML sanitization in the labeling interface.
  4. 1.23.02026-03-13 · 2026-03-13 08:15 UTC
    查看更新说明

    Helm Chart version: 2.0.0

    🌟 What's new

    🎉 New features

    🎨 Annotate images with vector lines

    There are two new tags for image annotation: Vector and VectorLabels.

    You can use these tags for point-based vector annotation (polylines, polygons, skeletons).

    ✅ Feature updates

    🪄 Interactive view for task source

    When clicking Show task source <> from the Data Manager, you will see a new Interactive view. (#9245, #9318)

    From here you can filter, search, and expand/collapse sections in the task source. You can also selectively copy sections of the JSON.

    You can also now toggle whether to show the resolved URIs.

    📌 Data Manager filter enhancements

    Data Manager filters have the following enhancements (#9488):

    • New copy and paste actions that you can use to copy filters between tabs within the same project or to tabs within other projects (any inapplicable fields will be automatically removed when pasting between projects).
    • The ability to copy filters as JSON so that you can edit them elsewhere.
    • The three most recent filter selections will appear at the top of the drop-down menu.
    • When adding new filters, it will pre-populate with your most recent selections.

    🎯 Context menu for Data Manager rows

    When you right-click a Data Manager row, you will now see a context menu (#9386):

    🔎 Press Ctrl + F to search the Code tab

    When working in the template builder, you can now use Ctrl + F to search the your labeling configuration XML (#9346, #9424).

    ↔️ Resize panel widths in the template builder

    You can now click and drag to adjust panel widths when configuring your labeling interface (#9171).

    https://github.com/user-attachments/assets/3ef83d2f-819b-4402-9522-7bcf2cc31d61

    ⬆️ Use Shift to select multiple Data Manager rows

    You can now select a Data Manager row, and then while holding shift, select another Data Manager row to select all rows between your selections (#9067).

    🧩 Task navigation and ID moved to the bottom of the labeling interface

    To better utilize space, the annotation ID and the navigation controls for the labeling stream have been moved to below the labeling interface (#8822).

    ✨ Miscellaneous UX/UI improvements

    • The Recent Projects list on the Home page will now include the most recently visited projects at the top of the list instead of pinned projects (#8993).

    • How time is displayed across the app has been standardized to use the following format (#9134):

      [n]h [n]m [n]s

      For example: 10h 5m 22s

    • When you hover over an annotation tab in Quick View, you will now see metadata for the annotation (#9140).

    • For YOLO, COCO, and VOC

  5. 1.22.02025-12-19 · 2025-12-19 10:47 UTC
    查看更新说明

    Helm Chart version: 1.11.6

    🌟 What's new

    🎉 New features

    🏷️ New Markdown tag

    There is a new tag, which you can use to add content to your labeling interface. (#8572)

    For example, adding the following to your labeling interface:

    <View>
    <Markdown>
    ## Heading 2
        
    ### Heading 3
        
    - bullet point one
    - bullet point two
        
    **Bold text** and *italic text*
        
    `inline code`
        
    ```
    code block
    ```
        
    [Link](https://humansignal.com/changelog/)
    
    ![image](https://upload.wikimedia.org/wikipedia/commons/2/27/Opossum_2.jpg)
    </Markdown>
    </View>
    

    Produces this:

    ✅ Feature updates

    ⬆️⬇️ Sort video, audio, and timeseries regions by start time

    You can now sort regions by media start time. (#8418)

    Previously you could sort by time, but this would reflect the time that the region was created. The new option reflects the start time in relation to the media.

    https://github.com/user-attachments/assets/b423c6fe-31e6-4be4-8a95-628e8d983794

    📁 Improved Local Storage setup process

    This release improves numerous Local Storage setup improvements to help make the process easier for users. (#8891)

    Changes include:

    • When entering the absolute local path in the storage modal, trailing slashes will be automatically removed to prevent an error.
    • Normalized slashes when saving the absolute local path to prevent confusion between Unix and Windows environments.
    • If you create folders named "my-data" or "label-studio-data" and run the label-studio command in the parent directory, the LOCAL_FILES_DOCUMENT_ROOT and LOCAL_FILES_SERVING_ENABLED variables will be automatically set to point to those folders.
    • Improved error messages when the absolute local path does not include a subdirectory but matched the local files document root.
    • When the local files document root is set, the absolute local path is automatically preloaded with the appropriate path.

    ❗️ Additional validation when performing destructive actions in projects

    When deleting a project, resetting the project cache, or dropping all project tabs, users will now be asked to enter text in the confirmation window (#8623):

    ⚙️ Improved annotation tabs

    Annotation tabs have the following improvements (#8840):

    • To improve readability, removed the annotation ID from the tab and truncated long model names.
    • Added two new options to the overflow menu for the annotation tab:
      • Copy Annotation ID - To copy the annotation ID that previously appeared in the tab
      • Show Other Annotations Open the annotation comparison view.

    📐 Compact display for Data Manager columns

    There is a new option to select between the default column display and a more compact version. (#8719)

    🔈 Skip decoding audio files

    Added a none option for the decoder param for Audio tags, which will allow you to skip audio decoding for use cases that require labeling on the timeline but the file size is far too large to decode at one time. (#8697)

    🎬 New parameters for the Video tag

    The Video tag now has the following optional parameters (#8548):

    • defaultPlaybackSpeed - The default playback speed when the video is loaded.
    • minPlaybackSpeed - The minimum allowed playback speed.

    The default va

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    GitHub label-studio:build GitHub release

    Website • Docs • Join Slack Community

    What is Label Studio?

    Label Studio is an open source data labeling tool. It lets you label data types like audio, text, images, videos, and time series with a simple and straightforward UI and export to various model formats. It can be used to prepare raw data or improve existing training data to get more accurate ML models.

    Gif of Label Studio annotating different types of data

    Have a custom dataset? You can customize Label Studio to fit your needs. Read an introductory blog post to learn more.

    Try out Label Studio

    Install Label Studio locally or deploy it in a cloud instance. Or sign up for a free trial of our Starter Cloud edition! You can learn more about what each edition offers here.

    Install locally with Docker

    Official Label Studio docker image is here and it can be downloaded with docker pull. Run Label Studio in a Docker container and access it at http://localhost:8080.

    docker pull heartexlabs/label-studio:latest
    docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest
    

    You can find all the generated assets, including SQLite3 database storage label_studio.sqlite3 and uploaded files, in the ./mydata directory.

    Override default Docker install

    You can override the default launch command by appending the new arguments:

    docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUG
    
    Build a local image with Docker

    If you want to build a local image, run:

    docker build -t heartexlabs/label-studio:latest .
    

    Run with Docker Compose

    Docker Compose script provides production-ready stack consisting of the following components:

    • Label Studio
    • Nginx - proxy web server used to load various static data, including uploaded audio, images, etc.
    • PostgreSQL - production-ready database that replaces less performant SQLite3.

    To start using the app from http://localhost run this command:

    docker-compose up
    

    Run with Docker Compose + MinIO

    You can also run it with an additional MinIO server for local S3 storage. This is particularly useful when you want to test the behavior with S3 storage on your local system. To start Label Studio in this way, you need to run the following command:

    # Add sudo on Linux if you are not a member of the docker group
    docker compose -f docker-compose.yml -f docker-compose.minio.yml up -d
    

    If you do not have a static IP address, you must create an entry in your hosts file so that both Label Studio and your browser can access the MinIO server. For more detailed instructions, please refer to our guide on storing data.

    Install locally with pip

    # Requires Python >=3.10
    pip install label-studio
    
    # Start the server at http://localhost:8080
    label-studio
    

    Install locally with poetry

    ### install poetry
    pip install poetry
    
    ### set poetry environment
    poetry new my-label-studio
    cd my-label-studio
    poetry add label-studio
    
    ### activate poetry environment
    poetry shell
    
    ### Start the server at http://localhost:8080
    label-studio
    

    Install locally with Anaconda

    conda create --name label-studio
    conda activate label-studio
    conda install psycopg2
    pip install label-studio
    

    Install for local development

    You can run the latest Label Studio version locally without installing the package from pypi.

    # Install all package dependencies
    pip install poetry
    poetry install
    # Run database migrations
    python label_studio/manage.py migrate
    python label_studio/manage.py collectstatic
    # Start the server in development mode at http://localhost:8080
    python label_studio/manage.py runserver
    

    Deploy in a cloud instance

    You can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform:

    Apply frontend changes

    For information about updating the frontend, see label-studio/web/README.md.

    Install dependencies on Windows

    To run Label Studio on Windows, download and install the following wheel packages from Gohlke builds to ensure you're using the correct version of Python:

    # Upgrade pip 
    pip install -U pip
    
    # If you're running Win64 with Python 3.8, install the packages downloaded from Gohlke:
    pip install lxml‑4.5.0‑cp38‑cp38‑win_amd64.whl
    
    # Install label studio
    pip install label-studio
    

    Run test suite

    To add the tests' dependencies to your local install:

    poetry install --with test
    

    Alternatively, it is possible to run the unit tests from a Docker container in which the test dependencies are installed:

    make build-testing-image
    make docker-testing-shell
    

    In either case, to run the unit tests:

    cd label_studio
    
    # sqlite3
    DJANGO_DB=sqlite DJANGO_SETTINGS_MODULE=core.settings.label_studio pytest -vv
    
    # postgres (assumes default postgres user,db,pass. Will not work in Docker
    # testing container without additional configuration)
    DJANGO_DB=default DJANGO_SETTINGS_MODULE=core.settings.label_studio pytest -vv
    

    What you get from Label Studio

    https://github.com/user-attachments/assets/525ad5ff-6904-4398-b507-7e8954268d69

    • Multi-user labeling sign up and login, when you create an annotation it's tied to your account.
    • Multiple projects to work on all your datasets in one instance.
    • Streamlined design helps you focus on your task, not how to use the software.
    • Configurable label formats let you customize the visual interface to meet your specific labeling needs.
    • Support for multiple data types including images, audio, text, HTML, time-series, and video.
    • Import from files or from cloud storage in Amazon AWS S3, Google Cloud Storage, or JSON, CSV, TSV, RAR, and ZIP archives.
    • Integration with machine learning models so that you can visualize and compare predictions from different models and perform pre-labeling.
    • Embed it in your data pipeline REST API makes it easy to make it a part of your pipeline

    Included templates for labeling data in Label Studio

    Label Studio includes a variety of templates to help you label your data, or you can create your own using specifically designed configuration language. The most common templates and use cases for labeling include the following cases:

    Set up machine learning models with Label Studio

    Connect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps:

    1. Start your own machine learning backend server. See more detailed instructions.
    2. Connect Label Studio to the server on the model page found in project settings.

    This lets you:

    • Pre-label your data using model predictions.
    • Do online learning and retrain your model while new annotations are being created.
    • Do active learning by labeling only the most complex examples in your data.

    Integrate Label Studio with your existing tools

    You can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools.

    Ecosystem

    ProjectDescription
    label-studioServer, distributed as a pip package
    Frontend libraryThe Label Studio frontend library. This uses React to build the UI and mobx-state-tree for state management.
    Data Manager libraryA library for the Data Manager, our data exploration tool.
    label-studio-converterEncode labels in the format of your favorite machine learning library
    label-studio-transformersTransformers library connected and configured for use with Label Studio

    Citation

    Include a citation for Label Studio in the References section of your articles:

    @misc{Label Studio,
      title={{Label Studio}: Data labeling software},
      url={https://github.com/HumanSignal/label-studio},
      note={Open source software available from https://github.com/HumanSignal/label-studio},
      author={
        Maxim Tkachenko and
        Mikhail Malyuk and
        Andrey Holmanyuk and
        Nikolai Liubimov},
      year={2020-2025},
    }
    

    License

    This software is licensed under the Apache 2.0 LICENSE © Heartex. 2020-2025