Tools and utilities

Lists development tools for the Qt Framework, grouped by their primary function.

Qt provides a comprehensive set of command-line and graphical development tools covering the full development workflow: configuring builds, preprocessing assets, generating boilerplate from interface descriptions (Protobuf, gRPC, D-Bus, SCXML, OPC UA, Remote Objects), running and analyzing QML code, managing translations, deploying to target platforms, and importing 3D assets.

The tools listed on this page are included in the Qt Framework and installed with Qt. For the broader Qt ecosystem, including Qt Creator , IDE extensions, AI tooling, QA tools, and commercial add-ons, see Qt development tools and Qt QA software tools on qt.io.

For guidance on running these tools safely on projects whose origin you don’t trust, see Using Qt’s Developer Tools Securely .

Build system

Tools that drive Qt’s build configuration and project file generation.

Tool

Description

qmake

Qt’s traditional build system. Generates platform-specific Makefiles from .pro project files.

qt-cmake

Qt’s primary build system is CMake. qt-cmake is a CMake wrapper that locates the Qt installation automatically, eliminating the need to set CMAKE_PREFIX_PATH when configuring Qt projects.

Code generators

Tools that generate C++ source from class declarations, or from interface and protocol description files.

Tool

Description

Meta-Object Compiler (moc)

Processes C++ class declarations that use Qt macros and generates the introspection code that powers signals and slots, dynamic properties, and runtime type information.

Qt D-Bus XML compiler (qdbusxml2cpp)

Generates C++ proxy and adaptor classes from a D-Bus introspection XML description.

Qt SCXML Compiler (qscxmlc)

Compiles SCXML state machine descriptions into C++ classes that integrate directly into a Qt application.

Qt Remote Objects Compiler (repc)

Generates source and replica C++ classes from .rep interface files for use with Qt Remote Objects.

Qt OPC UA data type generator (qopcuaxmldatatypes2cpp)

Generates C++ data type code from OPC UA NodeSet2 XML files for use with Qt OPC UA.

qtgrpcgen

Generates Qt-compatible gRPC client and server stub C++ classes from .proto files.

Qt Jenny: Java Code Generator

Generates C++ wrapper classes for Java APIs, enabling Qt APIs to be called from Java or Kotlin on Android.

User Interface Compiler (uic)

Converts .ui form files created in Qt Designer into C++ header files.

Asset conditioning

Tools that preprocess and convert source assets into forms consumed by the build or runtime: UI forms, binary resources, shaders, scalable vector graphics, distance field atlases, and animation files.

Tool

Description

Resource Compiler (rcc)

Embeds application resources such as images, QML files, and translation files, into the application binary or as standalone .rcc files.

svgtoqml

Converts SVG files to QML components using Qt Quick Shapes, enabling scalable vector graphics without a raster image dependency.

Qt Shader Baker (qsb)

Compiles GLSL shaders into a multi-target package format (.qsb) consumable by Qt’s graphics stack across Vulkan, Metal, Direct3D, and OpenGL backends.

Qt Distance Field Generator

Pre-generates distance field texture atlases for text rendering, reducing startup time on resource-constrained embedded targets.

lottietoqml

Converts Lottie JSON animation files (as exported from Adobe After Effects and compatible tools) to QML components using Qt Lottie Animation .

QML compilation

Tools for compiling QML and JavaScript files to bytecode or native C++ ahead of time, reducing startup cost at runtime.

Tool

Description

QML script compiler

Compiles functions and expressions in QML and JavaScript files to a byte code that can be interpreted or Just-in-time compiled by the QML engine.

QML type compiler

Translates QML types into C++ types that are ahead-of-time compiled as part of the user code.

Formatters and linters

Tools for analyzing and formatting QML source files.

Tool

Description

qmllint

Static analyzer for QML files. Detects binding errors, deprecated API usage, and other common mistakes at development time.

qmlformat

Formats QML files in accordance with the QML Coding Conventions.

QML Language Server

An LSP-compatible language server providing code completion, go-to-definition, and live diagnostics in any editor that supports the Language Server Protocol.

qmlcontextpropertydump

Scans a C++ source folder for potential context property definitions, and stores them in a format readable by qmllint and QML Language Server.

3D assets

Tools for importing and converting 3D content, and pre-processing physics collision data at build time.

Tool

Description

Balsam Asset Import Tool

Imports 3D assets in formats such as FBX, glTF 2, and OBJ and converts them to Qt Quick 3D’s native format.

Balsam UI

A graphical front end for the Balsam tool.

Cooker

Pre-processes and bakes collision meshes for Qt Quick 3D Physics at build time, avoiding runtime cost on target devices.

