finds.dev← search

// the find

DatanoiseTV/ferroterm

★ 9 · Rust · MIT · updated Jul 2026

A fast, secure terminal emulator: a from-scratch VT100/xterm core in Rust/WebAssembly with Canvas2D and WebGL renderers, a reusable web component, and a tabbed Tauri app.

A from-scratch VT100/xterm-compatible terminal engine in Rust, compiled to WASM for the browser, with matching native (wgpu), Tauri, and Slint front-ends. Aimed at developers who want to embed a terminal in a web app or build a desktop terminal without wrapping xterm.js or a C library.

The parser/grid/scrollback logic is genuinely shared across all front-ends (web, native wgpu, Tauri, Slint), so behavior is consistent instead of reimplemented per platform. Test suite asserts against actual rendered grid state rather than just parser events, which is the right way to test a terminal emulator. Concrete, reproducible benchmarks with methodology disclosed (including an honest comparison to xterm.js instead of just claiming to be faster). Feature list is unusually deep for a from-scratch project — Sixel, Kitty graphics, OSC 133 shell integration, grapheme clustering — and the README explicitly documents what's NOT implemented instead of hiding gaps.

9 stars, single maintainer, first real push cycle — no evidence yet of it surviving contact with real-world terminfo/shell edge cases beyond the author's test suite. No programming ligature support and alt-screen reflow gaps are called out but still real limitations for anyone using vim/tmux/emacs. Massive surface area (5 front-ends: web, Tauri, native wgpu, Slint, plus core) for one person to maintain long-term — feature parity across all of them will likely drift. No crates.io/npm publishing mentioned, so integrating it means vendoring or building from source, which raises the adoption bar for something not yet used at scale.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →