Immediate-Mode-UI/Nuklear
FreeA single-header ANSI C immediate mode cross-platform GUI library
About Immediate-Mode-UI/Nuklear
Nuklear is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It is designed as a simple embeddable UI for applications, with no dependencies, no default render backend, and no OS window/input handling. Instead, it provides a modular, library-based approach with simple input state and draw commands describing primitive shapes as output. The library is a single-header, written in C89 (ANSI C), with a small codebase (~18kLOC) focusing on portability, efficiency, and simplicity. It is fully skinnable, customizable, supports UTF-8, has low memory footprint with total control of memory usage, and offers optional font baker and vertex buffer output. There is no global or hidden state, and library modules can be customized to compile only what is needed.
Key Features
Pros & Cons
- No external dependencies (not even standard library)
- Highly portable across platforms and compilers
- Free and open source (public domain)
- Small memory footprint with explicit control
- Fully customizable look and feel
- Supports UTF-8 text rendering
- Self-contained single-header file simplifies integration
- No built-in render backend or window/input handling (requires manual integration)
- Immediate-mode paradigm may be less intuitive for developers used to retained-mode UIs
- Limited built-in widget set (user must implement complex layouts)
- Not ideal for highly complex or data-driven UIs due to immediate-mode overhead