ocornut /imgui

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

★ 77,041⑂ 12,106👁 1,077⑃ 1,812● 6,963▤ 123◈ 405
C++MITCreated 2014-07-21
77,041
stars
+11+107+546
12,106
forks
1,077
watchers
1,812
prs
6,963
issues
123
releases
405
discussions

README

Dear ImGui
=====

"Give someone state and they'll have a bug one day, but teach them how to represent state in two separate locations that have to be kept in sync and they'll have bugs for a lifetime." -ryg

----

  

(This library is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addition to maintenance and stability there are many desirable features yet to be added. If your company is using Dear ImGui, please consider reaching out.)

Businesses: support continued development and maintenance via invoiced sponsoring/support contracts:
  _E-mail: contact @ dearimgui dot com_
Individuals: support continued development and maintenance here. Also see Funding page.

| The Pitch - Usage - How it works - Releases & Changelogs - Demo - Getting Started & Integration |
:----------------------------------------------------------: |
| Gallery - Support, FAQ -  How to help - Funding & Sponsors - Credits - License |
| Wiki - Extensions - Language bindings & framework backends - Software using Dear ImGui - User quotes |

 The Pitch

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 (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. Among other things, full internationalization (right-to-left text, bidirectional text, text shaping etc.) and accessibility features are not supported.

Dear ImGui is particularly suited to integration in game engines (for tooling), real-time 3D applications, fullscreen applications, embedded applications, or any applications on console platforms where operating system features are non-standard.

 - Minimize state synchronization.
 - Minimize UI-related state storage on user side.
 - Minimize setup and maintenance.
 - Easy to use to create dynamic UI which are the reflection of a dynamic data set.
 - Easy to use to create code-driven and data-driven tools.
 - Easy to use to create ad hoc short-lived tools and long-lived, more elaborate tools.
 - Easy to hack and improve.
 - Portable, minimize dependencies, run on target (consoles, phones, etc.).
 - Efficient runtime and memory consumption.
 - Battle-tested, used by many major actors in the game industry.

 Usage

The core of Dear ImGui is self-contained within a few platform-agnostic files which you can easily compile in your application/engine. They are all the files in the root folder of the repository (imgui.cpp, imgui.h). No specific build process is required: you can add all files into your existing project.

Backends for a variety of

Top issues

Discussions

Latest release

v1.93.0 v1.93.0 2026-10-14
Dear ImGui v1.93.0 🎨🖌️ 

✋ Reading the changelog is a good way to keep up to date with whaat Dear ImGui has to offer, and will give you ideas of some features that you've been ignoring until now!
📣 If you are browsing multiple releases: click version number above to display full release note contents, otherwise it is badly clipped by GitHub!

---

Links: Homepage - Release notes - FAQ - Issues, Q&A. Also see our Wiki with sections such as..
- Getting Started (~25 lines in an existing app)
- Useful Extensions/Widgets
- Software using Dear ImGui
- Language Bindings & Engine Backends 

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON