Like neofetch, but much faster because written mostly in C.
fastfetch is a system information tool designed to display hardware, software, and performance metrics in a visually appealing manner. Unlike neofetch, fastfetch is written primarily in C, ensuring faster execution and reduced resource usage.
Key Features:
Speed: Optimized for quick execution, making it ideal for use in shell scripts or startup processes.
Cross-platform Support: Works on Linux, macOS, Windows, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku, and SunOS.
Customizable Output: Uses JSONC (JSON with comments) for configuration, allowing users to tailor the displayed information and formatting.
Performance Metrics: Provides detailed insights into CPU, GPU, memory, disk usage, network interfaces, and more.
Comprehensive Modules: Supports a wide range of modules for different types of system information, including distro detection, package counts, shell details, and more.
README
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 7+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku, and SunOS.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike.
VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
Simple, fast and powerful
Plays everything - Files, Discs, Webcams, Devices and Streams.
Plays most codecs with no codec packs needed - MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3...
Runs on all platforms - Windows, Linux, Mac OS X, Unix, iOS, Android ...
Completely Free - no spyware, no ads and no user tracking.
PowerShell is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models.
It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.
Firefox Browser, also known as Mozilla Firefox or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards. In 2017, Firefox began incorporating new technology under the code name Quantum to promote parallelism and a more intuitive user interface. Firefox is officially available for Windows 7 or newer, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems including FreeBSD, OpenBSD, NetBSD, illumos, and Solaris Unix.
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
PuTTY is a client program for the SSH, Telnet, Rlogin, and SUPDUP network protocols.
These protocols are all used to run a remote session on a computer, over a network. PuTTY implements the client end of that session: the end at which the session is displayed, rather than the end at which it runs.
In really simple terms: you run PuTTY on a Windows machine, and tell it to connect to (for example) a Unix machine. PuTTY opens a window. Then, anything you type into that window is sent straight to the Unix machine, and everything the Unix machine sends back is displayed in the window. So you can work on the Unix machine as if you were sitting at its console, while actually sitting somewhere else.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike.
VLC is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
Simple, fast and powerful
Plays everything - Files, Discs, Webcams, Devices and Streams.
Plays most codecs with no codec packs needed - MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3...
Runs on all platforms - Windows, Linux, Mac OS X, Unix, iOS, Android ...
Completely Free - no spyware, no ads and no user tracking.
PowerShell is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models.
It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.
Firefox Browser, also known as Mozilla Firefox or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards. In 2017, Firefox began incorporating new technology under the code name Quantum to promote parallelism and a more intuitive user interface. Firefox is officially available for Windows 7 or newer, macOS, and Linux. Its unofficial ports are available for various Unix and Unix-like operating systems including FreeBSD, OpenBSD, NetBSD, illumos, and Solaris Unix.
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
PuTTY is a client program for the SSH, Telnet, Rlogin, and SUPDUP network protocols.
These protocols are all used to run a remote session on a computer, over a network. PuTTY implements the client end of that session: the end at which the session is displayed, rather than the end at which it runs.
In really simple terms: you run PuTTY on a Windows machine, and tell it to connect to (for example) a Unix machine. PuTTY opens a window. Then, anything you type into that window is sent straight to the Unix machine, and everything the Unix machine sends back is displayed in the window. So you can work on the Unix machine as if you were sitting at its console, while actually sitting somewhere else.
Accurate Data Display: Ensures precise representation of system data, such as memory sizes in appropriate units (e.g., 555.00 MiB instead of generic approximations).
Audience & Benefit:
Ideal for system administrators, developers, and users who need a fast, lightweight tool to gather and display system information. Fastfetch provides a polished and customizable way to present hardware and software details without the overhead of more resource-intensive alternatives.
Installation can be done via winget on Windows or through various package managers on Linux distributions.
According configuration files for examples are located here.
View all data that fastfetch detects: fastfetch -s [:][:] --format json
Display help messages: fastfetch --help
Generate a minimal config file: fastfetch [-s [:]] --gen-config []
Use: --gen-config-full to generate a full config file with all optional options
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 . These files can serve as examples of the configuration syntax.
Logos can also be heavily customized; see the logo documentation for more information.
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 all to discover what you want.
Fastfetch is more configurable. You can find more information in the Wiki: .
Fastfetch is more polished. For example, neofetch prints 555 MiB in the Memory module and 23 G in the Disk module, whereas fastfetch prints 555.00 MiB and 22.97 GiB respectively.
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.
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 -format
Q: I have my own ASCII art / image file. How can I show it with fastfetch?
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
Q: My image logo behaves strangely. How can I fix it?
See the troubleshooting section:
Q: Fastfetch runs in black and white on shell startup. Why?
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.
Q: Why do fastfetch and neofetch show different memory usage results?
Q: I use Debian / Ubuntu / Debian-derived distro. My GPU is detected as XXXX Device XXXX (VGA compatible). Is this a bug?
Try upgrading pci.ids: Download and overwrite the file /usr/share/hwdata/pci.ids. For AMD GPUs, you should also upgrade amdgpu.ids: Download 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.
Q: I get the error Authorization required, but no authorization protocol specified when running fastfetch as root
Try export XAUTHORITY=$HOME/.Xauthority
Q: Fastfetch cannot detect my awesome 3rd-party macOS window manager!
{
"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": , // Optional
"height": // Optional
}
}
If you installed fastfetch via scoop or downloaded the binary directly from the GitHub Releases page:
{
"logo": {
"type": "raw", // DO NOT USE "auto"
"source": "C:/path/to/image.sixel",
"width": , // Required
"height": // Required
}
}
Q: I want feature A / B / C. Will fastfetch support it?
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.
GitHub CLI (gh) is a command-line tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place.
GitHub CLI (gh) is a command-line tool that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place.
Signal is an encrypted communications application.
It uses the Internet to send one-to-one and group messages, which can include files, voice notes, images and videos, and make one-to-one voice and video calls.
Signal is an encrypted communications application.
It uses the Internet to send one-to-one and group messages, which can include files, voice notes, images and videos, and make one-to-one voice and video calls.
The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world, it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.
The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world, it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
KeePassXC is a modern, secure, and open-source password manager that stores and manages your most sensitive information. You can run KeePassXC on Windows, macOS, and Linux systems. KeePassXC is for people with extremely high demands of secure personal data management. It saves many different types of information, such as usernames, passwords, URLs, attachments, and notes in an offline, encrypted file that can be stored in any location, including private and public cloud solutions. For easy identification and management, user-defined titles and icons can be specified for entries. In addition, entries are sorted into customizable groups. An integrated search function allows you to use advanced patterns to easily find any entry in your database. A customizable, fast, and easy-to-use password generator utility allows you to create passwords with any combination of characters or easy to remember passphrases.
KeePassXC is a modern, secure, and open-source password manager that stores and manages your most sensitive information. You can run KeePassXC on Windows, macOS, and Linux systems. KeePassXC is for people with extremely high demands of secure personal data management. It saves many different types of information, such as usernames, passwords, URLs, attachments, and notes in an offline, encrypted file that can be stored in any location, including private and public cloud solutions. For easy identification and management, user-defined titles and icons can be specified for entries. In addition, entries are sorted into customizable groups. An integrated search function allows you to use advanced patterns to easily find any entry in your database. A customizable, fast, and easy-to-use password generator utility allows you to create passwords with any combination of characters or easy to remember passphrases.
Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.
Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.
Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode.
Opera is a multi-platform web browser developed by Opera Software. Opera is a Chromium-based browser. It distinguishes itself from other browsers through its user interface, functionality, and other features.
Opera is a multi-platform web browser developed by Opera Software. Opera is a Chromium-based browser. It distinguishes itself from other browsers through its user interface, functionality, and other features.
Opera is a multi-platform web browser developed by Opera Software. Opera is a Chromium-based browser. It distinguishes itself from other browsers through its user interface, functionality, and other features.
VirtualBox is a general-purpose full virtualization software for x86_64 hardware (with version 7.1 additionally for macOS/Arm), targeted at laptop, desktop, server and embedded use.
VirtualBox is a free and open-source virtualization tool that can help you create an emulated machine on your Windows computer. The application is fully customizable and offers high performance and flexibility. Even though VirtualBox doesn’t have a very user-friendly interface or an abundance of automated functions, it’s one of the most-sought after virtualization software by tech-savvy users.
With VirtualBox, you can run multiple operating systems on your computer simultaneously. These operating systems aren’t limited to Windows and also include macOS, Linux, and Oracle Solaris.
VirtualBox is a general-purpose full virtualization software for x86_64 hardware (with version 7.1 additionally for macOS/Arm), targeted at laptop, desktop, server and embedded use.
VirtualBox is a free and open-source virtualization tool that can help you create an emulated machine on your Windows computer. The application is fully customizable and offers high performance and flexibility. Even though VirtualBox doesn’t have a very user-friendly interface or an abundance of automated functions, it’s one of the most-sought after virtualization software by tech-savvy users.
With VirtualBox, you can run multiple operating systems on your computer simultaneously. These operating systems aren’t limited to Windows and also include macOS, Linux, and Oracle Solaris.
VirtualBox is a general-purpose full virtualization software for x86_64 hardware (with version 7.1 additionally for macOS/Arm), targeted at laptop, desktop, server and embedded use.
VirtualBox is a free and open-source virtualization tool that can help you create an emulated machine on your Windows computer. The application is fully customizable and offers high performance and flexibility. Even though VirtualBox doesn’t have a very user-friendly interface or an abundance of automated functions, it’s one of the most-sought after virtualization software by tech-savvy users.
With VirtualBox, you can run multiple operating systems on your computer simultaneously. These operating systems aren’t limited to Windows and also include macOS, Linux, and Oracle Solaris.