emilk/egui

egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on September 1st, 2026
Created on January 13th, 2019
Open Issues & Pull Requests: 1,144 (+0)
GitHub issues: Enabled
Number of forks: 2,127
Total Stargazers: 30,459 (+2)
Total Subscribers: 147 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 47.9 hours
Mean response time: 64.0 days
90th percentile: 174.2 days
Tracked items: 776

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 92% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "web" is answered fastest, typically in about 3 hours, while "egui-winit" waits about 5 days. 65% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 5% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 511
New in 7 days: 7
Closed in 7 days: 1
Avg open age: 577 days
Stale 30+ days: 461
Stale 90+ days: 396

Recent activity

Opened in 7 days: 6
Closed in 7 days: 1
Comments in 7 days: 7
Events in 7 days: 17

Top labels

  • bug (573)
  • egui (64)
  • feature (61)
  • eframe (34)
  • rerun (31)
  • egui-wgpu (21)
  • egui-winit (17)
  • native-linux (16)

Detailed Description

egui is an immediate mode GUI library for Rust that runs on both web and native platforms.

egui solves the problem of building user interfaces in Rust across multiple targets by using an immediate mode architecture. Rather than maintaining retained state trees, the library redraws the interface each frame based on application logic, simplifying reasoning about UI behavior. The library is designed to be portable, running anywhere textured triangles can be drawn, which enables integration into game engines and custom rendering contexts. eframe, the official framework built on egui, provides batteries-included support for web, Linux, Mac, Windows, and Android applications.

egui suits developers who prioritize ease of use and cross-platform reach. It is particularly well-suited for game developers needing in-game UI, applications targeting web via WebAssembly, and projects requiring a single codebase across desktop and web. The library emphasizes simplicity and speed, making it accessible to developers new to GUI programming in Rust. Those building traditional desktop applications with complex retained-state requirements may find immediate mode less natural than retained mode alternatives, though egui's design aims to minimize this friction.

The project maintains an active community presence with a dedicated Discord server and GitHub Discussions for user support. Development follows a structured contribution process documented in contributing guidelines. The codebase enforces memory safety through a no-unsafe-code policy, which is verified and publicly declared.