Skip to main content

LabelCraft - Intelligent Image Annotation Tool

Version 3.0.3 — Project-first annotation for detection & pose, based on labelImg

License Python Version PySide6 Version Downloads PyPI

中文文档 | English

LabelCraft is a graphical image annotation tool with project management, multi-shape drawing, and YOLO-Pose support. It is a major evolution of labelImg — thanks to TzuTa Lin for the original work.

Highlights (v3.0)

  • Shapes: rectangle, pose (bbox + keypoints), polygon, ellipse, circle
  • Projects: .lbc project files (legacy .labelcraft still opens), detect / pose tasks
  • Import / Export: LabelCraft JSON, YOLO Detect, YOLO Pose, PASCAL VOC, CreateML, COCO, CSV
  • Workflow: pending queue, completed list, verify status, auto-save, default label
  • UI: compact project info panel, cleaned menus & shortcuts, taskbar app icon
  • i18n: English, 简体中文, 繁體中文, 日本語, Deutsch, Français (live switch)

Screenshot

LabelCraft Interface

Install

pip (recommended)

pip install -U labelcraft
labelcraft

From source

git clone https://github.com/syd168/LabelCraft.git
cd LabelCraft
python3 -m venv venv
source venv/bin/activate   # Windows: venv\Scripts\activate
pip install -r requirements.txt
pyside6-rcc -o libs/resources.py resources.qrc   # if you change icons
python main.py

Or use ./start.sh (Linux/macOS) / start.bat (Windows).

Quick workflow

  1. File → New Project (Ctrl+N) — name, location, labels, detect or pose
  2. Add images / folders into the pending queue
  3. Draw with W (rect), P (pose), G (polygon), E (ellipse), C (circle)
  4. Ctrl+S save annotation · Ctrl+Alt+S save project
  5. Data → Export… (Ctrl+Shift+E) when ready

Project files use {name}.lbc. Annotations live under {project_dir}/annotations/.

Keyboard shortcuts (common)

Shortcut Action
Ctrl+N / Ctrl+O New / Open project
Ctrl+Alt+E / Ctrl+Alt+S Edit / Save project
Ctrl+S Save annotation
Ctrl+I / Ctrl+Shift+E Import / Export
W P G E C Rect / Pose / Poly / Ellipse / Circle
Ctrl+E Edit label
Delete / Ctrl+D / Ctrl+Z Delete / Duplicate / Undo
Ctrl+V Copy previous image boxes
V Verify current image
A / D Prev / Next image
Ctrl+F / Ctrl+Shift+F Fit window / Fit width

See Help → Shortcuts in the app for the full list.

Project layout

LabelCraft/
├── main.py              # Entry
├── labelcraft_ui.py     # Main window
├── libs/                # Core (project, canvas, I/O, i18n, …)
├── resources/           # Icons & assets
├── requirements.txt
└── setup.py             # PyPI packaging

Development notes

  • Python 3.8+, dependency: PySide6 ≥ 6.5, lxml
  • Locales: libs/locales/*.json
  • After editing resources.qrc, recompile:
    pyside6-rcc -o libs/resources.py resources.qrc

Changelog

Latest highlights (3.0.3): Preferences (Ctrl+,), theme/language persistence, JSON settings.

Full history: CHANGELOG.md.

License

MIT — see LICENSE.

Acknowledgments

  • labelImg by TzuTa Lin
  • Contributors and users of LabelCraft

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labelcraft-3.0.3.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labelcraft-3.0.3-py2.py3-none-any.whl (946.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file labelcraft-3.0.3.tar.gz.

File metadata

  • Download URL: labelcraft-3.0.3.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for labelcraft-3.0.3.tar.gz
Algorithm Hash digest
SHA256 65dc5242eab45848e8071ec81f9aedd2b402d5be457fe158f9afec41d5a0ad4f
MD5 646edf78f6fd34efff5aba20d013bcba
BLAKE2b-256 d1b7020669a6a71f2856515b346b36e096b3b956580926c8a10ae9804d8711a4

See more details on using hashes here.

File details

Details for the file labelcraft-3.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: labelcraft-3.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 946.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for labelcraft-3.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 969c4cc08018e7e0030f566ed3d3bfbd4660e84396a6d86eac2b84f6c5fcc413
MD5 de875ec55ba36c9de6bd9ab6003f90ce
BLAKE2b-256 325152fbe86ed2010557b3df2a3a50a73255a75287d81c1c998592af47716174

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page