MCPcopy Index your code
hub / github.com/alacritty/alacritty

github.com/alacritty/alacritty @v0.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.0 ↗ · + Follow
1,646 symbols 5,602 edges 88 files 398 documented · 24% updated 16d agov0.17.0 · 2026-04-06★ 64,792326 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img width="200" alt="Alacritty Logo" src="https://raw.githubusercontent.com/alacritty/alacritty/master/extra/logo/compat/alacritty-term%2Bscanlines.png">

Alacritty - A fast, cross-platform, OpenGL terminal emulator

Alacritty - A fast, cross-platform, OpenGL terminal emulator

About

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.

The software is considered to be at a beta level of readiness; there are a few missing features and bugs to be fixed, but it is already used by many as a daily driver.

Precompiled binaries are available from the GitHub releases page.

Join [#alacritty] on libera.chat if you have questions or looking for a quick help.

Features

You can find an overview over the features available in Alacritty here.

Further information

Installation

Alacritty can be installed by using various package managers on Linux, BSD, macOS and Windows.

Prebuilt binaries for macOS and Windows can also be downloaded from the GitHub releases page.

For everyone else, the detailed instructions to install Alacritty can be found here.

Requirements

  • At least OpenGL ES 2.0
  • [Windows] ConPTY support (Windows 10 version 1809 or higher)

Configuration

You can find the documentation for Alacritty's configuration in man 5 alacritty, or by looking at the website if you do not have the manpages installed.

Alacritty doesn't create the config file for you, but it looks for one in the following locations:

  1. $XDG_CONFIG_HOME/alacritty/alacritty.toml
  2. $XDG_CONFIG_HOME/alacritty.toml
  3. $HOME/.config/alacritty/alacritty.toml
  4. $HOME/.alacritty.toml
  5. /etc/alacritty/alacritty.toml

On Windows, the config file will be looked for in:

  • %APPDATA%\alacritty\alacritty.toml

Contributing

A guideline about contributing to Alacritty can be found in the CONTRIBUTING.md file.

FAQ

Is it really the fastest terminal emulator?

Benchmarking terminal emulators is complicated. Alacritty uses vtebench to quantify terminal emulator throughput and manages to consistently score better than the competition using it. If you have found an example where this is not the case, please report a bug.

Other aspects like latency or framerate and frame consistency are more difficult to quantify. Some terminal emulators also intentionally slow down to save resources, which might be preferred by some users.

If you have doubts about Alacritty's performance or usability, the best way to quantify terminal emulators is always to test them with your specific usecases.

Why isn't feature X implemented?

Alacritty has many great features, but not every feature from every other terminal. This could be for a number of reasons, but sometimes it's just not a good fit for Alacritty. This means you won't find things like tabs or splits (which are best left to a window manager or terminal multiplexer) nor niceties like a GUI config editor.

License

Alacritty is released under the Apache License, Version 2.0.

Extension points exported contracts — how you extend this code

OnResize (Interface)
Types that are interested in when the display is resized. [4 implementers]
alacritty_terminal/src/event.rs
LoadGlyph (Interface)
`LoadGlyph` allows for copying a rasterized glyph into graphics memory. [3 implementers]
alacritty/src/renderer/text/glyph_cache.rs
SerdeReplace (Interface)
(no doc) [4 implementers]
alacritty_config/src/lib.rs
EventListener (Interface)
Event Loop for notifying the renderer about terminal events. [4 implementers]
alacritty_terminal/src/event.rs
IntoRects (Interface)
Trait for conversion into the iterator. [1 implementers]
alacritty/src/display/cursor.rs
Dimensions (Interface)
Grid dimensions. [4 implementers]
alacritty_terminal/src/grid/mod.rs
TextRenderer (Interface)
(no doc) [2 implementers]
alacritty/src/renderer/text/mod.rs
EventedReadWrite (Interface)
Stream read and/or write behavior. This defines an abstraction over polling's interface in order to allow either one re [2 …
alacritty_terminal/src/tty/mod.rs

Core symbols most depended-on inside this repo

new
called by 870
alacritty_terminal/src/tty/unix.rs
push
called by 120
alacritty/src/message_bar.rs
insert
called by 92
alacritty/src/renderer/text/atlas.rs
contains
called by 78
alacritty/src/renderer/mod.rs
contains
called by 78
alacritty_terminal/src/selection.rs
grid_mut
called by 69
alacritty_terminal/src/term/mod.rs
motion
called by 67
alacritty_terminal/src/vi_mode.rs
len
called by 50
alacritty/src/renderer/text/glsl3.rs

Shape

Method 990
Function 347
Class 228
Enum 61
Interface 20

Languages

Rust100%

Modules by API surface

alacritty_terminal/src/term/mod.rs153 symbols
alacritty/src/event.rs100 symbols
alacritty/src/input/mod.rs87 symbols
alacritty/src/display/mod.rs58 symbols
alacritty_terminal/src/term/search.rs56 symbols
alacritty/src/config/bindings.rs54 symbols
alacritty/src/config/ui_config.rs46 symbols
alacritty/src/display/window.rs43 symbols
alacritty_terminal/src/grid/mod.rs42 symbols
alacritty_terminal/src/grid/storage.rs37 symbols
alacritty/src/cli.rs37 symbols
alacritty_terminal/src/vi_mode.rs36 symbols

For agents

$ claude mcp add alacritty \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page