Skip to content(if available)orjump to list(if available)

Ratatui – App Showcase

Ratatui – App Showcase

42 comments

·November 6, 2025

RustSupremacist

People keep asking why TUIs in Rust and the answer is because the GUI situation in Rust is dreadful: https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-...

Rust is simply not meant for GUI-based data design but I still want Qt in Rust. That's it. Not QML or Slint. No markup at all. None of the immediate mode things. No other languages. Definitely not GTK. I'm worried it will never happen for Rust and it will be such a missed opportunity.

godelski

I'm really waiting for the TUI web browser. That would let me live completely in the terminal.

Is anyone working on this?

With the speed terminals are and support for graphics through things like sixel and shaders I'd love to have a browser even if I couldn't do videos. Even if it was like viewing most pages in reader mode.

I'm not sure some big companies would be happy about that though since it likely would mean you could do things like ad blocking more easily. But maybe you could get them on board if you pitched it as a browser for LLMs. Something something it's a native interface for them. ;)

I know there's some browsers but things like W3M, Lynx, or *links* are... rough... definitely not of the quality we're seeing elsewhere in the current TUI revolution.

awesomeusername

Browsh [0] - it runs firefox headless, and renders everything to ascii in the terminal

It's glorious

[0] https://www.brow.sh/

be_erik

I use this one pretty often. It’s great. https://chawan.net/

fruitworks

the cursive tui library does some html rendering

https://sr.ht/~ireas/cursive-markup-rs/

the whole cursive library strikes me as very html-like in layout

omarvanez

I've seen lots of TUIs lately, why is that? What is the renewed interest?

The only places I know of is Awesome TUIs [0] and terminaltrove [1]

I can also see that Ratatui has an awesome list too [2].

[0] https://github.com/rothgar/awesome-tuis

[1] https://terminaltrove.com/

[2] https://github.com/ratatui-org/awesome-ratatui

laserbeam

> What is the renewed interest?

We just don’t have good desktop GUI platforms anymore. Qt and GTK are massive beasts, Windows changes theirs every 4 years (and no one wants to be tied to a single platform anyway), we don’t want to deal with Electron, and writing your own GUI from scratch is hard.

Terminals just got good lately and it’s way easier to make something higher quality in them than as a GUI. It’s just too hard to make a good small desktop app.

It’s the same reason why it’s easier to make something look great with LEGO than if you want to mold clay. I’d also wager that devs today on average know more about good UX than devs did back in the 80s when clunky terminal apps used to be made.

genidoi

TUI libraries have sufficiently abstracted away the low-level quirks of terminal rendering that the terminal has become something like a canvas[0] available in the IDE with no extensions. This is quite a nice DevX if you want to display the state of an app that does something to data, without writing the necessary plumbing to pipe that data to a browser and render it.

[0] https://github.com/NimbleMarkets/ntcharts/blob/main/examples...

eschaton

They did this in the 1970s and 1980s too, then they were called “forms libraries” but were often full application frameworks in ways that would be familiar to modern developers of native graphical apps.

travisgriggs

> What is the renewed interest?

For me, often, it’s an escape for a GUI world taken over by out-of-control “design” tenets. I value good Ux design concerns, but often working with designers lately feels bureaucratic, at times cargo culting, and overly spacious.

It’s like a graphical form of “I didn’t have time to give you a short answer, so I gave you a long one instead”. TUIs force a paucity that often makes for a nice information/pixels ratio.

webnrrd2k

I think that a lot of people here at HN have had bad web interfaces and GUIs inflicted on them for a long time, that a TUI is a welcome change and a big improvement. TUIs are limited, which make it hard to create great interfaces; but those limits also make it hard to create really bad interfaces. Also the TUI is genuinely good at simple-to-moderate complexity software. For an example, try out Midnight Commander.

alwillis

> I've seen lots of TUIs lately, why is that? What is the renewed interest?

A few reasons:

- for the most part TUI apps are cross-platform: macOS, Linux, BSD, Windows

- they cut down on context switching. If you're already in the terminal, you shouldn't have to switch to a GUI app to check on something.

- Today's terminal emulators—Ghostty, WezTerm, Kitty, iTerm, Alacrity, etc.—are fast and capable with GPU acceleration, 24-bit color support running on high resolution displays. It makes for a compelling platform to code for.

