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. | |
A layer that ignores the auto layout is drawn in front of the layout. | |
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 that QML cannot draw as one color. | |
Set to be rendered as images. | |
Some layers and effects are always rendered as images. | |
Layer was skipped. | |
Stroke aligned to the inside or outside of the line. | |
Stroke properties for a text layer. | |
The layer is transformed of flipped. | |
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
- If you set the line height property for a Text layer in Figma, the plugin converts it into QML Text, not Qt for MCUs StaticText.
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. | |
Fills that a Qt for MCUs rectangle cannot draw. | |
Layer styled with a non-linear gradient or non-solid fills. | |
Rotated layer contains other layers. | |
Rectangle layer is rotated. | |
Skewed layers are rendered as images for Qt for MCUs. | |
Automatically resized text. | |
Text styled with text case (such as small caps). | |
Text styled with strikeout or underline. | |
Text line height is set in Figma. | |
Truncated text. | |
Fills that QML cannot draw as one color. | |
No support for complex scripts. | |
Properties that Qt for MCUs StaticText 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 QML components 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. If you swap a nested instance inside a component instance, Figma to Qt reports an Instance swap issue and the instance keeps the main component's original layer until you select Reset overrides to revert the swap.
The layer has several child layers with the same name. | |
Override on an instance that a variant state overwrites. | |
Figma component is not well-defined. | |
Instance swap in a component instance. | |
The layer name differs from the main component. | |
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 layer that only some variants have when they place it under different parent layers. | |
Layers that share a name across variants but have different types. | |
The plugin drops a layout because its auto layout setting doesn't match that of the corresponding layer in other variants. |
Asset issues
If a Figma layer has properties that have no equivalent in QML, the plugin converts it into an asset and creates a QML Image for it. You can select the asset file format for all assets.
The following table summarizes issues that might occur when creating assets.
Asset is incorrectly placed. | |
The plugin could not create an asset from the layer. | |
The plugin cannot save the layer as an SVG file, so it saved it as a PNG. | |
The same layer in another variant or instance is saved as a PNG image. | |
An SVG file cannot draw the layer content, so the layer is saved as PNG. |
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.