imgui VS egui

Compare imgui vs egui and see what are their differences.

imgui

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

egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native (by emilk)
Our great sponsors
  • SonarCloud - Analyze your C and C++ projects with just one click.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Mergify - Updating dependencies is time-consuming.
imgui egui
334 193
50,398 16,481
- -
0.0 7.8
5 days ago 5 days ago
C++ Rust
MIT License MIT OR Apache-2.0.
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

imgui

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 2023-09-07.
  • Textual Web: TUIs for the Web
    9 projects | news.ycombinator.com | 7 Sep 2023
    > [...] you can build UIs that are snappy and keyboard driven.

    That's not an advantage that is exclusive to TUIs; after all, you're running your TUI inside a graphical application that emulates a terminal. (Unless you're rocking an actual VT102, in which case I bow down to you.)

    In fact there's an entire class of applications that are extremely snappy and keyboard driven, by their very nature: games.

    Some people have taken to writing GUI apps like you'd write a game, and the effects range from OK to fantastic. Check out Lagrange (https://gmi.skyjake.fi/lagrange/), AppManager (https://tildegit.org/solene/AppManager), Dear ImGUI (https://github.com/ocornut/imgui), egui (https://github.com/emilk/egui), and many others.

  • Chip8 emulator
    2 projects | /r/EmuDev | 17 Aug 2023
    It's not that difficult, I recently started learning to use graphics APIs myself. OpenGL is for linux, etc., directx for windows and vulkan for all platforms. I read through a bunch of forums yesterday and decided to go for vulkan (here is a link to the sdk) for my next small projects because it can run on all platforms. I would recommend to watch a basic tutorial series (like this one) for the graphics api itself to get an understanding of whats going on. And on top of that I use SDL2 for eventhandling and ImGui for the graphical user interface. Here is a link to a guide for setting up vulkan on your platform in case you would go for it.
  • Make a game engine in C++
    4 projects | /r/learnprogramming | 10 Jul 2023
    UI ImgUI can be used in with SDL and SFML
  • Meta releases open source Intermediate Graphics Library which runs on top of Vulkan, Open GL, or Metal on multiple operating systems.
    3 projects | /r/linux_gaming | 8 Jul 2023
    Even the GUI is not theirs, but it's not credited. It's Dear ImGui.
  • Good gui libraries for simple note taking app with sqlite database?
    2 projects | /r/cpp_questions | 5 Jul 2023
    There's Dear ImGui
  • declarative GUI libraries
    5 projects | /r/cpp | 23 Jun 2023
    I think that Imgui would qualify as declarative. It is pretty much the industry standard for "simple GUI" at this point. It might be simple but it is powerful. People have built entire game engine editors using it.
  • Why do you love C++?
    2 projects | /r/cpp_questions | 21 Jun 2023
    When it comes to writing GUIs, I'm a big fan of Dear Imgui. It's not going to be the best tool for every job, but it's fairly easy to work with and it doesn't go about overcomplicating things.
  • “fractureiser” malware in many popular Minecraft mods and modpacks
    3 projects | news.ycombinator.com | 7 Jun 2023
    Also here, what appeared to be a bug in ImGuis clipboard handling turned out to be a crypto stealer

    https://github.com/ocornut/imgui/issues/4029

  • Ask HN: Examples of desktop software with 20+ years of longevity?
    4 projects | news.ycombinator.com | 25 May 2023
    I would say that the distinction between TUI and GUI - outside "how would I use this tool remotely" - is mainly one for the developer. Take ImGui (https://github.com/ocornut/imgui, an immediate mode GUI library) for example - the examples are much closer to TUI interfaces than a Swift UI app - the only difference between that an a terminal UI would be that the lines are thinner and that text has non-uniform spacing.

    Does that make ImGui a TUI? Or make TUIs a GUI? Why are those thin visual lines graphical, if the slightly thicker visual lines drawn by your graphical terminal emulator with support arbitrary color precision and inline image rendition is not?

    Maybe the issue is that it there is a terminal emulator to visualize the representation. But if an application that is not graphically heavy and needs an intermediary is a TUI, does that make most utility electron apps TUIs?

    The difference between a TUI and a GUI is just an implementation detail, and these do not matter in the distinction of desktop app or not. Heck, some modern terminal UIs are more graphically appealing than some GUI apps.

    > The established definition of desktop, mobile, gui, tui and commandline is pretty consistent for some decades now I would say.

    Considering that all good desktop apps were TUI apps 3 decades ago, that mobile apps are in their modern form has basically only existed for 1.5 decades, and that running mobile apps as desktop apps and the general merge between the disciplines is only a few years old at most, I'd say that this statement doesn't quite hold.

    4 projects | news.ycombinator.com | 25 May 2023
    > Take ImGui (https://github.com/ocornut/imgui, an immediate mode GUI library) for example - the examples are much closer to TUI interfaces than a Swift UI app - the only difference between that an a terminal UI would be that the lines are thinner and that text has non-uniform spacing.

    What I see there is a spatial interface with complex layout, z-axis and graphical elements. A bit hard to replicate on a normal terminal.

    > Does that make ImGui a TUI?

    TUI and GUI are not defined by the actual complexity of a real application, but the environment which gives them theoretical abilities. With a GUI, you can have pixel-perfect control over every element. With a TUI, you are normally limited to character-level of control. Of course can you also use pixels without a desktop, but you would still leave the terminal-environment and enter the framebuffer for this or something similar. Though, to be fair, at this point it indeed can become a bit fuzzy.

egui

Posts with mentions or reviews of egui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-07.

What are some alternatives?

When comparing imgui and egui you can also consider the following projects:

wxWidgets - Cross-Platform C++ GUI Library

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

NanoGUI - Minimalistic GUI library for OpenGL

iced - A cross-platform GUI library for Rust, inspired by Elm

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

CEGUI

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development

nana - a modern C++ GUI library

nuklear

webview - Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).

druid - A data-first Rust-native UI design toolkit.