Table of Contents
- Index
- Binding Generators
- Language Bindings
- Beef
- C
- C#/.Net
- C++17
- ChaiScript
- CovScript
- Crystal
- D
- Go
- Haskell
- Haxe
- Java
- JavaScript
- Julia
- Kotlin
- Lobster
- Lua
- Nim
- Odin
- Pascal
- PureBasic
- Python
- ReaScript
- Ruby
- Rust
- Swift
- Zig
- Framework/Engine Backends
- AGS / Adventure Game Studio
- Amethyst
- Blender
- bsf
- Cinder
- Cocos2d-x
- Defold
- Diligent Engine
- Ebiten
- Flexium
- GLEQ
- GML / GameMaker Studio 2
- Godot
- GTK3 + OpenGL3
- Irrlicht Engine
- JUCE
- LÖVE+LUA
- Mach engine
- Magnum
- Marmalade
- Monogame
- NanoRT
- nCine
- Nim Game Lib
- Nintendo 3DS (homebrew)
- Nintendo Switch (homebrew)
- Nintendo Wii U (homebrew)
- Ogre
- openFrameworks
- OpenSceneGraph/OSG
- Orx
- Photoshop
- px_render
- raylib
- RGFW
- Qt
- SDL_Renderer
- SFML
- Slang Graphics Layer
- Sokol
- Unity
- Unreal Engine
- UWP
- vtk
- VulkanHpp
- VulkanSceneGraph
- vvvv
- Win32 GDI renderer
- WxWidgets
- Miscellaneous
- Ports, Rewrites, Clones
(we had to turn off wiki editing, see Home for details. you may post meaningful wiki diff in issues)
Index
- Binding Generators
- Language Bindings (C, C#, Rust, Zig & many more)
- Framework/Engine Backends (Unreal, Unity, Godot & many more)
- Miscellaneous
- Ports, Rewrites, Clones
Binding Generators
cimgui
https://github.com/cimgui/cimgui (2015-2024)
Output C API + output metadata (see generator/output/
folder) which can be used to automatically generate other bindings.
(Important: if your generator uses cimgui with imgui_internal.h parsing: both imgui.h and imgui_internal.h contents are output in the same file! PLEASE use the "location" metadata to detect internal contents and expose them differently to your users (e.g. separate namespace). Please do not expose internal contents to your users without them knowing about it!)
dear_bindings
https://github.com/dearimgui/dear_bindings (2021-2024)
Dear Bindings generates a C API for Dear ImGui, and metadata so other languages can easily generate their own bindings on top.
Can parse imgui.h, imgui_internal.h etc. and generate neatly decorated C versions (full comments, alignment).
litgen
https://pthom.github.io/litgen (2022-2024)
litgen is an automatic bindings generator from C++ to Python. It emits binary bindings and preserves the original documentation in a python stub (comparable to a C header file): compare imgui.h to its python translation. It can produce bindings for Dear ImGui and other libraries. It is used to maintain up to date bindings inside Dear ImGui Bundle (link).
Language Bindings
Note: those bindings may be more or less maintained, more or less close to the spirit of original API. People who create language bindings sometimes haven't used the C++ API themselves. Dear ImGui was designed for C++ and some of the subtleties may be lost in translation with other languages. If your language supports it, I would suggest replicating the function overloading and default parameters used in the original, else the API may be harder to use. In doubt, always check the original C++ version first!
Now on to the list...
Beef
- imgui-beef: auto-generated Beef wrapper library for Dear ImGui
https://github.com/RogueMacro/imgui-beef
C
- cimgui: auto-generated c-api wrapper for Dear ImGui
**(metadata output from cimgui can be used to automatically generate other bindings)**
https://github.com/cimgui/cimgui - dear_bindings: auto-generated c-api wrapper for Dear ImGui
**(metadata output from cimgui can be used to automatically generate other bindings)**
https://github.com/dearimgui/dear_bindings
C#/.Net
- ImGui.NET: An ImGui wrapper for .NET Core
https://github.com/mellinoe/ImGui.NET - DearImGui: imgui + implot for .NET + a controller for OpenGL (OpenTK)
https://github.com/aybe/DearImGui - Hexa.NET.ImGui: A .NET wrapper for the Dear ImGui.
https://github.com/HexaEngine/Hexa.NET.ImGui
C++17
- ImGuiWrapper: CMakeList wrapper and C++17 RAII encapsulation for accessing Imgui
ChaiScript
- imgui-chaiscript: ChaiScript bindings for ImGui
https://github.com/JuJuBoSc/imgui-chaiscript
CovScript
- covscript-imgui: ImGui Extension for CovScript (Covariant)
https://github.com/covscript/covscript-imgui
Crystal
- crystal-imgui: Crystal bindings to Dear ImGui
https://github.com/oprypin/crystal-imgui
D
- BindBC-ImGui: Static & dynamic bindings to Dear ImGui, compatible with BetterC, @nogc, and nothrow.
https://github.com/BindBC/bindbc-imgui - DerelictImgui: Dynamic bindings to cimgui for the D programming language
https://github.com/Extrawurst/DerelictImgui
Go
- cimgui-go: Go wrapper library for "Dear ImGui"
https://github.com/AllenDang/cimgui-go
Haskell
- dear-imgui.hs: Haskell bindings to Dear ImGui,
https://github.com/haskell-game/dear-imgui.hs - imgui-haskell: Haskell bindings for Dear ImGui
https://github.com/dbousamra/imgui-haskell
Haxe
- linc_imgui: binding for imgui (Haxe/hxcpp)
https://github.com/Aidan63/linc_imgui - hlimgui: Heaps game engine binding for Dear ImGui
https://github.com/haddock7/hlimgui
Java
- jimgui: Pure Java binding for dear imgui
https://github.com/ice1000/jimgui - imgui-java: JNI based binding for Dear ImGui
https://github.com/SpaiR/imgui-java
JavaScript
- imgui-js: JavaScript bindings for Dear ImGui using Emscripten and TypeScript
https://github.com/flyover/imgui-js + also see web demo
Julia
- CImGui.jl: Julia wrapper for cimgui
https://github.com/Gnimuc/CImGui.jL
Kotlin
- kotlin-imgui: Kotlin bindings for Dear ImGui
https://github.com/Dominaezzz/kotlin-imgui
Lobster
- imgui.lobster:
http://strlen.com/lobster/
Lua
- LuaJIT-ImGui: LuaJIT ffi binding for imgui and implementations
https://github.com/sonoro1234/LuaJIT-ImGui - imgui_lua_bindings: imgui bindings for lua (also see LÖVE binding)
https://github.com/casssoft/imgui_lua_bindings (unmaintained)
https://github.com/megumumpkin/imgui_lua_bindings (up to date fork) - lua-ffi-bindings: FFI bindings for LuaJIT
https://github.com/thenumbernine/lua-ffi-bindings - sol2_imgui_bindings: ImGui bindings for Sol2
https://github.com/MSeys/sol2_ImGui_Bindings - Gideros_ImGui: ImGui bindings for Gideros Studio
https://github.com/MultiPain/Gideros_ImGui
Nim
- nim-imgui: cimgui bindings for Nim
https://github.com/nimgl/imgui
Odin
- odin-imgui: Odin binding for Dear ImGui
https://gitlab.com/L-4/odin-imgui
Pascal
- imgui-pas: pascal bindings for imgui
https://github.com/dpethes/imgui-pas
PureBasic
- pb-cimgui: PureBasic interface to CImGui Wrapper
https://github.com/hippyau/pb-cimgui
Python
- pyimgui: Cython-based Python bindings for dear imgui
https://github.com/swistakm/pyimgui - Bimpy: Bundled imgui for python
https://github.com/podgorskiy/bimpy - CyImGui: Python bindings for ImGui using Cython. (obsolete)
https://github.com/chromy/cyimgui - Ogre-imgui:
https://github.com/OGRECave/ogre-imgui - deargui: Python bindings for dear imgui, generated with clang and pybind11
https://github.com/cammm/deargui - Dear ImGui Bundle: autogenerated bindings and stubs for ImGui (as well as ImPlot, ImGuizmo, node-editor, etc.)
https://github.com/pthom/imgui_bundle - Also see DearPyGui below for a RM-style framework.
ReaScript
- ReaImGui: ReaScript binding and REAPER backend for Dear ImGui
https://forum.cockos.com/showthread.php?t=250419
Ruby
- ruby-imgui: Yet another ImGui wrapper for Ruby
https://github.com/vaiorabbit/ruby-imgui
Rust
- imgui-rs: Rust bindings for ImGui
https://github.com/imgui-rs/imgui-rs - imgui-rust: Alternative (personal) imgui rust bindings
https://github.com/nsf/imgui-rust - ImStrv Patch Branch features/string_view to use string-range more commonly instead of zero-terminated strings.
https://github.com/ocornut/imgui/pull/3038 - rust-imgui-opengl-renderer
https://github.com/michaelfairley/rust-imgui-opengl-renderer - easy-imgui-rs: Rust crates to build full GUI applications.
https://github.com/rodrigorc/easy-imgui-rs
Swift
- SwiftGui: an experimental API inspired by SwiftUI declarative code, using Dear ImGui and running on OSX and iOS.
https://github.com/erickjung/SwiftGUI - SwiftImGui: Swift wrapper around Dear imgui for macOS, iOS and linux
https://github.com/ctreffs/SwiftImGui - Swift-imgui: Dear ImGui Swift Wrapper API for macOS and iOS
https://github.com/mnmly/Swift-imgui
Zig
- zig-gamedev/zgui: Easy to use dear imgui bindings (includes ImPlot)
https://github.com/michal-z/zig-gamedev/blob/main/libs/zgui - Zig-ImGui: Zig bindings for ocornut/imgui, generated using cimgui/cimgui
https://github.com/SpexGuy/Zig-ImGui - zig-imgui: ImGui bindings for Zig, generated using dear bindings
https://github.com/pdoane/zig-imgui - zig_workbench
https://github.com/DarknessFX/zig_workbench
Framework/Engine Backends
Main repository include examples for DirectX9, DirectX10, DirectX11, DirectX12, Metal, OpenGL2/3, Vulkan, SDL_Renderer, iOS, WebGPU, using frameworks such as GLFW, SDL2, Win32, GLUT, Android, OSX/Cocoa, Allegro. See examples/ and BACKENDS.md for details.
AGS / Adventure Game Studio
- agsimgui: https://github.com/ericoporto/agsimgui
Amethyst
- amethyst-imgui: https://github.com/amethyst/amethyst-imgui
Blender
- BlenderImgui: https://github.com/eliemichel/BlenderImgui
bsf
- bsfimgui: https://github.com/pgruenbacher/bsfImgui
Cinder
Cocos2d-x
- imguix: https://github.com/c0i/imguix
- cocos2dx-imgui: https://github.com/Mjarkiew/cocos2dx-imgui, https://github.com/Xrysnow/cocos2d-x-imgui and #551
- ImGui for axmol: https://github.com/axmolengine/axmol/tree/dev/extensions/ImGui
Defold
- extension-imgui: https://github.com/britzl/extension-imgui
Diligent Engine
- DiligentTools: DiligentTools, example |
Ebiten
- ebiten-imgui: https://github.com/gabstv/ebiten-imgui
Flexium
- FlexGUI: https://github.com/DXsmiley/FlexGUI
GLEQ
- Event processing: #3034
GML / GameMaker Studio 2
- ImGuiGML: https://marketplace.yoyogames.com/assets/6221/imguigml
- ImGui_GM: https://nommiiin.itch.io/imgui-gm / https://github.com/nommiin/ImGui_GM
- Dear ImGui seems integrated in recent versions of GameMaker Studio.
Godot
- imgui-godot: https://github.com/pkdawson/imgui-godot
- godot-dear-imgui: https://github.com/Blackdrop-Interactive-AB/godot-dear-imgui
GTK3 + OpenGL3
- imgui_impl_gtk3: Unmerged PR: #2032
Irrlicht Engine
JUCE
- imgui_juce: https://github.com/Krasjet/imgui_juce
LÖVE+LUA
- love-imgui: https://github.com/slages/love-imgui
- love-imgui (fork): https://github.com/MikuAuahDark/love-imgui
- LuaJIT-ImGui (ffi): https://github.com/sonoro1234/LuaJIT-ImGui
- cimgui-love (ffi): https://codeberg.org/apicici/cimgui-love
Mach engine
- mach/imgui: https://github.com/machlibs/imgui
Magnum
- magnum-integration: https://github.com/mosra/magnum-integration, doc, example
Marmalade
Monogame
- ImGui.NET for MonoGame: https://github.com/roy-t/ImGui.NET
NanoRT
- imgui_impl_raytrace: https://github.com/syoyo/imgui/tree/nanort/examples/raytrace_example
nCine
- nCine Out-of-the-box integration: https://github.com/nCine/nCine and example 1, example 2
Nim Game Lib
Nintendo 3DS (homebrew)
- libctru/libcitro3d: https://github.com/mtheall/ftpd/tree/master/source/3ds
Nintendo Switch (homebrew)
- libnx/libdeko3d: https://github.com/mtheall/ftpd/tree/master/source/switch
https://github.com/scturtle/imgui_deko3d_example
Nintendo Wii U (homebrew)
Ogre
- ogre-imgui: https://github.com/OGRECave/ogre-imgui
openFrameworks
- ofxImGui: https://github.com/jvcleave/ofxImGui
OpenSceneGraph/OSG
- imgui-osg: https://github.com/Tordan/imgui-osg and older gist: https://gist.github.com/fulezi/d2442ca7626bf270226014501357042c
Orx
- ImGuiOrx: https://github.com/thegwydd/ImGuiOrx (was #1843)
Photoshop
- Recipe: Custom UI for plug-ins using Dear ImGui: https://sonictk.github.io/ps_cpp_recipes/#recipe:customuiforplug-insusingimgui, https://github.com/sonictk/ps_cpp_recipes
px_render
- px_render_imgui.h: https://github.com/pplux/px/blob/master/px_render_imgui.h (was #1935)
raylib
RGFW
- imgui_imp_rgfw.h: https://github.com/ColleagueRiley/imgui_imp_rgfw.h
Qt
- imgui-qt3d: https://github.com/alpqr/imgui-qt3d
- QQuickItem (qrhiimgui2): Qt >= 6.4 https://github.com/alpqr/qrhiimgui2
Has a sample to integrate it in a QWindow if not using QtQuick. Supports imgui 1.87+ - QQuickItem (qrhiimgui): Qt >= 6 https://github.com/alpqr/qrhiimgui
Has a sample to integrate it in a QWindow if not using QtQuick. IMPORTANT: Requires a patch merged in a newer version of Qt 6 in order to use it in QML. Consider using qrhiimgui2 instead. - QQuickItem (imgui-qtquick): OpenGL only, Qt 5+: https://github.com/alpqr/imgui-qtquick
- QOpenGLWindow (qtimgui): https://github.com/seanchas116/qtimgui
- QtDirect3D: https://github.com/giladreich/QtDirect3D
SDL_Renderer
imgui_sdl: https://github.com/Tyyppi77/imgui_sdl- We now have an official imgui_impl_sdlrenderer2 backend.
SFML
- imgui-sfml: https://github.com/SFML/imgui-sfml
Slang Graphics Layer
Sokol
Unity
- dear-imgui-unity: https://github.com/realgamessoftware/dear-imgui-unity
- uimgui: https://github.com/psydack/uimgui
Unreal Engine
- UnrealImGui:
- original: https://github.com/segross/UnrealImGui (2017-2021)
- fork: https://github.com/benui-dev/UnrealImGui (2022-2023)
- fork: https://github.com/IDI-Systems/UnrealImGui (2022-2023)
- alt: https://github.com/sleeptightAnsiC/ImGui-for-Blueprints (2022) - VesCodes/ImGui (2023-2024) (w/ docking and multi-viewports) https://github.com/VesCodes/ImGui
- UnrealImGuiDocker (2023) (w/ docking and multi-viewports): https://github.com/Sharundaar/UnrealImGuiDocker
- UnrealEngine_ImGui (2017): https://github.com/sronsse/UnrealEngine_ImGui
- UnrealNetImgui (plugin for NetImgui, 2020-2024): https://github.com/sammyfreg/UnrealNetImgui
- Also see: Useful Extensions: Unreal Engine specific for: Cog, PropertyWatcher, UnrealImGuiTools etc.
UWP
vtk
- imgui-vtk: https://github.com/trlsmax/imgui-vtk
- vtkDearImGUIInjector: https://github.com/jspanchu/vtkDearImGUIInjector
- vtkImGuiAdapter: https://github.com/phcerdan/vtkImGuiAdapter
VulkanHpp
- ImGui-VulkanHpp: https://github.com/takiyu/ImGui-VulkanHpp
VulkanSceneGraph
- vsgImGui: https://github.com/vsg-dev/vsgImGui
vvvv
- VL.ImGui: https://github.com/vvvv/VL.StandardLibs/tree/main/VL.ImGui (shipping with vvvv out-of-the-box)
Win32 GDI renderer
- imgui_impl_gdi: Unmerged PR: #2724
WxWidgets
- wxImGuiCanvas.h: https://github.com/ocornut/imgui/issues/1029
Miscellaneous
Software Renderers
- imgui_software_renderer
https://github.com/emilk/imgui_software_renderer | - ImFastRast
https://github.com/malamanteau/ImFastRast | - ImSoft
https://github.com/LAK132/ImSoft | - ImDuino
https://github.com/LAK132/ImDuino |
Retained Frameworks over Dear ImGui
- DearPyGui A retained framework build over Dear ImGui
https://github.com/hoffstadt/DearPyGui - Omniverse Kit
https://www.nvidia.com/en-us/omniverse/
Ports, Rewrites, Clones
(notable rewrites or clones, those are not supported on this repository)
Javascript Port
- imgui-njs: imgui-njs is a manual-port / partial-rewrite of dear imgui
https://github.com/cannerycoders/imgui-njs
Kotlin
- dear jvm imgui: full JVM port/rewrite
https://github.com/kotlin-graphics/imgui
Roblox
- Iris: Iris is an Immediate mode GUI Library for Roblox, Based on Dear ImGui
https://github.com/Michael-48/Iris