Tools and utilities
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.
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 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. |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.