# Immediate-Mode-UI/Nuklear

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/immediate-mode-ui-nuklear).**

10,884 stars · 666 forks · C · other

## Links

- GitHub: https://github.com/Immediate-Mode-UI/Nuklear
- Homepage: https://immediate-mode-ui.github.io/Nuklear/
- awesome-repositories: https://awesome-repositories.com/repository/immediate-mode-ui-nuklear.md

## Topics

`c` `c89` `gui` `header-only` `imgui` `multiplatform` `nuklear` `single-header` `single-header-lib`

## Description

Nuklear is a minimal, header-only graphical user interface toolkit written in C. It utilizes an immediate-mode rendering model, where the interface is reconstructed and drawn directly within the application loop each frame. This approach eliminates the need for persistent widget state or complex synchronization between the interface and underlying application data.

The library is designed for portability and integration into resource-constrained environments. It requires the host application to manage memory manually, allowing it to function in systems that lack standard library support. By decoupling the interface logic from the graphics API, the library remains platform-agnostic, requiring only custom vertex and index buffer drawing functions to render elements.

The toolkit includes a built-in engine for UTF-8 glyph rasterization, enabling the display of international character sets and global languages without external text layout dependencies. Developers can customize the visual appearance and styling of interface elements to align with specific design requirements. The entire codebase is distributed as a single file to simplify integration and remove the need for external build systems.

## Tags

### User Interface & Experience

- [Immediate Mode GUI Toolkits](https://awesome-repositories.com/f/user-interface-experience/immediate-mode-gui-toolkits.md) — Provides a minimal header-only toolkit for rendering interfaces directly within an application loop.
- [C Language Toolkits](https://awesome-repositories.com/f/user-interface-experience/c-gui-toolkits/c-language-toolkits.md) — Provides a portable C-based interface library designed for single-file integration and manual memory control.
- [Embedded Visualization Frameworks](https://awesome-repositories.com/f/user-interface-experience/embedded-visualization-frameworks.md) — Offers a lightweight graphical library optimized for hardware with strict memory constraints.
- [Immediate Mode Graphical Interfaces](https://awesome-repositories.com/f/user-interface-experience/graphical-user-interfaces/gui-frameworks/immediate-mode-graphical-interfaces.md) — Renders graphical elements directly within the application loop to avoid persistent state management. ([source](https://immediate-mode-ui.github.io/Nuklear/))
- [Immediate-Mode Rendering](https://awesome-repositories.com/f/user-interface-experience/immediate-mode-rendering.md) — Rebuilds the entire user interface display state within the application loop every frame to eliminate persistent widget state.
- [Embedded UI Toolkits](https://awesome-repositories.com/f/user-interface-experience/embedded-ui-toolkits.md) — Integrates as a lightweight, single-file dependency to provide interface controls in resource-constrained environments. ([source](https://immediate-mode-ui.github.io/Nuklear/nuklear_8h_source.html))
- [Cross-Platform UI Toolkits](https://awesome-repositories.com/f/user-interface-experience/cross-platform-ui-toolkits.md) — Provides a portable interface toolkit that integrates into existing applications to ensure consistent user controls.
- [Text Rendering](https://awesome-repositories.com/f/user-interface-experience/styling-theming-systems/typography-and-iconography/text-rendering.md) — Supports international character sets and global languages within custom-styled user interface elements. ([source](https://immediate-mode-ui.github.io/Nuklear/))
- [Character Encoding Support](https://awesome-repositories.com/f/user-interface-experience/character-encoding-support/unicode-version-providers/character-encoding-support.md) — Includes a built-in engine for processing UTF-8 encoded text and rasterizing glyphs for international language support.

### Development Tools & Productivity

- [Single-Header Libraries](https://awesome-repositories.com/f/development-tools-productivity/single-header-libraries.md) — Distributes the entire codebase as a single header file to simplify integration and remove external build dependencies.

### Hardware & IoT

- [Embedded System Optimizations](https://awesome-repositories.com/f/hardware-iot/embedded-system-optimizations.md) — Optimizes graphical controls for resource-constrained hardware where minimal dependencies are critical.

### Graphics & Multimedia

- [Backend-Agnostic Rendering Pipelines](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/backend-agnostic-rendering-pipelines.md) — Decouples interface logic from graphics APIs by producing raw vertex and index buffers for custom rendering backends.

### Operating Systems & Systems Programming

- [Memory Management](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management.md) — Provides mechanisms for manual memory allocation and buffer management to support environments without standard library support.
- [Memory Allocation Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/memory-management/allocation-strategies/memory-allocation-libraries.md) — Enables manual control over memory allocation to ensure efficient operation in environments lacking automatic garbage collection. ([source](https://immediate-mode-ui.github.io/Nuklear/))
