Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

imtui

> 编程语言
Open source

ImTui: Immediate Mode Text-based User Interface C++ Library

3.6K stars0 likes0 views
WebsiteGitHub

About

ImTui: Immediate Mode Text-based User Interface C++ Library

imtui ===== [![ImTui v1.0.4 badge][changelog-badge]][changelog] [![Dear ImGui version badge][imgui-version-badge]](https://github.com/ocornut/imgui) ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.


A very basic ImTui example

---


Text-based client for Slack

---


Tables example

---


Text-based client for Hacker News

---


Text-based configuration editor for the WTF Dashboard

## Live demo in the browser Even though this library is supposed to be used in the terminal, for convenience here is an [Emscripten](https://emscripten.org) build to demonstrate what it looks like, by simulating a console in the browser: - Demo 0: [imtui.ggerganov.com](https://imtui.ggerganov.com/) - Demo 1: [hnterm.ggerganov.com](https://hnterm.ggerganov.com/) - Demo 2: [wtf-tui.ggerganov.com](https://wtf-tui.ggerganov.com/) - Demo 3: [slack.ggerganov.com](https://slack.ggerganov.com/) Note: the demos work best with **Chrome** ## Details This library is 99.9% based on the popular [Dear ImGui](https://github.com/ocornut/imgui) library. ImTui simply provides an [ncurses](https://en.wikipedia.org/wiki/Ncurses) interface in order to draw and interact with widgets in the terminal. The entire Dear ImGui interface is available out-of-the-box. For basic usage of ImTui, check one of the available samples: - [example-ncurses0](https://github.com/ggerganov/imtui/blob/master/examples/ncurses0/main.cpp) - [example-emscripten0](https://github.com/ggerganov/imtui/blob/master/examples/emscripten0/main.cpp) - [hnterm](https://github.com/ggerganov/hnterm) - a simple tool to browse Hacker News in the terminal - [wtf-tui](https://github.com/ggerganov/wtf-tui) - text-based UI for configuring the WTF terminal dashboard - [slack](https://github.com/ggerganov/imtui/blob/master/examples/slack) - text-based mock UI for Slack ## Building ImTui depends only on `libncurses` ### Linux and Mac: ```bash git clone https://github.com/ggerganov/imtui --recursive cd imtui mkdir build && cd build cmake .. make ./bin/imtui-example-ncurses0 ``` ### Windows: Partial Windows support is currently available using MSYS2 + MinGW + PDCurses: ``` # install required packages in an MSYS2 terminal: pacman -S git cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-pdcurses mingw-w64-x86_64-curl # build git clone https://github.com/ggerganov/imtui --recursive cd imtui mkdir build && cd build cmake .. make ./bin/hnterm.exe ``` For more information, checkout the following discussion: [#19](https://github.com/ggerganov/imtui/discussions/19) ### Emscripten: ```bash git clone https://github.com/ggerganov/imtui --recursive cd imtui mkdir build && cd build emconfigure cmake .. make ``` [changelog]: ./CHANGELOG.md [changelog-badge]: https://img.shields.io/badge/changelog-ImTui%20v1.0.4-dummy [imgui-version-badge]: https://img.shields.io/badge/Powered%20by%20Dear%20ImGui-v1.81-blue.svg

GitHub Issues· 21 open

View all on GitHub
  • #60

    Not Rending Fonts / Invalid Characters on ImGui 1.90.7

    Updated Sep 19, 2025
  • #59

    CMake Error at /usr/share/cmake-3.28

    Updated Jul 15, 2025
  • #34

    Mouse scrolling

    enhancementUpdated Jun 28, 2025
  • #57

    Drag causes text selection

    Updated Nov 4, 2024
  • #55

    Clicks not registering on mac

    Updated Sep 7, 2024
  • #50

    messed up installation

    Updated May 14, 2024
  • #25

    Passing character info to renderer

    enhancementUpdated Apr 27, 2024
  • #51

    build error on linux

    Updated Dec 5, 2023
  • #47

    Horizontal scrolling for tables doesn't work.

    Updated Aug 28, 2023
  • #48

    Can't display utf-8 character

    Updated Apr 20, 2023

Highlights

  • •Demo 0: imtui.ggerganov.com
  • •Demo 1: hnterm.ggerganov.com
  • •Demo 2: wtf-tui.ggerganov.com
  • •Demo 3: slack.ggerganov.com
  • •example-ncurses0
  • •example-emscripten0
  • •hnterm - a simple tool to browse Hacker News in the terminal
  • •wtf-tui - text-based UI for configuring the WTF terminal dashboard
  • •slack - text-based mock UI for Slack

> Tags

C++texttuiuiuser-interface

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言