What is Dear ImGui?
Dear ImGui is a bloat-free graphical user interface library for C++. It outputs optimized vertex buffers that you can render anytime in your 3D-pipeline-enabled application. It is fast, portable, renderer agnostic, and self-contained with no external dependencies. Dear ImGui is designed to enable fast iterations and to empower programmers to create content creation tools and visualization/debug tools (as opposed to UI for the average end-user). It favors simplicity and productivity toward this goal and lacks certain features commonly found in more high-level libraries.Get started
Create your first Dear ImGui application in minutes
Integration guide
Add Dear ImGui to your existing project
API reference
Explore the complete Dear ImGui API
Examples
Browse 20+ working example applications
Key features
Immediate mode paradigm
The IMGUI paradigm minimizes state synchronization, state duplication, and state retention from the user’s point of view. It is less error-prone than traditional retained-mode interfaces and lends itself to creating dynamic user interfaces.Portable and self-contained
- No external dependencies - all files in the root folder compile together
- Platform agnostic - runs anywhere you can render textured triangles
- Renderer agnostic - works with DirectX, OpenGL, Vulkan, Metal, WebGPU, and more
- Battle-tested - used by major game studios and tools worldwide
Simple integration
Dear ImGui outputs vertex buffers and command lists that you render in your application. The library doesn’t touch graphics state directly - you maintain full control.Use cases
Dear ImGui is particularly suited to:Game engine tools - Level editors, asset browsers, debugging overlays
Data visualization - Real-time graphs, profilers, metrics dashboards
Development tools - Debuggers, memory editors, console interfaces
3D applications - CAD tools, animation software, simulation controls
Dear ImGui is designed for programmers and tools, not for end-user applications. Full internationalization and advanced accessibility features are not supported.
Design philosophy
Dear ImGui follows several core principles:- Minimize state synchronization - Reduce the need to keep UI state in sync with application state
- Minimize setup and maintenance - Get running quickly without complex initialization
- Easy to use for dynamic UI - Reflection of dynamic data sets and runtime conditions
- Easy to hack and improve - Simple, readable C++ code
- Efficient - Optimized runtime performance and memory consumption
- Portable - Runs on desktop, mobile, consoles, and embedded systems
Community and support
GitHub Discussions
Get help from the community
Demo & Examples
Try the interactive demo online
Gallery
See what others are building
Production ready
Dear ImGui is used by hundreds of major projects including:- Tracy Profiler - Real-time CPU/GPU profiler
- ImHex - Hex editor and data analysis tool
- RemedyBG - High-performance debugger
- Game engines - Unreal Engine, Unity (via plugins), custom engines
- AAA game studios - Used in shipped titles across all platforms
Dear ImGui is free and open source under the MIT license, but relies on community support for continued development. Consider sponsoring the project if you use it commercially.
Next steps
Quickstart guide
Build your first Dear ImGui application
Integration guide
Add Dear ImGui to an existing project