About
A faster path from screen design to embedded firmware
html2LVGL exists because building an LVGL UI by hand — one lv_obj_t at a time — is slower than it needs to be for anyone who already thinks in HTML and CSS.
01
Design in HTML & CSS
Build the screen with the layout tools you already know — flexbox, grid, and standard box-model styling — instead of hand-writing an LVGL object tree.
02
Preview at real display size
Check the result against your target resolution and DPI before committing to an export, so surprises show up on your monitor, not on the device.
03
Export production-ready firmware code
Get native C/C++, MicroPython, or LVGL XML output, structured the way you would write it by hand — ready to drop into an ESP32, STM32, or Arduino project.
Who it's for
Embedded and IoT developers who need to ship a UI on a constrained display — smartwatches, appliance panels, industrial control screens — and would rather iterate on layout in a browser than recompile firmware on every pixel adjustment. It's built for teams already standardized on LVGL, not as a replacement for it.
What it isn't
html2LVGL doesn't run in the browser at runtime, and it isn't a general-purpose HTML renderer for devices. It's a design-time converter: you build and preview in HTML/CSS, it emits real LVGL code, and that code compiles into your firmware like any other source file.
See what's included at each tier
From a free static-layout tier up to full Flexbox/Grid mapping, custom fonts, and CI pipeline tooling.
View pricing