ocornut/imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 6 minutes ago
Added to GitGenius on June 21st, 2026
Created on July 21st, 2014
Open Issues & Pull Requests: 1,227 (+0)
GitHub issues: Enabled
Number of forks: 12,047
Total Stargazers: 76,277 (+0)
Total Subscribers: 1,101 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.0 hours
Mean response time: 19.6 days
90th percentile: 4.9 days
Tracked items: 1,878

How this project is maintained

About 4% of issues opened in the past year have never received a reply. 89% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 77% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. 71% of issues opened in the past year have been closed, leaving a working backlog. Three people close 73% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 538
New in 7 days: 4
Closed in 7 days: 6
Avg open age: 1,061 days
Stale 30+ days: 518
Stale 90+ days: 488

Recent activity

Opened in 7 days: 4
Closed in 7 days: 6
Comments in 7 days: 20
Events in 7 days: 64

Top labels

  • backends (464)
  • font/text (208)
  • bug (180)
  • multi-viewports (146)
  • inputs (122)
  • drawing/drawlist (107)
  • inputtext (101)
  • docking (99)

Detailed Description

Dear ImGui is a bloat-free graphical user interface library for C++ designed specifically for creating content creation tools, visualization tools, and debug interfaces rather than end-user applications. The library outputs optimized vertex buffers that integrate seamlessly into 3D-pipeline-enabled applications, making it particularly well-suited for game engines, real-time 3D applications, fullscreen applications, and embedded systems where operating system features may be non-standard or unavailable.

The core philosophy of Dear ImGui centers on minimizing state synchronization and state duplication. Rather than requiring developers to maintain separate UI state that must be kept in sync with application data, the immediate mode GUI paradigm allows developers to describe the UI directly from their application state on each frame. This approach reduces bugs and simplifies the creation of dynamic user interfaces that reflect changing data sets. The library is intentionally designed to be fast, portable, and renderer-agnostic, with no external dependencies beyond what is necessary for basic functionality.

The technical implementation of Dear ImGui is notably straightforward. The core library consists of a few platform-agnostic C++ files in the repository root that can be directly compiled into any existing project without requiring a specific build process. Additional backends for various graphics APIs and rendering platforms are provided in the backends folder, along with example applications demonstrating integration patterns. This modular approach allows developers to create their own backends for custom rendering systems, as the library only requires the ability to render textured triangles.

A critical distinction that Dear ImGui emphasizes is that immediate mode GUI does not mean immediate mode rendering. The library does not hammer the GPU with inefficient draw calls. Instead, it generates optimized vertex buffers and command lists that can be rendered at any point in the application's rendering pipeline, resulting in a small number of well-batched draw calls and state changes.

This cross-pollination reflects Dear ImGui's widespread adoption in professional development environments.

Dear ImGui is particularly suited for rapid iteration and prototyping, supporting workflows where developers can add UI elements to tweak variables during runtime using modern compiler features like Edit and Continue, then remove the code minutes later. The library enables creation of elaborate tools ranging from simple variable tweakers to complete game-making editors and frameworks, profilers, debuggers, loggers, and inspection tools. The demo window accessible via ImGui::ShowDemoWindow() showcases available features with accompanying source code in imgui_demo.cpp, and a web-based explorer version provides interactive exploration of capabilities.