(registered 2026-08-06, last updated 2026-08-06) Media type name: text Media subtype name: qml Required parameters: charset The charset parameter MUST be specified. The default value is "utf-8". QML files are text files that use Unicode encoding. Optional parameters: N/A Encoding considerations: binary QML files are UTF-8 encoded text. Lines may exceed 998 octets in length. As such, binary encoding considerations apply per RFC 6838 section 6. Transports not capable of handling 8-bit text should apply appropriate encoding (e.g., quoted-printable or base64). Security considerations: (1) QML files contain executable content in the form of declarative JavaScript expressions and property bindings. When processed by a QML engine (such as Qt QML), this content executes within a sandboxed environment with controlled access to system resources via the Qt security model. QML engines that load content from untrusted sources should implement appropriate sandboxing, access controls, and permission systems. (2) QML files do not inherently require privacy or integrity services. However, applications loading QML from untrusted network sources should verify content integrity and authenticity through external mechanisms such as TLS (HTTPS) and code signing. (3) The QML language supports network requests, local file access (subject to engine permissions), and interaction with external devices. QML engines should implement appropriate permission models to restrict these capabilities when processing untrusted content. (4) QML uses a JavaScript-like syntax but does not use XML or JSON as its underlying format. No specific XML or JSON security considerations apply. (5) QML files may import external modules by URI. Resolvers processing these imports should validate the source and integrity of imported modules. Interoperability considerations: QML is a language specific to the Qt framework ecosystem. Files of this type are intended to be processed by Qt QML-compatible engines. Other consumers may treat the content as plain text (text/plain) as a fallback, since QML syntax is human-readable. The QML language is defined by The Qt Company and its specification is publicly available. Published specification: * Qt QML Documentation: https://doc.qt.io/qt-6/qtqml-index.html * Qt QML Language Specification: https://doc.qt.io/qt-6/qml-language.html * QmlBrowser (implementation serving text/qml over HTTP): https://github.com/Toorion/qml-browser Applications which use this media: * QmlBrowser (https://github.com/Toorion/qml-browser) — a web browser that renders QML pages served over HTTP * Qt Creator IDE — identifies and opens .qml files * qmlscene — Qt QML runtime viewer * Qt QML Engine (QQmlEngine) — the core QML runtime used by all Qt Quick applications * Any application built with the Qt framework using the Qt QML module Fragment identifier considerations: N/A Restrictions on usage: None Additional information: 1. Deprecated alias names for this type: N/A 2. Magic number(s): N/A 3. File extension(s): .qml 4. Macintosh file type code: N/A 5. Object Identifiers: N/A Person to contact for further information: 1. Name: Samuel 2. Email: someon3lse&murena.io Intended usage: COMMON Author/Change controller: The Qt Company Ltd. (https://www.qt.io)