Best Terminal Emulators for Linux

Best terminal emulators for Linux compared: Ghostty, kitty, foot, Alacritty, WezTerm, Konsole and Ptyxis, by rendering, splits and config.

Updated

short verdict

Ghostty is the best default if you want tabs, splits and themes working without configuration. Pick kitty for scripting and image protocols, foot for a small Wayland-only terminal, Konsole on KDE Plasma, and Ptyxis on GNOME if you work in containers.

A Linux terminal emulator differs less in basic terminal behavior than in what it builds in. Some tools render on the GPU, some use the GTK or Qt toolkit stack. Some include tabs and splits, and others leave that to the window manager or a separate terminal multiplexer. Configuration also varies: a plain-text file, Lua, TOML, INI, or a preferences dialog backed by dconf or GSettings.

this page is for

  • Developers picking a daily terminal for a Linux desktop
  • Wayland users who want a small, fast terminal
  • KDE or GNOME users who want a terminal that matches the desktop
#1

Ghostty

★ 62.8kZig
details

Ships with JetBrains Mono, Nerd Font symbols and hundreds of themes, so it needs no config file to be usable on Linux.

best for

  • Zero-config setup
  • Tabs and splits in a GTK app

strengths

  • Tabs and splits are built in and drawn with GTK components on Linux
  • Automatic shell integration for bash, elvish, fish and zsh adds prompt jumping
  • Supports the Kitty graphics and keyboard protocols, and ligatures work
  • Themes can switch with the system light or dark mode

weaknesses

  • Remote hosts without Ghostty's terminfo can break; the ssh and sudo wrappers are off by default
  • Only left-to-right text is supported
#2

Kitty

★ 35.5kPython/C
details

The choice for keyboard-driven users who want scripting: remote control, session files and kittens such as kitten icat.

best for

  • Scripting the terminal
  • Inline images, including over SSH

strengths

  • Seven layouts including Splits, plus session files loaded with kitty --session
  • Remote control lets scripts open windows, change fonts and read text, even over SSH
  • Own graphics protocol; kitten icat shows images and works over SSH
  • Config is a single kitty.conf; ligatures and variable fonts are supported

weaknesses

  • The custom xterm-kitty terminfo breaks arrow keys or reports an unknown terminal on hosts that lack it
  • Running through sudo or su can cause the same terminfo problem

A Wayland-only terminal in C with few dependencies and a server mode that shares fonts across windows.

best for

  • Wayland compositor users
  • Low memory and fast startup

strengths

  • foot --server with footclient shares the glyph cache, cutting memory use and startup time
  • INI config in ~/.config/foot/foot.ini, with every key binding changeable
  • Supports Sixel images, synchronized updates, IME via text-input-v3 and OSC 133 prompt jumping
  • Ctrl+Shift+O labels visible URLs so you can open them from the keyboard

weaknesses

  • Wayland only, and no GPU rendering
  • No programming-font ligatures
  • In server mode one busy window slows the others, and a server crash closes every window
#4

Alacritty

★ 66.1kRust
details

A minimal OpenGL terminal for people who already run a window manager or multiplexer for tabs and splits.

best for

  • Tiling window manager users
  • Speed-focused minimal setups

strengths

  • TOML config in alacritty.toml reloads live and supports an import option
  • Vi mode (Ctrl+Shift+Space) moves through scrollback and searches with / and ?
  • Regex hints open matched text with an external program from keyboard or mouse
  • alacritty msg create-window opens a new window from the running instance

weaknesses

  • No tabs, splits or settings GUI
  • No ligature support
  • You must create the config file yourself; the README rates the software as beta
#5

WezTerm

★ 29.4kRust
details

Fits users who want tabs, splits and remote multiplexing inside the terminal and are comfortable configuring it in Lua.

best for

  • Lua-scripted configuration
  • Built-in multiplexing over SSH or TLS

strengths

  • Lua config in ~/.wezterm.lua reloads on save and can register event handlers with wezterm.on
  • Multiplexer domains over Unix socket, SSH or TLS, plus wezterm ssh
  • wezterm cli provides split-pane, spawn, send-text and get-text
  • Ligatures, color emoji, kitty graphics and Sixel (experimental)

