#1818th of 20 in Data and scraping for AI

doccano

Web-based text annotation tool for labeling NLP datasets

Stars
10.8k
License
MIT
Last commit
Jan 2026
Last release
Jan 2026
Language
Python
Stars, last 29 weeks+248
31 Mar 2026: 10,554 stars7 Apr 2026: 10,566 stars14 Apr 2026: 10,580 stars21 Apr 2026: 10,593 stars28 Apr 2026: 10,600 stars5 May 2026: 10,604 stars12 May 2026: 10,611 stars19 May 2026: 10,616 stars26 May 2026: 10,620 stars2 Jun 2026: 10,630 stars9 Jun 2026: 10,639 stars16 Jun 2026: 10,645 stars23 Jun 2026: 10,656 stars30 Jun 2026: 10,663 stars7 Jul 2026: 10,671 stars14 Jul 2026: 10,682 stars21 Jul 2026: 10,691 stars28 Jul 2026: 10,707 stars4 Aug 2026: 10,714 stars11 Aug 2026: 10,721 stars18 Aug 2026: 10,731 stars25 Aug 2026: 10,743 stars1 Sept 2026: 10,748 stars8 Sept 2026: 10,758 stars15 Sept 2026: 10,760 stars22 Sept 2026: 10,765 stars29 Sept 2026: 10,778 stars6 Oct 2026: 10,788 stars13 Oct 2026: 10,798 stars20 Oct 2026: 10,802 stars

10,554 on 31 Mar 202610,802 on 20 Oct 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

doccano is a web application for annotating text for classification, sequence labeling (such as named entity recognition) and sequence-to-sequence tasks like summarization. Teams create a project, upload data, and label it collaboratively, with a REST API for automation. It runs from pip with SQLite by default, or with PostgreSQL, Docker or Docker Compose.

Who it is for: ML teams who need to label text datasets for NLP training

Strengths

  • Covers text classification, sequence labeling and seq2seq annotation in one tool
  • Installs with pip and uses SQLite by default, so no database setup to start
  • Collaborative annotation with multiple users per project and a RESTful API
  • Deploy options include pip, Docker, Docker Compose, AWS CloudFormation and Heroku

Weaknesses

  • Text only; the README lists no image, audio or video annotation
  • README mentions no built-in model-assisted pre-labeling
  • Compose setup needs RabbitMQ and PostgreSQL; pip setup needs a separate task queue process
  • Admin password is passed in plain environment variables or CLI arguments in the examples

What it needs

  • no GPU
  • Docker + Compose
  • Needs SQLite (default), PostgreSQL (optional), RabbitMQ (Docker Compose)
  • port 8000

Also in Data and scraping for AI

See all 20
Also in Data and scraping for AI
RankProjectScore
1mineruDocument parser that converts PDFs, images and Office files to Markdown and JSON Live demo ↗ (opens in a new tab)82.2k starscustom license80 out of 100
2Crawl4AIPython web crawler that converts pages to LLM-ready Markdown and JSON86k starsApache-2.078 out of 100
3doclingPython library and CLI that converts PDFs, Office files and more into structured text69.2k starsMIT78 out of 100
#4label-studioMulti-user data labeling tool for audio, text, images, video and time series28.5k starsApache-2.072 out of 100
#5markitdownPython tool that converts PDF, Office, HTML and audio files to Markdown for LLMs191.4k starsMIT71 out of 100