Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Game Engine Development
  3. Imgui-Filebrowser

Imgui-Filebrowser

MITC++

A header-only file browser implementation for dear-imgui, enabling native file dialogs in C++ applications.

GitHubGitHub
826 stars102 forks0 contributors

What is Imgui-Filebrowser?

imgui-filebrowser is a header-only file browser implementation for dear-imgui, a C++ immediate-mode GUI library. It provides a customizable file dialog component that allows developers to add native file selection, opening, saving, and directory browsing capabilities to their applications. It solves the problem of integrating file system interactions within dear-imgui-based interfaces without relying on platform-specific dialogs.

Target Audience

C++ developers using dear-imgui to build applications with graphical user interfaces, such as game tools, editors, or desktop software requiring file system access.

Value Proposition

Developers choose imgui-filebrowser for its seamless integration with dear-imgui, header-only design with no dependencies, and extensive customization options through flags and filters, offering a consistent cross-platform file browsing experience.

Overview

File browser implementation for dear-imgui. C++17 is required.

Use Cases

Best For

  • Adding file open/save dialogs to dear-imgui applications
  • Building custom editors or tools with integrated file browsing
  • Creating directory selection interfaces for project management tools
  • Implementing asset browsers in game development tools
  • Developing configuration file pickers in desktop software
  • Enhancing applications with filtered file type selection (e.g., for code editors)

Not Ideal For

  • Applications not built with dear-imgui, as it is tightly integrated and requires the dear-imgui framework.
  • Projects needing native OS file dialogs with advanced features like thumbnail previews or system-level integration.
  • Use cases requiring highly customized, non-standard file browser interfaces beyond the provided flags and options.

Pros & Cons

Pros

Header-Only Simplicity

Single include file with no external dependencies, making integration straightforward and reducing build complexity, as highlighted in the README's header-only design.

Extensive Customization Flags

Supports various flags like directory selection, multiple selection, and modal windows, allowing fine-tuned behavior for different use cases, with examples provided in the README.

Cross-Platform Compatibility

Designed to work across platforms with specific adjustments like case-insensitive filtering on Windows, ensuring consistent behavior as noted in the platform support section.

Seamless dear-imgui Integration

Follows dear-imgui's immediate-mode approach, requiring explicit Display() calls each frame, making it integrate naturally with the rendering loop, per the philosophy section.

Cons

Limited Advanced Features

Lacks advanced capabilities such as file previews, custom sorting, or support for virtual file systems, which are not mentioned in the README and might be needed in complex applications.

Manual State Management

Requires explicit state handling and Display() calls every frame, adding complexity and potential for errors compared to more automated or callback-based solutions, as per the immediate-mode design.

Performance Considerations

Browsing large directories might cause performance issues due to the immediate-mode nature, requiring careful optimization in the host application, with no built-in caching or lazy loading mentioned.

Frequently Asked Questions

Quick Stats

Stars826
Forks102
Contributors0
Open Issues3
Last commit7 months ago
CreatedSince 2019

Tags

#gui-toolkit#imgui#c-plus-plus#dear-imgui#cross-platform#immediate-mode-gui#c-plus-plus-17#file-browser#header-only

Built With

C
C++17

Included in

Game Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,181
Forks16,115
Last commit1 day ago
C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars71,074
Forks8,277
Last commit1 day ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,554
Forks7,381
Last commit2 days ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars37,882
Forks10,636
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub