Labelme logo

Labelme

Intuitive Python tool for polygonal image and video annotation

Labelme provides a graphical interface for creating polygon, rectangle, circle, line, point, and image‑level flag annotations, supporting VOC/COCO export, video labeling, and customizable label sets.

Labelme banner

Overview

Overview

Labelme is a Python‑based graphical annotation application built with Qt. It targets computer‑vision researchers, dataset curators, and developers who need precise polygonal, rectangular, circular, line, point, or image‑level flag annotations. The interface runs on Windows, macOS, and Linux, allowing users to label single images or entire directories with minimal setup.

Capabilities & Deployment

The tool supports export to VOC and COCO formats, facilitating seamless integration with popular segmentation and detection pipelines. Video annotation is available directly in the GUI, and label sets can be predefined, auto‑saved, and validated to reduce errors. Installation is flexible: a simple pip install labelme, a downloadable standalone executable that bundles all dependencies, or native packages from major Linux distributions. Annotations are saved as JSON files, optionally omitting embedded image data for lightweight storage. Extensive examples and a command‑line interface further streamline batch processing and custom workflows.

Highlights

Supports polygon, rectangle, circle, line, point, and image‑level flag annotations
Exports to VOC and COCO formats for segmentation and detection tasks
Built‑in video annotation within the same graphical interface
Customizable label sets, auto‑saving, and validation options

Pros

  • Cross‑platform Qt GUI works on Windows, macOS, and Linux
  • Rich set of primitives covers most 2D annotation needs
  • Multiple installation paths: pip, standalone app, or distro packages
  • Active community with extensive examples and documentation

Considerations

  • GPL‑3.0 license may limit use in proprietary software
  • Limited to 2D image and video annotation, no 3D support
  • Performance can degrade with very large images due to Qt rendering
  • No built‑in collaborative web server for team labeling

Managed products teams compare with

When teams consider Labelme, these hosted platforms usually appear on the same shortlist.

Datasaur logo

Datasaur

NLP data labeling platform with AI-assisted automation, quality workflows, and private LLM options

SuperAnnotate logo

SuperAnnotate

AI data labeling & evaluation platform for images, video, text, audio, and more

Supervisely logo

Supervisely

Computer vision labeling platform for images, video, LiDAR, and medical with AI-assisted tools

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Computer‑vision researchers building training datasets
  • Dataset curators needing VOC or COCO export capabilities
  • Teams requiring quick video frame annotation
  • Developers preferring a Python‑based, locally run tool

Not ideal when

  • Projects that need collaborative, web‑based labeling platforms
  • Real‑time annotation pipelines with strict latency requirements
  • 3D point‑cloud or volumetric data annotation tasks
  • Organizations requiring a permissive MIT/BSD license

How teams use it

Semantic segmentation dataset creation

Generate VOC/COCO masks for training segmentation models

Instance segmentation labeling

Annotate object polygons to feed instance detection pipelines

Video frame labeling

Produce per‑frame annotations for action‑recognition datasets

Image classification flagging

Assign image‑level tags for dataset cleaning and filtering

Tech snapshot

Python99%
Makefile1%

Tags

classificationcomputer-visionvideo-annotationinstance-segmentationpythonsemantic-segmentationimage-annotationannotationsdeep-learning

Frequently asked questions

How can I install Labelme?

Install via pip (`pip install labelme`), download the standalone executable, or use your Linux distribution’s package manager.

What file format does Labelme export?

Annotations are saved as JSON and can be exported to VOC or COCO formats for segmentation and detection tasks.

Can I annotate videos with Labelme?

Yes, the GUI includes video annotation support, allowing frame‑by‑frame labeling.

How do I customize label sets?

Predefine labels in a text file or configure them via the GUI; options include auto‑saving and validation.

Is there a way to omit image data from JSON files?

Use the `--nodata` flag to store only relative image paths, keeping JSON files lightweight.

Project at a glance

Active
Stars
15,493
Watchers
15,493
Forks
3,637
LicenseGPL-3.0
Repo age9 years old
Last commityesterday
Primary languagePython

Last synced 4 hours ago