🏷 Open Source Data Annotation & Labeling Tools

At ZenML we believe that annotation and labeling workflows are a core part of
the machine learning lifecycle. As an open-source tool, we wanted to highlight
and recognize the variety of tools that are available to help your workflows
become more data-centric. We had three core criteria to decide whether a
particular tool could make it into the list:
- The tool has an open-source licence.
- The tool is actively maintained.
- The tool is functional and fit for purpose.
We welcome contributions to this list, so if you know of a tool that
we've missed or if you've built one yourself, please do create a PR!
🔥 Do you use these tools or do you want to add one to your MLOps stack? At
ZenML, we are looking for design partnerships and collaboration to develop the
integrations and workflows around using annotation within the MLOps lifecycle.
If you'd like to learn more, please join our
Slack and leave us a message!
Contents
- Multi Modal / Multi Domain
- Text
- Images
- Audio
- Video
- Time Series
- Other
Multi Modal / Multi Domain
| Name |
Description |
License |
| Acharya |
A Data Centric MLOps tool for your Named Entity Recognition projects  |
? |
| Classifai |
A comprehensive open-source data annotation platform  |
Apache-2 |
| Computer Vision Annotation Tool (CVAT) |
A free, online, interactive video and image annotation tool for computer vision  |
MIT |
| Data Annotator for Machine Learning (DAML) |
An application that helps machine learning teams facilitating the creation and management of annotations  |
Apache-2 |
| DataGym |
Open source annotation and labeling tool for image and video assets  |
MIT |
| Diffgram |
Training Data (Data Labeling, Annotation, Workflow) for all Data Types (Image, Video, 3D, Text, Geo, Audio, more) at scale  |
ELv2 |
| Hover |
Explore and label on a map of raw data. Handles text, audio and images.  |
MIT |
| Label Studio |
A multi-type data labeling and annotation tool with standardized output format  |
Apache-2 |
| Pigeon |
A simple widget that lets you quickly annotate a dataset of unlabeled examples from the comfort of your Jupyter notebook  |
Apache-2 |
| Tator |
Video analytics web platform  |
AGPL-3 |
| TornadoAi |
A human-in-the-loop machine learning framework  |
AGPL-3 |
| Universal Data Tool |
A web/desktop app for editing and annotating images, text, audio, documents and to view and edit any data defined in the extensible .udt.json and .udt.csv standard  |
MIT |
| VGG Image Annotator (VIA) |
A standalone image annotator application packaged as a single HTML file (< 400 KB) that runs on most modern web browsers |
BSD-2 |
| VIAME |
Video and Image Analytics for Multiple Environments  |
Custom |
Text
| Name |
Description |
License |
| Annotation Lab |
An NLP annotation tool included in spark-nlp  |
Apache-2 |
| CoreNLP |
A Java suite of core NLP tools  |
GPL-3 |
| DataQA |
Labeling platform for text using weak supervision  |
GPL-3 |
| doccano |
An open source text annotation tool supporting text classification, sequence labeling and sequence to sequence tasks  |
MIT |
| FLAT - FoLiA Linguistic Annotation Tool |
A web-based linguistic annotation environment based around the FoLiA format, an XML-based format for linguistic annotation  |
GPL-3 |
| INCEpTION |
A semantic annotation platform offering intelligent annotation assistance and knowledge management  |
Apache-2 |
| NER Annotator for Spacy |
NER Annotator for SpaCy allows you to create training data for creating a custom NER Model with custom tags.  |
MIT |
| Rubrix |
A production-ready Python framework for exploring, annotating, and managing data in NLP projects  |
Apache-2 |
| SMART |
A tool for building labeled training datasets for supervised machine learning tasks in NLP  |
MIT |
| SpaCy annotator |
Spacy NER annotator using ipywidgets  |
N/A |
| TALEN |
A way to do annotations for NER  |
Custom |
| YEDDA |
A lightweight collaborative text span annotation tool  |
Apache-2 |
Images
| Name |
Description |
License |
| Annotorious |
A JavaScript library for image annotation  |
BSD-3 |
| CATMAID |
The Collaborative Annotation Toolkit for Massive Amounts of Image Data  |
GPL-3 |
| COCO Annotator |
A web-based image segmentation tool for object detection, localization, and keypoints  |
MIT |
| DeepLabel |
A cross-platform desktop image annotation tool for machine learning  |
MIT |
| ilastik |
Segment, classify, track and count your cells or other experimental data  |
Custom |
| ImageTagger |
An open source online platform for collaborative image labeling  |
MIT |
| imglab |
A web based tool to label images for objects that can be used to train dlib or other object detectors  |
MIT |
| KNOSSOS |
A software tool for the visualization and annotation of 3D image data and was developed for the rapid reconstruction of neural morphology and connectivity  |
GPL-2 |
| LabelFlow |
An open platform for image labeling  |
Custom |
| labelme |
Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation)  |
Custom |
| LabelImg |
A graphical image annotation tool and label object bounding boxes in images  |
MIT |
| LOST |
A flexible web-based framework for semi-automatic image annotation  |
MIT |
| Make Sense |
A free-to-use online tool for labeling photos  |
GPL-3 |
| OpenLabeler |
An open source desktop application for annotating objects for AI appplications  |
Apache-2 |
| Pixano |
A web-based smart-annotation tool for computer vision applications  |
CeCILL-C |
| Scalabel |
A web-based visual data annotation tool, supporting both 2D and 3D data labeling  |
Apache-2 |
| webKnossos |
A fully cloud- and browser-based 3D annotation tool for distributed large-scale data analysis in light- and electron-microscopy based Connectomics  |
AGPL-3 |
Video
| Name |
Description |
License |
| DIVE |
Media annotation and analysis tools for web and desktop  |
Apache-2 |
Audio
| Name |
Description |
License |
| aubio |
A library for audio and music analysis  |
GPL-3 |
| audino |
Open source audio annotation tool  |
MIT |
| Praat |
Annotation tool for phonetics analysis  |
GPL-3 |
| Peaks.js |
JavaScript UI component for interacting with audio waveforms  |
LGPL-3 |
| Wavesurfer.js |
Navigable waveform built on Web Audio and Canvas  |
BSD-3 |
Time Series
| Name |
Description |
License |
| sktime |
A framework for machine learning with time series  |
BSD-3 |
Other
Acknowledgements
Thanks to the creators of
these
other
repositories (and this
one!) for getting us
going down the path of creating our own. I used these efforts to get started in
my survey of the space before adding, updating and pruning as per the
open-source and other criteria specified above.