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 7+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku, and SunOS.
According configuration files for examples are located here.
There are screenshots on different platforms.
Some distributions package outdated versions of fastfetch. Older versions receive no support, so please always try to use the latest version.
ppa:zhangsongcui3371/fastfetch
(for Ubuntu 22.04 or newer)apt install fastfetch
(for Debian 13 or newer)fastfetch-linux-<proper architecture>.deb
from Github release page and double-click it (for Ubuntu 20.04 or newer and Debian 11 or newer).pacman -S fastfetch
dnf install fastfetch
emerge --ask app-misc/fastfetch
apk add --upgrade fastfetch
nix-shell -p fastfetch
zypper install fastfetch
apt-get install fastfetch
cave resolve --execute app-misc/fastfetch
eopkg install fastfetch
sbopkg -i fastfetch
xbps-install fastfetch
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
scoop install fastfetch
choco install fastfetch
winget install fastfetch
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.
pkg install fastfetch
pkgin in fastfetch
pkg install fastfetch
https://nightly.link/fastfetch-cli/fastfetch/workflows/ci/dev?preview
See the Wiki: https://github.com/fastfetch-cli/fastfetch/wiki/Building
fastfetch
fastfetch -c all.jsonc
fastfetch -s <module> --format json
fastfetch --help
fastfetch --arg1 --arg2 --gen-config
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.
fastfetch -c all
to discover what you want.555 MiB
in the Memory module and 23 G
in the Disk module, whereas fastfetch prints 555.00 MiB
and 22.97 GiB
respectively.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
.
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.
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
Here is the documentation. It is generated from the JSON schema, but you might not find it very user-friendly.
Fastfetch uses format
to generate output. For example, to make the GPU
module show only the GPU name (leaving other information undisplayed), you can use:
{
"modules": [
{
"type": "gpu",
"format": "{name}" // See `fastfetch -h gpu-format` for details
}
]
}
...which is equivalent to fastfetch -s gpu --gpu-format '{name}'
See fastfetch -h format
for information on basic usage. For module-specific formatting, see fastfetch -h <module>-format
Try fastfetch -l /path/to/logo
. See the logo documentation for details.
If you just want to display the distro name in FIGlet text:
# install pyfiglet and jq first
pyfiglet -s -f small_slant $(fastfetch -s os --format json | jq -r '.[0].result.name') && fastfetch -l none
See the troubleshooting section: https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options#troubleshooting
This issue usually occurs when using fastfetch with p10k
. There are known incompatibilities between fastfetch and p10k instant prompt.
The p10k documentation clearly states that you should NOT print anything to stdout after p10k-instant-prompt
is initialized. You should put fastfetch
before the initialization of p10k-instant-prompt
(recommended).
You can always use fastfetch --pipe false
to force fastfetch to run in colorful mode.
See #1096.
Neofetch incorrectly counts rc
packages (packages that have been removed but still have configuration files remaining). See bug: https://github.com/dylanaraps/neofetch/issues/2278
XXXX Device XXXX (VGA compatible)
. Is this a bug?Try upgrading pci.ids
: Download https://pci-ids.ucw.cz/v2.2/pci.ids and overwrite the file /usr/share/hwdata/pci.ids
. For AMD GPUs, you should also upgrade amdgpu.ids
: Download https://gitlab.freedesktop.org/mesa/drm/-/raw/main/data/amdgpu.ids and overwrite the file /usr/share/libdrm/amdgpu.ids
Alternatively, you may try using fastfetch --gpu-driver-specific
, which will make fastfetch attempt to ask the driver for the GPU name if supported.
Authorization required, but no authorization protocol specified
when running fastfetch as rootTry export XAUTHORITY=$HOME/.Xauthority
Try fastfetch --wm-detect-plugin
. See also #984
Try fastfetch --logo-color-[1-9] <color>
, where [1-9]
is the index of color placeholders.
For example: fastfetch --logo-color-1 red --logo-color-2 green
.
In JSONC, you can use:
{
"logo": {
"color": {
"1": "red",
"2": "green"
}
}
}
Set the key to a white space.
{
"key": " "
}
As of April 2025:
mintty (used by Bash on Windows and MSYS2) and Wezterm (nightly build only) support the iTerm image protocol on Windows.
In config.jsonc
:
{
"logo": {
"type": "iterm",
"source": "C:/path/to/image.png",
"width": <num-in-chars>
}
}
Windows Terminal supports the sixel image protocol only.
pacman -S mingw-w64-<subsystem>-x86_64-imagemagick
config.jsonc
:{
"logo": {
"type": "sixel", // DO NOT USE "auto"
"source": "C:/path/to/image.png", // Do NOT use `~` as fastfetch is a native Windows program and doesn't apply cygwin path conversion
"width": <image-width-in-chars>, // Optional
"height": <image-height-in-chars> // Optional
}
}
config.jsonc
:{
"logo": {
"type": "raw", // DO NOT USE "auto"
"source": "C:/path/to/image.sixel",
"width": <image-width-in-chars>, // Required
"height": <image-height-in-chars> // Required
}
}
Fastfetch is a system information tool. We only accept hardware or system-level software feature requests. For most personal uses, I recommend using the Command
module to implement custom functionality, which can be used to grab output from a custom shell script:
// This module shows the default editor
{
"modules": [
{
"type": "command",
"text": "$EDITOR --version | head -1",
"key": "Editor"
}
]
}
Otherwise, please open a feature request in GitHub Issues.
If you find Fastfetch useful, please consider donating.
Give us a star to show your support!
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型