How to Install LabelImg Annotation Tool on Windows

LabelImg is a graphical image annotation tool and label object bounding boxes in images.


I know installations can be a real pain when it comes to AI and machine learning. That's why I decided to write a tutorial to simplify the installation process of LabelImg. I want to help people who may not be technical but still need to work with an image annotation tool. Hopefully, my tutorial will make their lives a little easier.

Folders structure

├─ addons/
│  └─ labelImg/

Installing LabelImg inside the TensorFlow folder structure can be a bit tricky, but it can be done. The best place to install it is inside the addons folder. This way, it will be easier to keep track of your dependencies and make sure everything is organized properly.

To install LabelImg inside the TensorFlow addons folder, you'll need to follow a few steps. First, you'll need to download the LabelImg repository from GitHub. Then, you'll need to extract the files into the TensorFlow addons folder. After that, you'll need to install the required dependencies, such as PyQt5, using pip. Finally, you'll need to run the script to start the application.

It's important to make sure that you've installed all the required dependencies before trying to run the LabelImg application. If you don't, you may encounter errors that can be difficult to debug.

By following these steps, you'll be able to install LabelImg inside the TensorFlow folder structure and take advantage of all the benefits it offers for working with image annotation.


Python is a required dependency for LabelImg because the software is written in Python, a high-level programming language. In order to run LabelImg, you must have a version of Python installed on your computer.

By having Python installed on your computer, you will be able to run LabelImg and any other Python-based software or scripts you need for your AI and machine learning projects. This makes it an important tool to have in your toolkit, especially if you're working in the field of AI and machine learning.

LabelImg Download for Windows

By downloading LabelImg from GitHub, you'll have access to the latest version of the software, as well as the source code, which you can modify and customize as needed.

To download LabelImg from GitHub and install it on your system, follow these steps:

  1. Visit the LabelImg GitHub page at
  2. Click the "Code" button and select "Download ZIP" from the drop-down menu.
  3. Wait for the ZIP file to download to your computer.
  4. Extract the contents of the ZIP file to a directory on your computer (TensorFlow/addons/labelImg).
  5. Open a command prompt or terminal window and navigate to the directory where you extracted the LabelImg files (TensorFlow/addons/labelImg).


Install dependencies


pip install lxml

Annotation tools are often used to create XML files, which contain the annotations for the images. The XML files contain information such as the location and size of the objects in the image, as well as their labels.

2 1

That's why libraries like lxml are so important. They allow you to process and manipulate these XML files in a convenient and efficient way. With lxml, you can extract information from XML files, modify the data, and create new XML files with ease.

For example, if you're working on an image annotation project, you may need to extract information from the XML files, such as the location and size of the objects in the images. With lxml, you can use XPath to easily find the information you need in the XML files, without having to write a lot of code.


pip install PyQt5
Collecting PyQt5
  Downloading PyQt5-5.15.4-cp36.cp37.cp38.cp39-none-win_amd64.whl (6.8 MB)
     |█████████████████| 6.8 MB 939 kB/s
Collecting PyQt5-Qt5>=5.15
  Downloading PyQt5_Qt5-5.15.2-py3-none-win_amd64.whl (50.1 MB)
     |█████████████████| 50.1 MB 6.4 MB/s
Collecting PyQt5-sip<13,>=12.8
  Downloading PyQt5_sip-12.9.0-cp39-cp39-win_amd64.whl (63 kB)
     |█████████████████| 63 kB 4.8 MB/s
Installing collected packages: PyQt5-Qt5, PyQt5-sip, PyQt5
Successfully installed PyQt5-5.15.4 PyQt5-Qt5-5.15.2 PyQt5-sip-12.9.0

PyQt5 is a set of Python bindings for the Qt libraries, which are a set of C++ libraries for creating graphical user interfaces (GUIs). It's a popular choice for building cross-platform desktop applications in Python because of its ease of use and the large number of widgets and tools it provides.

LabelImg is an image annotation tool that has a graphical user interface, and PyQt5 is its dependency because it provides the framework for building the UI. In other words, PyQt5 is used to create the windows, buttons, and other elements of the LabelImg application.


Without PyQt5, LabelImg wouldn't be able to provide a user-friendly interface for annotating images. Instead, you would need to use the command line to interact with the tool, which can be more difficult and time-consuming for some users.


Navigate to folder

C:\>cd TensorFlow
C:\TensorFlow>cd addons
C:\TensorFlow\addons>cd labelImg


pyrcc5 -o libs/ resources.qrc


Open LabelImage

To run LabelImg, you'll need to open a command prompt or terminal window. This is because LabelImg is a command-line application and requires you to run the script from the command line.

Open LabelImage

Once you've opened the command prompt or terminal window, you'll need to navigate to the folder where you've installed LabelImg. Then, you can run the script by typing the following command:

cd C:/TensorFlow/addons/labelImg <br>

This will start the LabelImg application and you'll be able to use the UI to annotate your images.

Make sure you've installed all the required dependencies before trying to run LabelImg.

When you run LabelImg, the application is executed in the command prompt or terminal window. As long as the window is open, LabelImg will continue to run. If you close the window, LabelImg will be terminated and you'll need to start it again.

The reason you need to keep the command prompt or terminal window open while LabelImg is running is because the application is being run in the context of the terminal. The terminal provides the environment for the application to run, and as long as the terminal is open, the application will continue to run.

Additionally, the terminal also serves as a way for you to interact with LabelImg. If you need to close the application, you can simply close the terminal window. And if you encounter any issues or errors while using LabelImg, you can examine the output in the terminal to try to troubleshoot the problem.

You must keep the cmd or terminal open while LabelImg is running.



LabelImg running on Windows 10 Pro.

You can learn how to use LabelImage at: How to label images for object detection


  1. GitHub - tzutalin/labelImg
  2. Installing lxml
  3. PyQt Download