- Anecdotally lots of developers are spending less time in IDEs and more time in the terminal using Claude Code, Gemini CLI, Codex, etc.

lynndotpy

In addition to other comments, it's the only real way to make a usable GUI-like experience over SSH.

vostok

I've generally had good experiences with the various compressed X11-like tools. One example is x2go, but there are a few.

fragmede

oh man, I haven't thought about xpra in a while! Xpra was a layer of indirection between X clients and X server so you could ssh in, run eg firefox, disconnect, and then reconnect and pick up Firefox where you left it.

MangoToupe

You can also serve a window server over ssh

tptacek

High-level languages that compile to single binaries, and very good TUI frameworks (maybe inspired by Python Textual?) for them.

orbital-decay

They're easier to program and seamlessly integrate into the terminal. That's basically it, other than that they're worse than normal GUIs. Also, GUI frameworks aren't that mature in Rust in particular.

mbm

Ratatui is awesome! Just built a little chat client with it, tons of fun.

https://terma.mattmay.dev/

CSSer

Some of the most interesting projects here have the worst installation stories.It's sort of tilting at windmills to not acknowledge that people are going to mostly install through package managers for their platform by advertising it as such. I'm not suggesting there's anything wrong with building from source. On the contrary, I think it's fantastic as many targets are supported here as there are! I think it's a shame more people aren't discovering them is all.

AceJohnny2

Rust, following Go's footsteps, has made it very easy to distribute-and-compile from source. They've taken all the pain out of the compiling-from-source pipeline, through "go build" or "cargo build"

Meanwhile, distributions sometimes maintain their plodding rate at package updates (usually handled by distribution volunteers, not the original program's developers), which was developed in an era when building from source was a tedious process where the distribution volunteers provided value.

In effect, build-from-source has taken over "just use the distribution package".

dkdcio

the title of this post is odd? it’s a showcase of TUI applications built with this Rust crate — which I am hearing about for the first time, and am interested in. I was expecting a blog post on why Rust is experiencing a TUI revolution or something

tomhow

We've updated the title.

Submitters, please remember this from the guidelines:

... please use the original title, unless it is misleading or linkbait; don't editorialize.

wrs

I think they're saying this crate is why Rust is experiencing a TUI revolution.

Charm would probably say the same for Go.

qudat

Charm was my introduction into the world of ssh apps which prompted me to create https://pico.sh

SSH apps serve a similar UX to web apps which I just think is a great idea for many use cases. Needing to install a cli tool just to upload some files is tedious when you can just use rsync, sftp, piping, or even sshfs

airstrike

ratatui has been around for quite a bit. it's what I'll reach out for if I need semi-complex TUIs in Rust fwiw

dkdcio

I am also now curious about alternatives/what differentiates this crate

nullbyte808

Very dope. I really like dua as my mac only has 256 GB.

renewiltord

Oh good collection. This is good. Found lots of good tools here.

siavosh

What is the best / most popular / user friendly terminal http client I can replace postman with. Has a history I can search, save favorites, secure etc.

bitexploder

I like smaller more focused tools on the terminal. You can make these all work together pretty reasonably with a little glue. Hurl, mitmproxy, httpie with http-prompt. I tend to prefer mitmproxy sessions and massaging that with Python/curl as needed for repeating and tweaking. User friendly is relative, but these tools work well. Python for tweaking http streams in mitmproxy is powerful and rather friendly for what you get in return. Mitmproxy lets you easily save flows with a bit of Puthon glue to output httpie commands giving history, and you can save mitmproxy sessions.

seabrookmx

I also have this question!

I starred Posting[1] but haven't yet got around to trying it.

[1]: https://news.ycombinator.com/item?id=40926211

Edit: here's another one: https://github.com/LucasPickering/slumber

tcoff91

Kulala nvim plugin or emacs rest client

ModernMech

Ratatui is neat but the way it's architected, you need to take on third party dependencies for each individual widget. And we're talking basic things like spinners, checkboxes, text areas, etc. -- there aren't too many widgets built into ratatui itself. I didn't like the idea of taking all that on so instead I went with something more handrolled.

MangoToupe

Not only is the language irrelevant, but anyone pimping vt100 as a ui should be shot on site. If you must use the terminal, use bash. If you must make a ui use a proper ui!