Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)

Imgui Alternatives

Similar projects and alternatives to imgui

  • GitHub repo nuklear

    imgui VS nuklear

    A single-header ANSI C immediate mode cross-platform GUI library (by Immediate-Mode-UI)

  • GitHub repo wxWidgets

    imgui VS wxWidgets

    Cross-Platform GUI Library - Report issues here:

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo nana

    imgui VS nana

    a modern C++ GUI library

  • GitHub repo NanoGUI

    imgui VS NanoGUI

    Minimalistic GUI library for OpenGL

  • GitHub repo egui

    imgui VS egui

    egui: an easy-to-use immediate mode GUI in pure Rust

  • GitHub repo FLTK

    imgui VS FLTK

    FLTK - Fast Light Tool Kit - - cross platform GUI development

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo GTK+

    imgui VS GTK+

    Read-only mirror of (by GNOME)

  • GitHub repo SFML

    imgui VS SFML

    Simple and Fast Multimedia Library

  • GitHub repo FTXUI

    imgui VS FTXUI

    Features: - Functional style. Inspired by [1] and React - Simple and elegant syntax (in my opinion). - Support for UTF8 and fullwidth chars (→ 测试). - No dependencies. - Cross platform. Linux/mac (main target), Windows (experimental thanks to contributors), - WebAssembly. - Keyboard & mouse navigation. Operating systems: - linux emscripten - linux gcc - linux clang - windows msvc - mac clang

  • GitHub repo cray

    imgui VS cray

    A simple and easy-to-use library to enjoy videogames programming

  • GitHub repo LearnOpenGL

    imgui VS LearnOpenGL

    Code repository of all OpenGL chapters from the book and its accompanying website

  • GitHub repo notcurses

    imgui VS notcurses

    blingful character graphics/TUI library. definitely not curses.

  • GitHub repo imtui

    imgui VS imtui

    ImTui: Immediate Mode Text-based User Interface

  • GitHub repo cimgui

    imgui VS cimgui

    c-api for imgui ( Look at: for other widgets

  • GitHub repo monomer

    imgui VS monomer

    An easy to use, cross platform, GUI library for writing Haskell applications.

  • GitHub repo MyGUI

    imgui VS MyGUI

    Fast, flexible and simple GUI.

  • GitHub repo stb

    imgui VS stb

    stb single-file public domain libraries for C/C++

  • GitHub repo spdlog

    imgui VS spdlog

    Fast C++ logging library.

  • GitHub repo lvgl

    imgui VS lvgl

    Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better imgui alternative or higher similarity.

Suggest an alternative to imgui

Reviews and mentions

Posts with mentions or reviews of imgui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-17.
  • Idc what anyone says, this meny will allways be remeberd as the best it's a gui library that bbv2 uses
  • Is there a de-facto standard of C++ TUI library? | 2021-09-17
    I wouldn't call it standard, but is pretty cool. It puts over ncurses.
  • How did "learning to code" become synonymous to "learning front end web development" for so many people?
    Ah yes Robotics! Im glad someone mentioned it. The biggest elephant in the room imo. Also cool to see youre working on webapps. QT can be a pain and it has not aged well. A nice alternative was imgui if you're targeting desktops but as you found react is the clear winner. React has a nice foundation to optimize the render component. The render components are fantastic! What kind of rendering are you doing? Do you plan to expand the native components for your webapp?
  • Making UI for an engine
    I'm also using Dear ImGui and definitely recommend it. It's under active development and continues to improve regularly. Writing immediate mode GUI code takes a little getting used to if you're coming from other backgrounds, but it's very easy to use once you get going with it. If you ever get stuck or need to figure out how to use a particular widget, check out the imgui demo code, it's got tons of examples of how to do stuff.
  • Best lenguage for making a game from scratch? | 2021-09-08
    I absolutely agree with C++/OpenGL/GLFW. I would add Dear Imgui for ui, GLM for math. Bonus: CMake is great if you want to have a clean project that you can share on github. And you can use the CLion IDE which is awsome for C++. I have been making an engine myself with a similar setup that you can checkout here. | 2021-09-08
    If you don't want to use an engine, but you don't want to go into OS specific stuff:
  • Is there SDL2 ready to use dialogs/controls? | 2021-09-08
    Thanks, this seems to be just what is needed. If I understand correctly, your link is to renderer only, which is a "glue", and imgui repository is needed for controls implementation.
  • The operating system: should there be one? | 2021-09-07
    Dear ImGui does not support Arabic (right-to-left, glyph shaping) and will not support Arabic ( I don't think it supports accessibility either.

    As much as I struggle with Qt's APIs (aging janky Widgets, half-baked QML on the desktop, the item models are an impenetrable byzantine enterprisey API that's simultaneously too open-ended, not flexible enough since it imposes its add/remove/move schema on your model, and too buggy), building a GUI from the ground up is not going to give you internationalization or accessibility, and Qt is. | 2021-09-07
    I love the immediate mode style of developing, but ImGUI specifically, at least without third party patches and extensions, has very awkward and limited layout (for example, I'm still waiting for this to get merged[1], which would make it easier), its styling support is relatively minimal (but it can be made look pretty nice) and its accessibility support is non-existent. I also find the API slightly clunky, although its not bad once you get used to it.

    Overall, I really like Dear ImGUI and I love how easy it is to expose data to a UI through it. Its much more pleasant to use than a traditional retained mode widgets API. But Dear ImGUI isn't a good general purpose UI (nor was it designed to be one), although I could see the immediate mode API work well for one. I started making a complex editor for a toy engine in it and while it worked ok, the reasons above made me cut it back to just some basic in-engine stuff and the rest is exposed over an optional embedded web server module and a react app as the editor. Its only a toy, but you would use the in-engine ImGUI editor to see the scene rendered in-engine, move objects around etc, but you would use the react app to edit object properties, add assets and behaviours and whatnot. It made it much easier to create rich editors for things like behavior trees, node graphs, etc. Although since its just a toy, I didn't implement a lot of this stuff yet and haven't had time lately to get back to it.

    [1] | 2021-09-07
    Maybe you want to help this person who is trying to integrate harfbuzz:

    The other major thing missing in relation to that is input method support.

    The problem with those type of APIs and accessibility is that implementing screen reader support basically means making it retained mode in some capacity, because accessibility APIs expect you to export a tree of objects and push state updates.

  • LuaPad - A tool to test your Lua idea ... in your browser | 2021-09-04
    The ability to create files / import github: I'm not quite sure which way is the best to implement Subpixel AA: This would require changing the imgui backend to a fork (see and
  • - ImGui is a
    ImGui is a popular library written by ocornut, it can make awesome user interface based on directx.
  • Basic visualization when coding with C++? | 2021-08-31
    If you want to write everything then I'd suggest taking a look at SFML and imGUI
  • Writing Programs with Ncurses | 2021-08-30
    ImTui provides an ncurses interface for this. It uses the ncurses API to render the characters in the terminal and also to grab input from the keyboard and the mouse.

    Technically, ncurses is an overkill for this application, since ImTui only uses only a very small subset of the ncurses functions. But this was the easiest way to make it work.

    ImTui can be extended with more interfaces. For example, I made a second one which I call "Emscripten" interface. It's purpose is to provide an API to easily export the framebuffer to the JS layer and to easily grab input back from the JS layer. This way, I can have a single application code that builds and runs both in the terminal and on the web.


  • graphics api for a game engine | 2021-08-22
    GUI in game engines is a whole can of worms. You can use something like imgui to get you most of the way there, but even that project only recommends it for debug UI.


Basic imgui repo stats
3 days ago

ocornut/imgui is an open source project licensed under MIT License which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Find remote jobs at our new job board There are 25 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.