Material Editor (materialeditor)

A GUI tool for authoring CustomMaterials for Qt Quick 3D.

Instancer

Converts Qt Quick 3D instancing tables from FileInstancing XML to a binary format for direct memory mapping at runtime.

Translation and localization

Tools for extracting, converting, and compiling translation files.

Tool

Description

Qt Linguist

Qt’s translation environment. Provides translators with a workflow for reviewing source strings, entering translations, and validating .ts files before release.

The following tools are part of Qt Linguist.

Tool

Description

lupdate

Extracts translatable strings from C++ and QML source files and creates or updates .ts translation files.

lupdate-pro

Variant of lupdate that reads .pro project files to locate source files.

lrelease

Compiles .ts translation files into binary .qm format for use at runtime.

lrelease-pro

Variant of lrelease that reads .pro project files.

lconvert

Converts between translation file formats (TS, XLIFF, PO, and others).

ltext2id

Converts text-based translation files to ID-based format.

lcheck

Validates .ts files and reports common errors. Suitable for use in CI pipelines.

Testing and diagnostics

Tools for testing Qt applications, inspecting D-Bus services, and diagnosing runtime issues. For automated GUI and system-level testing, see Squish.

Tool

Description

Qt D-Bus Viewer

A graphical browser for D-Bus services. Inspect objects, interfaces, and properties, and call methods interactively.

qmlpreview

Hot-reloads QML files on a connected device or host as they are saved, without restarting the application.

androidtestrunner

Runs Qt auto-tests on Android devices or emulators and collects the results.

The qml utility

Loads and runs QML files without a compiled application wrapper. Useful for rapid prototyping and testing individual QML components.

Profiling and tracing

Tools for collecting and analyzing runtime performance data from Qt and QML applications.

Tool

Description

qmlprofiler

Retrieves QML tracing data from an application. The collected data can then be visualized in Qt Creator.

Deployment tools

Tools for packaging Qt applications for distribution to target platforms.

Tool

Description

The androiddeployqt Tool

Assembles a deployable Android APK or AAB from a compiled Qt application, bundling the required Qt libraries and assets.

The harmonydeployqt Tool

Assembles a deployable HarmonyOS Ability Package (HAP) from a compiled Qt application, bundling the required Qt libraries, plugins, and QML modules.

The macOS Deployment Tool

Automates the process of creating a deployable application bundle that contains Qt libraries as private frameworks.

The Windows Deployment Tool

Collects all required Qt libraries, plugins, QML modules, and runtime dependencies into a ready-to-run deployment folder.

Qt Application Manager

Qt Application Manager is the framework for building embedded System UIs that manage, sandbox, and control the lifecycle of applications.

Tool

Description

Qt Application Manager

The main application manager tool. Acts as a compositing window manager and application lifecycle controller for embedded System UIs.

The following command-line utilities are part of the Qt Application Manager suite.

Tool

Description

Controller (appman)

Remote-controls a running appman instance: start and stop applications, install packages, and query runtime state.

Packager (appman)

Creates, signs, and verifies application packages for installation by the application manager.

Package-Server (appman)

A lightweight development HTTP server that distributes application packages for over-the-air installation testing.

ActiveQt, Windows COM integration

Tools for working with COM and ActiveX on Windows: generating C++ bindings from type libraries, producing documentation, and testing ActiveX controls.

Tool

Description

dumpcpp

Generates C++ namespace and class definitions from a Windows COM type library, allowing Qt/C++ code to drive COM servers.

dumpdoc

Generates HTML documentation for a COM object from its type library.

Interface Description Compiler (idc)

Post-processes Qt plugin DLLs to register them as COM servers and generate the necessary IDL and type library metadata.

ActiveX Test Container (testcon)

An interactive container for testing and exploring ActiveX controls.

UI design

Tools for designing visual effects and application forms.

Tool

Description

Qt Quick Effect Maker

A visual node-based tool for designing and previewing custom fragment shader effects for Qt Quick items.

Qt Widgets Designer

A WYSIWYG form and widget designer for Qt Widgets applications, producing .ui files consumed by uic.

Documentation tools

Tools for generating and browsing Qt documentation.

Tool

Description

QDoc

Qt’s documentation generator. Reads annotated C++ source and .qdocconf configuration files to produce HTML or Qt Help output.

Qt Assistant

Qt’s offline documentation browser. Embeds in applications to provide context-sensitive help.

qhelpgenerator

Compiles Qt Help Project (.qhp) files into compressed .qch archives consumable by Qt Assistant and the Qt help framework.