Fastfetch
A maintained, feature-rich and performance oriented, neofetch like system information tool.
Install / Use
/learn @fastfetch-cli/FastfetchREADME
Fastfetch
Fastfetch is a neofetch-like tool for fetching system information and displaying it in a visually appealing way. It is written mainly in C, with a focus on performance and customizability. Currently, it supports Linux, macOS, Windows 8.1+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku and SunOS (illumos, Solaris).
<img src="screenshots/example1.png" width="49%" align="left" /> <img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" /> <img src="screenshots/example4.png" width="49%" align="left" /> <img src="https://upload.wikimedia.org/wikipedia/commons/2/24/Transparent_Square_Tiles_Texture.png" width="49%" height="16px" align="left" /> <img src="screenshots/example2.png" width="48%" align="top" /> <img src="screenshots/example3.png" width="48%" align="top" /> <img src="screenshots/example5.png" height="15%" align="top" />Note: Fastfetch is only actively tested on x86-64 and aarch64 platforms. It may work on other platforms but is not guaranteed to do so.
According configuration files for examples are located here.
There are screenshots on different platforms.
Installation
Linux
Some distributions package outdated versions of fastfetch. Older versions receive no support, so please always try to use the latest version.
<a href="https://repology.org/project/fastfetch/versions"> <img src="https://repology.org/badge/vertical-allrepos/fastfetch.svg?columns=2" alt="Packaging status" align="right"> </a>- Ubuntu:
ppa:zhangsongcui3371/fastfetch(Ubuntu 22.04 or newer; latest version) - Debian / Ubuntu:
apt install fastfetch(Debian 13 or newer; Ubuntu 25.04 or newer) - Debian / Ubuntu: Download
fastfetch-linux-<proper architecture>.debfrom Github release page and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer). - Arch Linux:
pacman -S fastfetch - Fedora:
dnf install fastfetch - Gentoo:
emerge --ask app-misc/fastfetch - Alpine:
apk add --upgrade fastfetch - NixOS:
nix-shell -p fastfetch - openSUSE:
zypper install fastfetch - ALT Linux:
apt-get install fastfetch - Exherbo:
cave resolve --execute app-misc/fastfetch - Solus:
eopkg install fastfetch - Slackware:
sbopkg -i fastfetch - Void Linux:
xbps-install fastfetch - Venom Linux:
scratch install fastfetch
You may need sudo, doas, or sup to run these commands.
If fastfetch is not packaged for your distribution or an outdated version is packaged, linuxbrew is a good alternative: brew install fastfetch
macOS
Windows
- scoop:
scoop install fastfetch - Chocolatey:
choco install fastfetch - winget:
winget install fastfetch - MSYS2 MinGW:
pacman -S mingw-w64-<subsystem>-<arch>-fastfetch
You may also download the program directly from the GitHub releases page in the form of an archive file.
BSD systems
- FreeBSD:
pkg install fastfetch - NetBSD:
pkgin in fastfetch - OpenBSD:
pkg_add fastfetch(Snapshots only) - DragonFly BSD:
pkg install fastfetch(Snapshots only)
Android (Termux)
pkg install fastfetch
Nightly
https://nightly.link/fastfetch-cli/fastfetch/workflows/ci/dev?preview
Build from source
See the Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
Usage
- Run with default configuration:
fastfetch - Run with all supported modules to find what interests you:
fastfetch -c all.jsonc - View all data that fastfetch detects:
fastfetch -s <module1>[:<module2>][:<module3>] --format json - Display help messages:
fastfetch --help - Generate a minimal config file:
fastfetch [-s <module1>[:<module2>]] --gen-config [</path/to/config.jsonc>]- Use:
--gen-config-fullto generate a full config file with all optional options
- Use:
Customization
Fastfetch uses JSONC (JSON with comments) for configuration. See the Wiki for details. There are some premade config files in the presets directory, including those used for the screenshots above. You can load them using -c <filename>. These files can serve as examples of the configuration syntax.
Logos can also be heavily customized; see the logo documentation for more information.
WARNING
Fastfetch supports a Command module that can run arbitrary shell commands. If you copy-paste a config file from an untrusted source, it may contain malicious commands that can harm your system or compromise your privacy. Please always review the config file before using it.
FAQ
Q: Neofetch is good enough. Why do I need fastfetch?
- Fastfetch is actively maintained.
- Fastfetch is faster, as the name suggests.
- Fastfetch has a greater number of features, though by default it only has a few modules enabled; use
fastfetch -c allto discover what you want. - Fastfetch is more configurable. You can find more information in the Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Configuration.
- Fastfetch is more polished. For example, neofetch prints
555 MiBin the Memory module and23 Gin the Disk module, whereas fastfetch prints555.00 MiBand22.97 GiBrespectively. - Fastfetch is more accurate. For example, neofetch never actually supports the Wayland protocol.
Q: Fastfetch shows my local IP address. Does it leak my privacy?
A local IP address (10.x.x.x, 172.x.x.x, 192.168.x.x) has nothing to do with privacy. It only has meaning if you are on the same network, for example, if you connect to the same Wi-Fi network.
Actually, the Local IP module is the most useful module for me personally. I (@CarterLi) have several VMs installed to test fastfetch and often need to SSH into them. With fastfetch running on shell startup, I never need to type ip addr manually.
If you really don't like it, you can disable the Local IP module in config.jsonc.
Q: Where is the config file? I can't find it.
Fastfetch does not generate a config file automatically. You can use fastfetch --gen-config to generate one. The config file will be saved in ~/.config/fastfetch/config.jsonc by default. See the Wiki for details.
Q: The configuration is so complex. Where is the documentation?
Fastfetch uses JSON (with comments) for configuration. I suggest using an IDE with JSON schema support (like VSCode) to edit it.
Alternatively, you can refer to the presets in the presets directory.
The correct way to edit the configuration:
This is an example that changes size prefix from MiB / GiB to MB / GB. Editor used: helix
Q: I WANT THE DOCUMENTATION!
Here is the documentation. It is generated from the JSON schema, but you might not find it very user-friendly.
