immediate-mode-ui/nuklear

A single-header ANSI C immediate mode cross-platform GUI library

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 40 minutes ago
Added to GitGenius on September 5th, 2026
Created on November 26th, 2019
Open Issues & Pull Requests: 316 (+0)
GitHub issues: Enabled
Number of forks: 685
Total Stargazers: 11,383 (+0)
Total Subscribers: 134 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.1 days
Mean response time: 104.4 days
90th percentile: 278.0 days
Tracked items: 155

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 99% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 68% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 93
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 736 days
Stale 30+ days: 90
Stale 90+ days: 76

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Backend (3)
  • 5.x (1)
  • High Priority (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Nuklear is a single-header ANSI C immediate-mode GUI library designed for embedding user interfaces into applications with minimal dependencies and maximum portability.

The library solves the problem of adding cross-platform UI to C applications without requiring external dependencies or committing to a specific rendering backend. It uses an immediate-mode approach where the UI is rebuilt each frame from scratch, with the library accepting input state and producing draw commands for primitive shapes. Rather than abstracting over multiple platforms and renderers, Nuklear focuses solely on UI logic, leaving rendering and window handling to the caller. This modular design means developers integrate their own rendering backend, whether that is OpenGL, Vulkan, Direct3D, or a software renderer.

Nuklear suits projects that need lightweight, embeddable UI in C without external dependencies, particularly games, tools, and applications where control over memory and rendering is important. The single-header format makes integration straightforward—include the file in header-only mode by default, or define NK_IMPLEMENTATION in one compilation unit to include the implementation. The library is fully customizable and skinnable, supports UTF-8, and has a small codebase of approximately eighteen thousand lines of C89 code. Ready-to-use rendering backends for GLFW, SDL, X11, GDI, Direct3D, and Vulkan are provided in the demo folder to accelerate integration.

The project maintains a stable, minimal codebase with no hidden state and optional compilation of only needed modules. Development activity shows consistent maintenance of the core library and its example implementations across multiple rendering backends.