In the v9.5 release notes we said the XML engine was moving out of the main repository, and that we'd explain the decision in a separate post. That post took far too long to write. In the meantime the questions piled up, including issue #9663, where several of you raised fair points and got no real answer from us. That was our mistake. So here it is: what changed, why we did it, what it means for your project, and exactly where the line between LVGL Open and LVGL Pro sits.
TL;DR#
- The LVGL library stays MIT. Period. Widgets, layouts, styles, drivers, fonts:
everything in the
lvgl/lvglrepository is open source, free for commercial use, and will stay that way. - The XML engine is now part of LVGL Pro. It left the core repository in v9.5 and is licensed under a custom LVGL license, not MIT. The Editor uses it internally (that's covered, even on the free tier).
- Loading XML at runtime on your device requires a paid license. I explain why below.
- You are never locked in. The Editor exports plain C code that depends only on MIT-licensed LVGL. Whatever happens with Pro, you always have a fully open-source path to ship your product.
- The Editor is free for the community. Personal, educational, and open-source projects get the full Editor at no cost, and that side of the line moved in your favor.
- Versions up to 9.4 keep their MIT XML engine forever. MIT can't be revoked, and we wouldn't try.
Overview of the LVGL ecosystem#
To better understand the whole picture let's start with how the LVGL ecosystem looks now.
We maintain three products and this is how they fit together:
- The LVGL library: widgets, styles, layouts, animations, drawing engine, drivers, etc
- C library, can be integrated into any MCU or MPU
- Available on GitHub
- MIT licensed, meaning it's free even for commercial use
- The LVGL Pro Editor exports LVGL Open code
- Also UI library written in C
- Not a fork of LVGL Open, but written from scratch
- A certifiable runtime for safety-critical products
- Fewer features than LVGL Open, but very high reliability
- The target release date is 2026 Q4
- Will be integrated into LVGL Pro as well
- LVGL's official UI toolkit consisting of an Editor, an Online viewer, Figma plugin, and CLI
- The Editor: XML editing, visual design, Figma sync, live preview, collaboration
- The XML engine: used internally by the Editor
- On-device runtime XML loading is a separately licensed feature (no free tier for this)
- Commercial support with SLAs
- Paid for commercial-use, free for non-commercial use and evaluation
What actually changed in v9.5?#
There are two things:
- The XML engine (
lv_xml_*) moved out of thelvgl/lvglrepository. - Its license changed. Going forward, the XML engine is developed as part of the LVGL Pro toolchain under a custom LVGL license. It is no longer open source.
If you don't use XML, nothing changed for you. If you use the Editor and export C code, nothing changed for you either, since the generated code depends only on the MIT-licensed library. If you load XML at runtime, the section below is for you.
Why did we do this?#
There are two reasons, one technical and one about how LVGL stays alive as a project.
The technical reason: The XML engine evolves in lockstep with the Editor. Every Editor feature (data bindings, animations, tests, translations) needs matching engine support, often within days. The core library makes two to three releases a year, each supported for about a year, because millions of devices depend on its stability. Keeping the engine in core meant either holding Editor features hostage to the core release cycle, or destabilizing core with fast-moving code.
The business reason: LVGL Open is free, but the people who maintain it are not. The Editor and the XML toolchain are how we fund full-time work on the open-source library, the drivers, the docs, and the support you get on GitHub and the forum. An MIT-licensed XML engine would mean any company could take the format and the runtime, build a competing commercial editor on top of our work, and contribute nothing back to the library you use for free. Keeping the XML engine under an LVGL license protects the funding model that keeps LVGL Open alive and moving.
The good news is that because commercial licenses pay the bills, we can offer the full Editor free for the community. Personal, educational, and open-source projects pay nothing, with no watermarks and no artificial limits.
What this means if you use lv_xml?#
On v9.4 or earlier: Nothing changes. The XML engine in those releases shipped under MIT, and MIT is irrevocable. You can keep using it in LVGL v9.4, and it remains supported per our normal support windows.
On v9.5 and later, there are two distinct situations:
- Inside the Editor, you don't need to think about the engine at all. The Editor uses the XML engine internally for live preview, the online viewer, and testing. That's covered by simply using the Editor, including the free Community tier.
- On your device, runtime XML loading is a licensed feature. If your product loads XML at runtime (for OTA UI updates, downloadable themes or watch faces, server-driven screens), you need a runtime license for the XML engine. There's no free tier for on-device use. License holders get either a precompiled library or the source code. To license runtime XML for your device, or just to talk through whether you actually need it, email us at lvgl@lvgl.io.
C export covers the same UI definitions, produces plain MIT-licensed code with zero dependency on the XML engine, and it's the path we recommend by default. Runtime XML is an advanced capability for products whose UI must change after shipping, and that's who the license is for.
Thank you, and keep asking
LVGL exists because thousands of you build with it, report issues, and push back when something doesn't look right. If anything here leaves a question open, tell us.
We answer every message personally.


