raysan5/raygui

A simple and easy-to-use immediate-mode gui library

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 43 minutes ago
Added to GitGenius on September 13th, 2026
Created on June 15th, 2016
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 394
Total Stargazers: 5,138 (+0)
Total Subscribers: 57 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.8 days
Mean response time: 32.3 days
90th percentile: 47.8 days
Tracked items: 93

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 16% of issues opened in the past year have been closed. Three people close 96% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 1 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

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

Top labels

  • enhancement (2)
  • feature request (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

raygui is an immediate-mode GUI library written in C for building simple user interfaces with minimal overhead.

The library solves the problem of creating lightweight UI tools without retaining state between frames. It uses an immediate-mode approach where GUI elements are declared and rendered each frame, eliminating the need to manage persistent widget state. The library provides over twenty-five controls ranging from basic buttons and sliders to advanced containers and separators, all styled with a simple rectangular aesthetic matching raylib's visual design. A powerful styling system allows customization of colors, fonts, and metrics, while built-in support for a 512-icon set embedded as binary data enables quick icon integration into controls.

raygui is purpose-built for tools development rather than complex application UIs. It works as an auxiliary module for raylib but can be adapted to other graphics frameworks. The library ships with multiple pre-built styles and includes companion tools for style and icon editing. Developers choosing raygui should expect a straightforward API with minimal setup overhead, though they should be aware that the library maintains tight alignment with raylib's master branch and that recent versions introduced breaking API changes where all functions now return result values.

The project maintains active development with regular updates to keep pace with raylib's evolution. The codebase is structured as a single-file header-only library, requiring careful management of the RAYGUI_IMPLEMENTATION macro across compilation units to avoid duplicate definitions. The maintainer provides dedicated tooling for customizing styles and icons, indicating investment in the developer experience around the core library.