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

  1. 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.
  2. 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.
  3. Explore Kirigami specifically. The platform provides a dedicated Kirigami entry point for making your next KDE application.
  4. Check the API docs. API documentation for KDE's development libraries is available when you need details on specific components.
  5. 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.