Conversion issues
Figma to Qt converts Figma designs into QML code. Some Figma layers have properties that have no equivalent in QML. The Issues page describes the differences and offers to automatically fix some issues.
The following table summarizes the properties that QML doesn't support.
Layer properties are bound to variables. | |
Stroke settings that a QML shape path cannot express. | |
Stroke settings that EllipseShape cannot express. | |
A text layer aligned to one edge and constrained to another. | |
Too many or no font files added. | |
Missing or invalid control properties. | |
Cannot position a QML component. | |
Too much padding in an auto layout. | |
Variables not available in the current file. | |
Different font family, weight, size, or style (such as, bold or italic) within one text layer. | |
Different line height values within one text layer. | |
Only some words or characters have a fill within one text layer. | |
Different stroke weight values within a rectangle layer. | |
Strokes styled with a gradient or other fill. | |
Text styled with a gradient or other fill. | |
Set to be rendered as images. | |
Always rendered as images. | |
Skewed layers are rendered as images for Qt for MCUs. | |
Layer was skipped. | |
Stroke aligned to the inside or outside of the line. | |
End caps that a QML shape path cannot draw. |
Converting into Qt for MCUs
Qt for MCUs takes into account the resource constraints on the MCU platforms, such as memory footprint and CPU cycles. It enables your application to perform optimally with the resources available on MCU platforms.
To keep your application lean, help Figma to Qt to convert the Figma design into Qt for MCUs code instead of assets. Keep the following in mind when working in Figma:
- Rotate only Text, Image, or Line layers
- If you use effects, you can either render the layer as an Image or skip the effects
- Figma to Qt cannot convert shapes into Qt for MCUs SvgPathItem. Line layers are the exception: they are converted into a Shape that holds a ShapePath, but without dash patterns, which Qt for MCUs doesn't support
The following table summarizes additional properties that Qt for MCUs doesn't support.
Complex text script. | |
Dashed stroke on a line or vector layer. | |
Individual radius values for each corner of a rectangle. | |
Layer styled with a non-linear gradient or non-solid fills. | |
Rotated layer has children. | |
Rectangle layer is rotated. | |
Layer has strokes. | |
Automatically resized text. | |
Text styled with text case (such as small caps). | |
Text styled with strikeout, underline, and so on. | |
Truncated text. | |
Non-solid text fill for the top visible fill. | |
No support for complex scripts. | |
Properties that Qt for MCUs doesn't support. |
Components and variants
Figma to Qt converts each Figma main component into a QML component and each instance into an instance of the component. It converts variants into a QML component with states. You can override the properties of the main component or variant in the instances.
Note: For best results, all variants should have the exact same internal layer structure, including the same nesting depth.
If the plugin shows you issues about component instances, check that:
- The layer names match across components and their instances.
- Names of added layers in variants are not the same as names of layers in the default variant.
- Positions of layers in variants match those in the default variant, counted from the bottom of the layers panel.
Note: Swapping instances is not supported.
Asset is incorrectly placed. | |
Variant instances overridden in ways that are not supported. | |
Conflicting variant instances. | |
Sibling layers have identical names, so the plugin uses the layer structure to identify them. | |
Override on an instance that a variant state overwrites. | |
Figma component is not well-defined. | |
The plugin ignores layers that have a different parent in one or more variants. | |
Instance swap in a component instance. | |
The layer name or position differ from the default variant of the main component. | |
Layer names changed between a main component and its instance. | |
The main component of an instance is missing. | |
States removed from a control. | |
Self-nested variant. | |
The plugin drops the variant changes because the position or parent of the layer differs from the default variant. | |
The plugin drops a layout because its auto layout setting doesn't match that of the corresponding layer in other variants. |
Project issues
When you download the converted design, Figma to Qt creates a QML project that contains all the necessary files. You can specify advanced layer settings to instruct the plugin on how to convert layers.
The following table summarizes issues in the created projects. They are shown by the compiler or other tools developers use to build and run the project.
Custom QML type doesn't exist. |
See also Fix conversion issues, Render layers as images, and Design guideline.
© 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.