Why rbterm?

How rbterm compares to PuTTY, iTerm2, Alacritty, and kitty — and where it makes a different set of trade-offs.

Feature Comparison

Feature rbterm PuTTY iTerm2 Alacritty kitty
Cross-platform binarymacOS / Linux / WinWindows onlymacOS onlyAll threemacOS / Linux
GPU-acceleratedraylib / OpenGLGDIMetal (macOS)OpenGLOpenGL
Built-in SSHlibssh (key + agent)Built-inNeeds ssh CLINeeds ssh CLINeeds ssh CLI
SFTP upload / downloadBuilt-in modalSeparate PSFTPNoNoNo
SSH key managerGenerate + install + deletePuTTYgen (separate)NoNoNo
TabsUp to 16NoUnlimitedNo (use tmux)Unlimited
Split panesVertical + horizontalNoYesNoYes
Themes baked in252 palettesManual RGB~10 presetsTOML configconf file
Fonts baked in31 monospace fontsSystem fontsSystem fontsSystem fontsSystem fonts
Sixel imagesNativeNoYesNoNo (kitty protocol)
Kitty image protocolNativeNoNoNoNative
Session recordingGIF / WebP / MP4 / castLog to fileReplay (proprietary)NoNo
System-info HUDPer-pane overlayNoNoNoNo
OSC 8 hyperlinksCmd+clickNoYesRegex URLsYes
OSC 133 prompt navJump + gutter badgesNoYesNoPartial
Scrollback searchLive substringNoRegexVia tmux/screenRegex
Startup tab configSettings Launch tabNoProfiles + arrangementsNostartup_session
Quake-style global hotkeyCmd+CapsLockNoHotkey windowNoNo
Per-host cursor colorApp-wide + per-hostManual configPer-profileNoNo
Ligature shapingHarfBuzz + 7 fontsNoYesYesYes
Cinema pane effects20 presets (CRT, VHS…)NoNoNoNo
Single binary, zero deps13 MB~5 MB~180 MB .app~8 MBPython runtime
Electron / web techNoneNoneNoneNoneNone
LanguageC99CObj-CRustC + Python

vs PuTTY

PuTTY is the terminal you learned on. It works, it's small, and it's been rock-solid since 1999. But it was designed for a world where you SSH into one host at a time and scp files separately.

  • No tabs, no panes. Every host is a separate window. rbterm gives you 16 tabs with vertical + horizontal splits, each with its own PTY and theme.
  • SSH + SFTP in one window. PuTTY needs a separate PSFTP program. rbterm has upload and download modals built into every SSH pane — pick a file, watch the progress toast.
  • Theming is manual. PuTTY makes you set 22 RGB values in a dialog. rbterm ships 252 themes — click one, it applies to the active tab instantly.
  • No images. Sixel, kitty graphics, inline images — PuTTY can't render any of them. rbterm handles both protocols natively.
  • Windows-only. If you switch between macOS and Linux, PuTTY isn't there. rbterm builds on all three from the same source.

PuTTY is great if all you need is a single SSH session. Once you want tabs, file transfers, and a modern feature set without installing three separate tools, rbterm replaces the whole stack.

vs iTerm2

iTerm2 is the gold standard on macOS. It's mature, polished, and endlessly configurable. If you live exclusively on a Mac, it's hard to beat. rbterm makes different trade-offs:

  • Cross-platform. iTerm2 is macOS-only. If you also work on Linux or Windows, rbterm is the same binary everywhere — same keybindings, same themes, same config.
  • Everything is baked in. iTerm2 needs you to install fonts, download color schemes, configure profiles. rbterm ships 252 themes and 31 fonts inside the binary — scp it to a bare server and it works.
  • Built-in SSH with SFTP. iTerm2 shells out to ssh. rbterm connects via libssh directly, with per-host theme/font/HUD overrides and integrated file transfers.
  • Tiny footprint. iTerm2 is a ~180 MB macOS app bundle. rbterm is a 13 MB self-contained binary.
  • Session recording to GIF/WebP/MP4. iTerm2 can replay sessions in its own format. rbterm records to standard formats you can share anywhere.
  • System-info HUD. Hostname, IP, CPU load, memory, disk — overlaid per-pane, including for SSH sessions (polled over the connection). iTerm2 has nothing equivalent built in.

iTerm2 wins on ecosystem depth (triggers, coprocesses, Applescript). rbterm wins on portability, self-containment, and SSH integration.

vs Alacritty

Alacritty's philosophy is "do one thing well" — be a fast GPU terminal and delegate everything else to tmux. That's a valid design. rbterm's philosophy is "one binary, batteries included."

  • Tabs, panes, search — no tmux required. Alacritty has no tabs, no splits, and no scrollback search. You need tmux or screen for all of that. rbterm has it built in.
  • Built-in SSH. Alacritty doesn't even know what SSH is. rbterm connects to hosts directly, manages saved hosts, and transfers files over SFTP.
  • Inline images. Alacritty deliberately doesn't support image protocols. rbterm renders sixel and kitty images natively.
  • 252 themes, 31 fonts, zero config. Alacritty requires a TOML config file and font installation. rbterm works out of the box with everything embedded.
  • Session recording. Alacritty can't record. rbterm captures to GIF, WebP, MP4, WebM, APNG, or asciicast.
  • Startup tab configuration. Alacritty opens one window. rbterm's Settings Launch tab lets you define which local and SSH tabs open automatically when you start.

Alacritty is for people who already have tmux muscle memory and want the thinnest possible terminal layer. rbterm is for people who want a single app that replaces terminal + multiplexer + file transfer + system monitor.

vs kitty

kitty is the closest competitor in feature set. It has tabs, splits, image rendering, and a scripting layer. The differences are in architecture and philosophy:

  • C99 vs C + Python. kitty's core is C, but its UI and extension system run on Python. rbterm is pure C99 — no runtime interpreter, no garbage collector, no Python dependency chain.
  • Built-in SSH with SFTP. kitty has kitten ssh for shell integration, but it still shells out to ssh. rbterm connects via libssh natively and has built-in upload/download modals.
  • Self-contained binary. kitty installs Python packages alongside the binary. rbterm is one 13 MB executable — scp it anywhere and run.
  • Both image protocols. kitty only supports its own image protocol. rbterm supports both sixel and the kitty protocol, so tools targeting either standard work.
  • 252 themes + 31 fonts embedded. kitty needs you to install themes via kitten themes and fonts via your OS. rbterm ships them all inside the binary.
  • System-info HUD. rbterm overlays hostname, IP, load, mem, disk per-pane — including over SSH. kitty has no equivalent.
  • Native recording. rbterm records panes to GIF/WebP/MP4 with built-in encoders. kitty doesn't record.
  • Windows support. kitty doesn't run on Windows. rbterm does (ConPTY backend).

kitty's Python scripting layer makes it deeply extensible if you invest the time. rbterm trades that extensibility for zero-dependency portability and a more integrated SSH workflow.

The rbterm Pitch

One binary. Every platform. Batteries included.

rbterm is what you get when you stop asking "which combination of terminal + multiplexer + SSH client + file transfer tool + theme manager + font installer should I use?" and just ship all of it in 13 MB of C99. It won't replace a decade of tmux muscle memory overnight, and it doesn't try to be an extensible platform like kitty. What it does is give you tabs, splits, SSH, SFTP, images, recording, 252 themes, 31 fonts, and a system-info HUD in a single executable you can scp to any machine and run.