imgui-rs/imgui-rs

Rust bindings for Dear ImGui

View on GitHub ↗Jump to charts ↓

imgui-rs/imgui-rs has 3k+ stars and 350+ forks on GitHub, is written in Rust, and was last pushed on Jun 21, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 22nd, 2026
Created on August 16th, 2015
Open Issues & Pull Requests: 74 (+0)
GitHub issues: Enabled
Number of forks: 385
Total Stargazers: 3,059 (+0)
Total Subscribers: 32 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 2.0 days
Mean response time: 68.8 days
90th percentile: 200.0 days
Tracked items: 40

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 15
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 688 days
Stale 30+ days: 14
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

imgui-rs is a Rust binding library for Dear ImGui, the standard immediate mode user interface library.

The library solves the problem of building graphical user interfaces in Rust by wrapping Dear ImGui's C++ implementation with safe Rust bindings. It provides a high-level safe API through the core imgui crate, while the imgui-sys crate offers low-level unsafe bindings that are automatically generated. The immediate mode approach allows developers to describe UI layouts directly in code without maintaining separate UI state, making it suitable for tools, debugging interfaces, and applications where rapid UI iteration matters.

Developers should choose imgui-rs if they need a lightweight, immediate mode GUI library and are comfortable integrating separate platform and renderer components. The project is not tied to any particular renderer or platform backend, requiring users to select appropriate implementations for their use case. Official backends include imgui-winit-support for window management and input handling, imgui-sdl2-support as an alternative platform layer, and imgui-glow-renderer as the official renderer. The most tested combination is imgui-glow-renderer with imgui-winit-support, though community integrations with wgpu and glium are available. The library provides builder structs to handle optional parameters from the original C++ API and supports optional features like the freetype font rasterizer and the docking branch. API coverage is not complete but continues to improve.

The project maintains active development with regular updates to keep official backends synchronized with releases. The minimum supported Rust version is periodically updated with minor version bumps, indicating ongoing attention to language evolution. Development activity shows consistent engagement with both core library maintenance and ecosystem integration, as evidenced by the coordination of multiple related crates and example implementations across platform and renderer options.