.QM

QM File

Qt Compiled Translation File
Ask a question
QUICK ANSWER

A QM file is a compiled binary translation catalog used by Qt applications to display their interface in another language. You do not open or edit a QM file directly; to change translations you work in the matching .ts source file using Qt Linguist, then compile it back to .qm with lrelease. QM files are passive data and safe to have on your system.

Developer: The Qt Company (originally Trolltech / Nokia / Digia) Category: Data Files Open standard MIME: application/octet-stream
OPENS ON Windows macOS Linux
Related: .PKPASS · .DAT · .JSON · .RIS

On this page

19k+ extensions indexed
Last reviewed Jul 17, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the QM file format?

.qm files are associated with Qt Linguist, a translation software tool developed by The Qt Company (originally Trolltech).

Files with a .qm extension store source text and its compiled translation to a target language. .qm files store data in binary format for fast data access and lookup at runtime. They are used for distributing application translations into local languages across Windows, macOS, Linux, Android, iOS, and other Qt-supported platforms.

.qm is the compiled, runtime-loaded counterpart of the human-editable .TS (Translation Source) file. The workflow is: developers and translators work in the .ts XML file, then the lrelease command-line tool compiles it into a compact .qm binary that the application loads at startup via Qt's QTranslator class.

Qt Linguist allows users to create application translations and localizations. Because .qm is a compiled binary file and not a plain text file, it is not possible to read its contents directly - not even with Qt Linguist itself. The file begins with a fixed 16-byte magic number, followed by tagged data blocks (Hashes, Messages, Contexts, NumerusRules, Dependencies) that enable fast string lookup at runtime.

In order to open a .qm file with Qt Linguist, it is necessary to convert it back to .ts first. There are many tools that allow such conversion; most of them are command-line utilities, including lconvert (part of the Qt tools bundle). The resulting .ts file can be opened directly with Qt Linguist. .ts files are editable - a user can translate the text and then convert the file back to .qm using lrelease. This process allows users to generate and distribute language packages for applications.

Security & safety

RISK: LOW

A .qm is passive translation data loaded by Qt's QTranslator and executes no code. It is safe. The only practical caution is editing the wrong file: changes must be made in the .ts source and recompiled, since hand-editing the binary .qm will corrupt it.

Format details

in a nutshell
FULL NAMEQt Compiled Translation Fileaka Qt message file, compiled Qt translation
DEVELOPERThe Qt Company (originally Trolltech / Nokia / Digia)since 1990s (Qt internationalization framework)
CATEGORYData Files
MIME TYPEapplication/octet-stream
TYPECompiled binary translation catalog (binary)
STANDARDOpen · royalty-free
This extension is also used by…
  • QuickTime metadata / misc - Occasionally seen for unrelated tool data; the dominant meaning is the Qt compiled translation.
MAGIC BYTES · FILE SIGNATURE
OFFSET
000102030405060708090a0b0c0d0e0f
HEX
3CB86418CAEF9C95CD211CBF60A1BDDD
ASCII
<·d······!··`···
A .qm file starts with a fixed 16-byte magic number used internally by Qt's QTranslator to recognise the file, followed by length-prefixed data blocks (messages, hashes, contexts, dependencies).

Programs that open QM files

Windows2 apps
Qt Linguist Open-source Open the matching .ts in Linguist to edit; recompile to .qm with lrelease. Use lconvert to get a .ts from a .qm-only file.
Qt tools (lrelease / lconvert) Open-source lconvert app_de.qm -o app_de.ts to decompile; lrelease app_de.ts to recompile.
macOS1 app
Qt Linguist Open-source Same workflow: edit the .ts, compile with lrelease.
Linux1 app
Qt Linguist Open-source Install qttools (qt6-tools), edit .ts in Linguist, lrelease to .qm.

Technical details

deep spec
DeveloperThe Qt Company (originally Trolltech / Nokia / Digia)
Format typeCompiled binary translation catalog
MIME typeapplication/x-qm (also application/octet-stream)
File signature (magic bytes)16-byte header at offset 0: 3C B8 64 18 CA EF 9C 95 CD 21 1C BF 60 A1 BD DD
Byte orderBig-endian
Internal structureTag/length/value blocks: Hashes, Messages, Contexts, NumerusRules, Dependencies
String encodingUTF-16 or UTF-8 per string
CompressionNone - strings stored as-is; plural (numerus) rules encoded compactly
Typical file size5 KB - 2 MB, depending on number of translated strings
Source format.ts (Translation Source, XML) - the human-editable counterpart compiled by lrelease
Compilation toollrelease (Qt command-line tool, part of the Qt tools bundle)
Reverse conversion toollconvert (Qt command-line tool) - converts .qm back to .ts or other formats
Runtime loaderQTranslator class in the Qt framework
String lookupO(1) via per-message hash table embedded in the file
Supported platformsWindows, macOS, Linux, Android, iOS, embedded Qt targets
Released1990s (Qt internationalization framework)
Latest versionTied to the Qt release stream (Qt 6.x in 2026); QM binary layout stable
Open standardYes · royalty-free
Specificationdoc.qt.io

QM conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with QM files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about QM files.

Frequently asked questions

What is a .qm file?
It is a compiled translation catalog used by Qt applications to show their interface in another language. It is generated from an editable .ts file and loaded by the app at runtime.
How do I open or edit a .qm file?
You don't edit the .qm directly. Decompile it to a .ts file with Qt's lconvert tool, edit the .ts in Qt Linguist, then recompile to .qm with lrelease.
What is the difference between .ts and .qm?
.ts is the human-editable XML translation source; .qm is the compiled binary the application actually loads. Developers edit .ts and produce .qm with lrelease.
Can I translate a program if I only have its .qm files?
Yes - run lconvert app.qm -o app.ts to get an editable .ts, translate it in Qt Linguist, then lrelease it back to .qm and place it in the app's translations folder.
Where are .qm files located?
Usually in a translations/ subfolder of a Qt application's install directory, or embedded in the app's Qt resource bundle (.qrc), named like app_fr.qm.
Why is my Qt app showing the wrong language?
The needed .qm may be missing, outdated, or not loaded. Check the translations folder for the right language code and that the app's QTranslator is set to load it.

References

1Qt - Qt Linguist Manual: Translatorsdoc.qt.io
2Qt - Linguist Manager (lrelease/lconvert)doc.qt.io

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.NOMEDIAAndroid No-Media Marker File
6.PARTPartial Download File
7.RPMSGRestricted Permission Message
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.DBSQLite Database File

Related extensions

.PKPASSApple Wallet Pass (formerly Passbook)
.DATProgram Data File (generic)
.JSONJavaScript Object Notation file
.RISResearch Information Systems citation file
.OFXOpen Financial Exchange
.CSVComma-Separated Values

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z