← All open source projects

Dear ImGui

ocornut/imgui

Dear ImGui is an immediate-mode GUI library for C++ tools, engines, debug panels, and internal editors.

Forks 11,801
Author ocornut
Language C++
License MIT
Synced 2026-06-11

What it is

Dear ImGui is an immediate-mode GUI library for C++. It is commonly used in game engines, graphics applications, debug tools, internal editors, and prototypes where a fast interface is needed on top of an existing renderer.

The ocornut/imgui repository has been on GitHub since 2014. Its primary language is C++, and the license is MIT. The project keeps dependencies minimal and does not try to be a classic desktop UI platform; its strength is fast tooling near a real-time application.

What is inside

Inside are the Dear ImGui core, integration examples, a demo window, documentation, and adapters for graphics and windowing systems. Integration usually means wiring mouse/keyboard input, uploading a font texture to the GPU, and providing triangle rendering.

Immediate-mode style

This example shows the core principle: the interface is described every frame next to program state. That is useful for tools where UI reflects engine or scene parameters.

Language: Plain text
ImGui::Begin("Debug");
ImGui::Text("Frame time: %.3f ms", frame_ms);
ImGui::Checkbox("Show bounds", &show_bounds);
ImGui::SliderFloat("Exposure", &exposure, 0.0f, 4.0f);
ImGui::End();

Where it helps

Dear ImGui works well for debug panels, level editors, parameter visualization, internal artist and developer tools, profilers, and prototypes. It is loved where adding a control quickly matters more than building a polished customer-facing UI.

That does not mean Dear ImGui has to look bad. Its philosophy is simply different: the interface serves the tool, lives near the code, and changes quickly with the task.

Strengths and tradeoffs

The strength is integration speed and low ceremony. A parameter window can be added in minutes and immediately change application state. For internal tools, that can be more valuable than a complex widget system.

The tradeoff is scope. Dear ImGui does not replace native interfaces, accessibility work, complex layout, or consumer product UI. It shines as an engineering panel inside an application, not as the only interface for a large product.