Skip to main content

LabelCraft - Intelligent Image Annotation Tool

Version 3.1.0 — Project-first annotation for detection, pose, OBB & segmentation, 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.1.0): Rotated rectangles (OBB), YOLO OBB / YOLO Seg / COCO Seg export, redesigned export dialog.

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.1.0.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.1.0-py2.py3-none-any.whl (972.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for labelcraft-3.1.0.tar.gz
Algorithm Hash digest
SHA256 546209f8679774a405591be4ca2a82b24464c91d16ca8467a0777756c4dc3013
MD5 e0c9461f8b7a74e967da4ff4ef6ae0db
BLAKE2b-256 2e8a7f46131d0bf6600a95a984185b8c0b60455b8b10f567d485e276900393ff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: labelcraft-3.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 972.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.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a271116544b9ca565846717db419172a6de9497cba9e43ef04142d80cff299e7
MD5 5ca061c8f59dbc3956d54164d7a514ee
BLAKE2b-256 7a28727c25013e63e21957934b59e39b9cf0bf23f2a659589c255c37ab2f5d1b

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