Skip to content
Rodrigo Rivas Costa edited this page Apr 12, 2024 · 170 revisions

Index

Binding Generators

cimgui

https://github.com/cimgui/cimgui
Output C API + output metadata (see generator/output/ folder) which can be used to automatically generate other bindings.

dear_bindings

https://github.com/dearimgui/dear_bindings
Dear Bindings is tool to generate a C API for Dear ImGui, and metadata so other languages can easily generate their own bindings on top.
Less battle-tested than cimgui, but can generate a C API + metadata with full comments.


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...

Language Project
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
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/hxcpp linc_imgui: binding for imgui
https://github.com/Aidan63/linc_imgui
Haxe/Heaps 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 by @bitshifter/@rokups 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

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.

Other backends:

Framework Project
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 Cinder-ImGui:
https://github.com/cinder/Cinder/blob/master/include/cinder/CinderImGui.h
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
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 IrrIMGUI:
https://github.com/Armmegon/Irrlicht-ImGui
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 imgui_impl_marmalade:
backend + example
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 NimGL:
https://github.com/nimgl/nimgl
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) wut/GX2:
https://github.com/GaryOderNichts/imgui
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 rlImGui:
https://github.com/raylib-extras/rlImGui
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
Sokol sokol-samples:
https://github.com/floooh/sokol-samples/blob/master/glfw/imgui-glfw.cc
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 imgui-uwp:
https://github.com/ahmed605/imgui-uwp
https://github.com/ocornut/imgui/pull/6579
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

Purpose Project
Software renderer imgui_software_renderer
https://github.com/emilk/imgui_software_renderer
Software renderer ImFastRast
https://github.com/malamanteau/ImFastRast
Software renderer ImSoft
https://github.com/LAK132/ImSoft
ImGui on Arduino example ImDuino
https://github.com/LAK132/ImDuino
Retained framework DearPyGui A retained framework build over Dear ImGui
https://github.com/hoffstadt/DearPyGui

Ports, Rewrites, Clones

(notable rewrites or clones, those are not supported on this repository)

Language Project
Javascript 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