Skip to main content

LabelCraft - A modern graphical image annotation tool based on labelImg

Project description

LabelCraft - Modern Image Annotation Tool

LabelCraft is a powerful and user-friendly graphical image annotation tool, enhanced from the popular labelImg project. It provides an intuitive interface for creating bounding box annotations for object detection and machine learning tasks.

✨ Key Features

  • Multiple Format Support: Export annotations in PASCAL VOC (XML), YOLO (TXT), CreateML (JSON), COCO (JSON), and CSV formats
  • Project Management: Create and manage annotation projects with organized directory structures
  • Smart Workflow: Pending queue system for efficient batch annotation
  • Multi-language Support: English, Simplified Chinese, Traditional Chinese, Japanese, German, French
  • Image Enhancement: Real-time brightness adjustment for better visibility
  • Flexible Navigation: Zoom, pan, and keyboard shortcuts for fast annotation
  • Predefined Classes: Load and manage custom class labels
  • Annotation Verification: Mark verified annotations for quality control
  • Dark/Light Mode: Automatic theme adaptation for comfortable viewing
  • Auto-save: Optional automatic saving when switching images
  • Cross-platform: Works on Windows, macOS, and Linux

🚀 Quick Start

Installation


Install via pip::

    pip install labelcraft

Or run from source::

    git clone https://github.com/syd168/LabelCraft.git
    cd LabelCraft
    pip install -r requirements.txt
    python main.py

Usage
~~~~~

Basic usage::

    labelcraft                              # Start without parameters
    labelcraft /path/to/images              # Open images from directory
    labelcraft --classes classes.txt        # Use custom class file
    labelcraft --save-dir ./output          # Set default save directory
    labelcraft --version                    # Show version

Command-line Options
  • image_dir: Directory containing images to annotate (optional)
  • --classes, -c: Path to predefined classes file
  • --save-dir, -s: Default directory to save annotations
  • --version, -v: Display program version

📖 Documentation

For detailed tutorials and documentation, visit:

  • GitHub Repository <https://github.com/syd168/LabelCraft>_
  • Installation Guide <https://github.com/syd168/LabelCraft/blob/master/doc/安装标注工具.md>_
  • Tutorial (English) <https://github.com/syd168/LabelCraft/blob/master/doc/tutorial.md>_
  • Tutorial (中文) <https://github.com/syd168/LabelCraft/blob/master/doc/tutorial_zh-CN.md>_

🛠️ Development

Requirements


- Python 3.8 or higher
- PySide6 >= 6.5.0
- lxml >= 4.9.0

Install dependencies::

    pip install pyside6>=6.5.0 lxml>=4.9.0

💡 Tips
------

- Press ``W`` to start drawing bounding boxes
- Use ``D`` and ``A`` to navigate between images
- Press ``Space`` to verify current annotation
- Use mouse wheel to zoom, drag to pan
- Adjust brightness with Ctrl+Shift+[/]

📄 License
---------

MIT License - See LICENSE file for details

🙏 Acknowledgments
-----------------

This project is based on the original `labelImg <https://github.com/tzutalin/labelImg>`_ by TzuTa Lin.

Note: This project is actively maintained and enhanced with modern features.


History

1.8.16 (2026-04-13)
-------------------

* Fixed IndexError when editing project configuration
* Enhanced i18n module: Added escape sequence decoding for properties files
* Fixed multi-line string parsing in resource files (\n, \t, \\)
* Optimized project edit warning dialog display logic
* Improved code robustness and maintainability

1.8.15 (2026-04-12)
-------------------

* Removed Close and Save As menu items for streamlined workflow
* Added batch label input feature in project creation/editing dialog
* Enhanced label input: support paste from Excel with auto-parse
* Added "Batch Add" button for convenient multi-label addition
* Improved user experience: press Enter to add labels instantly
* Smart duplicate detection when adding multiple labels
* Updated multi-language strings for new features

1.8.8 (2025-04-12)
------------------

* Fixed i18n: Added get_str() instance method for all dialogs
* Fixed export: Enhanced image path detection for YOLO and CSV formats
* Fixed export: Added SameFileError check when copying images
* Fixed project close: Auto-save current image annotation before closing
* Updated start scripts to English output for international users
* Improved README with pip installation guide
* Removed deprecated language files (fa-FA, de-DE)
* Enhanced annotation converter with multi-location image search

1.8.7 (2024-XX-XX)
------------------

* Based on labelImg project
* Added modern UI improvements
* Enhanced multi-language support
* Added brightness adjustment feature
* Improved annotation workflow
* Added GitHub Actions CI/CD

Note: This project is a fork and enhancement of the original labelImg project.
=======

1.8.6 (2024-XX-XX)
------------------

* Based on labelImg project
* Added modern UI improvements
* Enhanced multi-language support
* Added brightness adjustment feature
* Improved annotation workflow
* Added GitHub Actions CI/CD

Note: This project is a fork and enhancement of the original labelImg project.

Project details


Download files

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

Source Distribution

labelcraft-1.8.16.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

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

labelcraft-1.8.16-py2.py3-none-any.whl (1.5 MB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for labelcraft-1.8.16.tar.gz
Algorithm Hash digest
SHA256 8945f8713002e4e338ab6b4b02bd1a5ba6e2107866a77254a26955e6605775dc
MD5 2d5b6517bfd660f85af5f03ee085cb56
BLAKE2b-256 c5f02f8e1213bc7dcea0f127ebc2eb975fedaf30932c17c159041930c2728490

See more details on using hashes here.

File details

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

File metadata

  • Download URL: labelcraft-1.8.16-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for labelcraft-1.8.16-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ddd03da8aa9eec0da272948b470851001b9cf5dbbfa5e2a018ee590a9b9af024
MD5 81cc7af70e7fac20e615588e87535907
BLAKE2b-256 349fcb064b51878809bb79094e1cda6f60a251aff9b5e28da71a9a975c75f26d

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 Pingdom Monitoring Sentry Error logging StatusPage Status page