
doccano
Open-source tool for humans to label text data for machine learning projects.
- Stars
- 10.8k
- Forks
- 1.8k
- Licence
- MIT
- Language
- Python
- Last update
- 7 months ago
- Type
- App
What it is
doccano is a web-based tool for annotating text, meaning people add labels to sentences or passages to create training data. It supports text classification, sequence labeling such as named entity recognition, and sequence-to-sequence tasks such as summarization. You create a project, upload data, and label it in the browser, with collaboration and a RESTful API available.
- Label sentiment in customer reviews to build a classification dataset
- Mark named entities in text to train an entity recognition model
- Write summaries for documents to create sequence-to-sequence training pairs
- Invite several annotators to a shared project and collect their labels
Great for
- Machine learning teams building labeled text datasets
- Researchers creating named entity recognition or sentiment datasets
- Small groups who want to annotate text together in one shared project
- Developers who want to automate labeling workflows through the RESTful API
Not ideal for
- People who need to label images, audio, or video, since the README only describes text annotation
- Users who need a fully managed hosted service, because the README covers self-hosting options and a demo only
- Teams needing enterprise support guarantees, since the README does not describe any support plans
How to get it
- 1
Install with a package manager
You'll need: Python 3.8+ · Docker (optional, for the Docker route)
Install with pip
pip install doccanoInitialize the database
doccano initCreate an admin user
doccano createuser --username admin --password passStart the web server
doccano webserver --port 8000 - 2
Run it
- Run doccano init to set up the database.
- Create a superuser with doccano createuser.
- Start the web server with doccano webserver --port 8000.
- In a second terminal, run doccano task to handle file uploads and downloads.
- Open http://127.0.0.1:8000/ in your browser.
- 3
Get the most out of it
- Set DATABASE_URL and install the postgresql extra if you need PostgreSQL instead of the default SQLite.
- Use the Docker image with environment variables to preset the admin account.
- Use the RESTful API to push data in or pull labels out of your own pipelines.
- Invite collaborators to projects to annotate in parallel.
- Check the official documentation at doccano.github.io for FAQ topics such as adding users to projects.
Downloads
Strengths
- Covers several common text annotation task types in one tool
- Can run locally with pip or Docker, with SQLite by default and PostgreSQL optional
- Released under the permissive MIT license
Trade-offs
- The README is truncated and gives limited detail on specific annotation features and their setup
- The demo is hosted on a free Heroku address that may not be reliable for real work
- Docker Compose setup requires a .env file and some familiarity with Docker
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| doccano (this) | 10.8k | App | beginner | 7 months ago | Machine learning teams building labeled text datasets |
| bootstrap-vue | 14.4k | Library | intermediate | 7 months ago | Developers maintaining an existing Vue 2 app that already uses BootstrapVue |
| vue-awesome-swiper | 12.8k | Library | intermediate | 3.9 years ago | Teams maintaining an existing Vue 3 app that already uses vue-awesome-swiper v5 and need a bridge while migrating |
| DocsGPT | 18.4k | App | intermediate | 4 days ago | Teams that want an internal assistant over their own documents and wikis |
| fashion-mnist | 12.9k | Learning resource | beginner | 4.4 years ago | Machine learning students comparing classifiers on a familiar format |
| hoppscotch | 80.7k | App | beginner | 6 days ago | Developers who want to test REST, GraphQL, WebSocket, or other APIs without a heavy desktop client |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.