weaknesses

  • SSH domains need a compatible WezTerm on the remote host
  • Multiplexing is described as young and still evolving
  • Linux, macOS and Windows only; no BSD packaging is stated beyond FreeBSD and NetBSD builds
#6

Konsole

★ 718C++
details

The natural pick on KDE Plasma, with GUI profiles, split views and per-tab activity monitoring.

best for

  • KDE Plasma users
  • Running the same command across several sessions

strengths

  • Split views, saved JSON layouts via konsole --layout, and profiles chosen with --profile
  • Copy Input To sends typed input to all or selected tabs
  • Tabs can be monitored for silence, activity or process completion
  • Keyboard selection mode (Ctrl+Shift+D) and scrollback saved as text or HTML

weaknesses

  • Built for KDE Plasma; elsewhere it pulls in the KDE stack
  • Programming ligatures need the Complex Text Layout word mode and a font that supports them
#7

Ptyxis

★ 123C
details

A GTK 4 terminal for GNOME that lists Podman, Toolbox and Distrobox containers as tabs next to the host shell.

best for

  • GNOME users working in containers
  • Flatpak installs that still reach host processes

strengths

  • Containers are discovered automatically and open as tabs
  • Searchable tab overview with live previews, and pinned tabs restore profile, container and directory
  • ptyxis-agent runs on the host so a Flatpak build still reaches host and container processes
  • Custom .palette files install with ptyxis --import-palette

weaknesses

  • Tabs only, with no split panes
  • No programming ligatures and no inline image protocol
  • Container detection relies on OSC 777, so older container tools may not be recognized

A conventional VTE terminal for GNOME with profiles, tabs and regex search, needing almost no setup.

best for

  • GNOME users who want defaults
  • Per-profile fonts, colors and startup commands

strengths

  • Profiles set font, colors, scrollback and a custom command such as an SSH connection
  • Search supports case, whole-word and regex options with Ctrl+Shift+F
  • Settings live in dconf and shortcuts are editable under Preferences, Shortcuts
  • Preset window sizes 80x24 and 132x43 suit programs with minimum sizes

weaknesses

  • No split panes; you need a separate terminal multiplexer for them
  • Configuration goes through the Preferences dialog rather than a text file

How to choose

Pick the factor that matters most for your desktop and workflow.

  • Zero configuration: Ghostty bundles a font, Nerd Font symbols and themes, so it works before you write a config.
  • Scripting and remote control: kitty exposes remote control and kittens; WezTerm offers Lua and wezterm cli.
  • Memory and startup on Wayland: foot with foot --server and footclient shares fonts and the glyph cache.
  • Desktop integration: Konsole on KDE Plasma, Ptyxis or GNOME Terminal on GNOME.
  • Containers: Ptyxis discovers Podman, Toolbox and Distrobox and opens them as tabs.

When not to use these

  • You need one config and one terminal on Linux, macOS and Windows; Ghostty and foot do not cover Windows
  • You need split panes that persist after the window closes; use a separate terminal multiplexer instead

Also worth a look

  • TilixGTK 3 tiling terminal with drag-and-drop splits and synchronized input, but the README says only minimal maintenance is happening.
  • TerminatorPython/GTK grid of split panes with broadcast input and saved layouts; no GPU rendering or ligatures.

FAQ

Which Linux terminal has built-in splits?
Ghostty, kitty, WezTerm, Konsole, Tilix and Terminator have splits. Alacritty, foot, GNOME Terminal and Ptyxis do not, so you pair them with a window manager or a separate multiplexer.
Which terminals are GPU-accelerated?
Kitty, Alacritty, WezTerm and Ghostty are GPU-accelerated. foot is not, and Ptyxis draws through VTE and GTK 4's renderer.
Does foot work on X11?
No. foot is a Wayland terminal and is not tied to any desktop environment. On an X11 session, use one of the other terminals listed here.
Which terminals support ligatures?
Ghostty, kitty, WezTerm and Konsole support ligatures. Konsole needs the Complex Text Layout word mode. Alacritty, foot, Ptyxis and Terminator do not support them.