What Is Kirigami and How Does It Help Build Cross-Platform Applications?
Updated
Kirigami is a UI framework from KDE for building convergent applications — apps that run on phones, TVs, desktops, and everything in between from a single codebase. It is built on top of Qt and the KDE Frameworks, so if you already write Qt/QML code, Kirigami gives you ready-made components and layout patterns that adapt to different screen sizes and input methods. It is the right choice when you want one application to feel native on both desktop Linux and mobile or embedded targets, rather than maintaining separate UIs per platform.
What Kirigami actually is
Kirigami is a set of QML components and design conventions layered on Qt Quick. Instead of hand-rolling navigation, page structure, and adaptive layouts for each form factor, you compose your interface from Kirigami's building blocks and let them respond to the available space.
The KDE Developer Platform describes it as a way to "build convergent apps that run on phones, TVs and everything in between," noting that "applications using Kirigami adapt brilliantly to mobile, desktop, TVs, infotainment systems and everything in between."
Two properties matter most for cross-platform work:
- Adaptive components — the same UI rearranges itself as the window or screen changes, rather than requiring separate mobile and desktop layouts.
- Consistent, defined workflow — Kirigami ships opinionated components and a clearly defined workflow, so you spend less time inventing navigation patterns and more time on your app's actual features.
How it helps with cross-platform development
One codebase, many targets
Because Kirigami sits on Qt, the same application can be deployed across desktop Linux, Android, Windows, macOS, embedded systems, and more. The KDE platform page frames this as "Develop once, deploy everywhere," with KDE technologies working on every platform Qt supports.
Convergence instead of separate UIs
The line between desktop and mobile is blurring, and users expect comparable quality on every device. Kirigami's components are designed to look good and stay consistent across form factors, and the framework provides a defined workflow so your app behaves predictably whether it is running on a phone, a TV, or a desktop.
A foundation you don't have to build
Kirigami is part of the broader KDE stack. KDE Frameworks covers roughly 80 add-on libraries for programming with Qt, all tested in real-world scenarios and documented, and distributed under LGPL or MIT licenses. That means the adaptive UI layer is backed by a large, permissively licensed library set rather than being a standalone widget kit.
When Kirigami is a good fit
| Situation | Kirigami fits well? |
|---|---|
| You want one app on desktop and mobile | Yes — convergence is its core purpose |
| You are already using Qt/QML | Yes — it builds directly on that stack |
| You need permissive licensing | Yes — KDE libraries use LGPL or MIT |
| You want a large, documented component ecosystem | Yes — backed by ~80 KDE Frameworks libraries |
| You are targeting a non-Qt toolkit | No — Kirigami depends on Qt |
Getting started
- Learn the KDE development basics. The platform's Tutorials section covers how to develop KDE software, which gives you the QML and Frameworks context Kirigami assumes.
- Read the design guidance. KDE's human interface guidelines explain the conventions Kirigami components follow, so your app looks and behaves consistently with the ecosystem.
- Explore Kirigami specifically. The platform provides a dedicated Kirigami entry point for making your next KDE application.
- Check the API docs. API documentation for KDE's development libraries is available when you need details on specific components.
- Pick an IDE. KDevelop is a cross-platform IDE for C, C++, Python, QML/JavaScript, and PHP — useful since Kirigami apps are typically written in QML.
The expected result at the end of this path is a single QML application whose interface adapts across the platforms Qt supports, using components you did not have to design from scratch.
Common sticking points
- Assuming convergence is automatic. Kirigami provides adaptive components, but you still choose how your content reflows. The framework gives you the tools; the layout decisions are yours.
- Skipping the design guidelines. Kirigami's value includes consistency. Ignoring KDE's HIG works against that.
- Forgetting the Qt dependency. Kirigami is not a standalone toolkit — it inherits Qt's platform support and constraints.
For the authoritative component list, licensing text, and current documentation, start at the KDE Developer Platform and follow its Kirigami and API sections.