Target all platforms.
One set of components, everywhere. Responsive design.
Which platforms does Slint support from a single codebase?
Slint compiles the same .slint UI natively to desktop (Windows, macOS, Linux), mobile (Android and iOS), embedded devices and microcontrollers, and the web via WebAssembly.
What are the minimum requirements to run Slint on embedded?
Slint's runtime fits in under 300 KiB of RAM and runs on microcontrollers and embedded Linux, on bare metal or an RTOS, with or without a GPU.
Does Slint need a GPU?
No. You pick the renderer when you build: GPU-accelerated where the device has a GPU, or a software renderer (full framebuffer or line-by-line) where it doesn't.
How does Slint run in the browser?
Slint compiles to WebAssembly and renders to a canvas, so the same .slint UI used on desktop and embedded runs in any modern browser with zero install.
Is a Slint desktop app lighter than an Electron app?
Yes. Slint compiles to native code and does not bundle a browser engine, so applications start faster and use far less memory and disk than a typical Electron app.
Which languages can I use to build a Slint app?
Rust, C++, JavaScript/TypeScript and Python on desktop and embedded Linux. Microcontrollers support Rust and C++; iOS and Android are Rust only. The .slint UI is the same whichever you use.
How much RAM does Slint need?
Slint's runtime fits in under 300 KiB of RAM. On a microcontroller it can render line-by-line from a small line buffer instead of a full-screen framebuffer, usually the largest RAM consumer, so a smaller, cheaper part is often enough. It has run on an RP2040 with 264 KB of RAM.
Does Slint need a framebuffer?
No. Slint's software renderer can draw line-by-line into a small line buffer, so a full-screen framebuffer is optional: the single biggest RAM saving on a memory-constrained device. When a GPU or a full framebuffer is available, Slint uses it.
Does Slint run on an RTOS like FreeRTOS, Zephyr or QNX?
Yes. Slint is independent of the operating system: it runs on bare metal with your own event loop, or on an RTOS such as FreeRTOS, Zephyr or QNX, as well as on embedded Linux.
Embedded
Microcontroller
Under 300 KiB of RAM
on ARM and RISC-V.
Line-by-line rendering
where RAM is limited.
Uses on-chip 2D accelerator
instead of doing every blit on the CPU.
Microprocessor
Direct rendering
Supports DRM/KMS and Wayland.
GPU-accelerated rendering
Via OpenGL ES or Vulkan. Software rendering as fallback.
Yocto and Buildroot
Ships as a Yocto layer (meta-slint) or via Buildroot.
Desktop
Secure by design
No browser runtime means no CVEs to patch.
Desktop integration
Native menu bars, pop-ups, and system trays.
Multiple windows and high-DPI displays
Mobile
Companion apps
The same UI codebase shared with the hardware it controls.
Deployment
Build with XCode and Android Studio. Deploy to app stores.
Less RAM needed
Slint uses 22% less memory than Flutter for the same UI.
Browser
Compiled to WebAssembly
The same .slint compiles ahead of time to a WebAssembly module.
GPU-accelerated
Rendered on the GPU so animations stay smooth.
Responsive design
Scale easily to different screen sizes and resolutions.