Skip to main content

LabelCraft - Intelligent Image Annotation Tool

Version 3.0.0 — 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 (3.0.0)

See RELEASE_NOTES_v3.0.0.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.0.tar.gz (1.8 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.0-py2.py3-none-any.whl (923.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for labelcraft-3.0.0.tar.gz
Algorithm Hash digest
SHA256 56dbc2705db67f13dbb5ab8aeb58001c7deeaa4d65d3d9c17958b4ef49888cc7
MD5 cc23707c43a45c8db5ef29a2033068ec
BLAKE2b-256 5561115cfcbae9c344cb3b07061f2433858b4c66196ce907f5891c323e1c10af

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for labelcraft-3.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 580c65f895a12b0b93808067c0f688929006c5b3e0b9ed9ca446ceed001b7059
MD5 c3db8eb2e36537707e2143f836ca794a
BLAKE2b-256 19b38b833daeddbc5c5eff7559f08598463e638fe1c49912d299f2eb662c03b5

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