NEW Fastfetch 2.68.1 is now live with enhanced GPU & display metrics

The ultra-fast, highly customizable system information tool.

Fastfetch is a high-performance command-line system information tool written mainly in C, engineered as a modern, maintainable successor to Neofetch. It queries operating system attributes, hardware specifications, and desktop environments in sub-millisecond execution times and renders them alongside customizable ASCII or graphical logos.

Quick Install
$ brew install fastfetch # macOS & Linuxbrew
$ winget install fastfetch # Windows 10/11
$ sudo pacman -S fastfetch # Arch Linux
< 5 ms

Execution Time

75+

Hardware Modules

100% C

Zero Runtime Overhead

fastfetch -c neofetch.jsonc
/\ / \ /\ \ / \ / ,, \ / | | -\ /_-'' ''-_
user@fastfetch-box --------------------- OS: Arch Linux x86_64 Host: ThinkPad X1 Carbon Gen 11 Kernel: Linux 6.10.8-arch1-1 Uptime: 4 days, 6 hours, 12 mins Packages: 1142 (pacman), 14 (flatpak) Shell: zsh 5.9 Display: 2880x1800 @ 120Hz [OLED] DE: GNOME 46.4 (Wayland) Terminal: ptyxis 46.5 CPU: 13th Gen Intel i7-1365U (12) @ 5.20GHz GPU: Intel Raptor Lake-U [Iris Xe] Memory: 4.18 GiB / 31.06 GiB (13%) Disk (/): 142.6 GiB / 468.2 GiB (30%) Battery: 96% [Discharging, 6.2W]
AUTHORITATIVE OVERVIEW Fastfetch Reference Specification

What is Fastfetch?

Fastfetch is an open-source, high-performance command-line system information tool written mainly in C. It queries operating system attributes, hardware components, and software configurations to display a detailed, visually structured summary in terminal emulators alongside customizable ASCII art or high-resolution images. Designed to supersede Neofetch, Fastfetch emphasizes sub-millisecond execution speeds, minimal memory footprint, and deep native support across Linux, macOS, Windows 8.1+, Android, and BSD systems.

What is Fastfetch used for?

Fastfetch is used by software developers, Linux ricing enthusiasts, and systems administrators for three primary use cases: instant terminal greetings upon opening a shell session, hardware auditing & system diagnostics without heavy GUI overhead, and desktop screenshot showcases on communities like r/unixporn. Because it runs in 1–5 milliseconds, it delivers complete hardware metrics without terminal startup lag.

Unlike legacy shell-based fetchers that spawn dozens of sub-processes, Fastfetch queries kernel interfaces and shared libraries directly via dynamic linking. If an optional hardware library is absent, Fastfetch continues without failing, ensuring 100% crash-free portability across both server and desktop operating systems.

Primary Language C (C99 / C11 Standards)
Supported Platforms Linux, Windows, macOS, BSD, Android
Configuration Format JSONC (JSON with Comments)
Open Source License MIT Permissive License
Official Maintainer fastfetch-cli Organization

Why Developers & Sysadmins Choose Fastfetch

Fastfetch solves the slowness and bloat of legacy system fetch scripts, offering native C execution, over 75 hardware metrics, and full editor autocomplete.

Sub-Millisecond Multithreaded Execution

Fastfetch is implemented in pure, highly optimized C. Instead of executing hundreds of shell forks and sed/awk commands, it queries kernel syscalls, D-Bus, WMI, and native APIs asynchronously across multiple worker threads. The result is total execution times of 1 to 5 milliseconds, making it suitable for instant shell startup greetings without terminal lag.

75+ Built-in Modules

From CPU microarchitecture, GPU memory, and physical disk I/O to battery charge rates, TPM security status, audio devices, and Wi-Fi link speed, Fastfetch captures everything.

Cross-Platform Equality

First-class citizen support on Windows (via native Win32/WMI APIs), macOS (via IOKit and CoreGraphics), Linux, FreeBSD, OpenBSD, NetBSD, Android (Termux), and Haiku OS.

Modern Terminal Image Graphics

In addition to over 300 built-in ASCII distro logos, Fastfetch renders full-color PNG/JPEG logos natively using the Kitty graphics protocol, Sixel, iTerm2, or Unicode half-blocks with Chafa.

JSONC Configuration with Official JSON Schema

Fastfetch configurations use JSONC (JSON with comments), eliminating cryptic Bash variable scripts. An official JSON schema provides rich autocompletion, instant type checking, and hover documentation inside Visual Studio Code, Neovim, and Helix editors.

Fastfetch Themes, Presets & Dotfiles

Explore curated Fastfetch themes and dotfiles configurations for Unix ricing. One-click copy production-ready JSONC presets for Catppuccin, Nord, Tokyo Night, and Neofetch.

Community Favorite JSONC Preset

Catppuccin Mocha Dotfiles Theme

Warm, soothing pastel aesthetic featuring Catppuccin Mocha tones with custom magenta and sapphire accents. Ideal for minimalist Unix ricing setups.

Theme Palette:
Customize in Generator →
~/.config/fastfetch/config.jsonc

            

Practical JSONC Configuration Recipes

Production-tested configurations designed for real-world setups. Copy directly into ~/.config/fastfetch/config.jsonc or pass via fastfetch -c <path>.

Minimalist 5-Line Rice

Speed & Focus

Zero ASCII logo, ultra-compact key layout, and sub-millisecond execution. Perfect for high-frequency shell launches.

Logo: None Aligned Keys Sub-2ms Speed
minimal.jsonc
{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": {
    "type": "none"
  },
  "display": {
    "separator": " -> ",
    "key": {
      "width": 10
    }
  },
  "modules": [
    "title",
    "os",
    "kernel",
    "uptime",
    "memory"
  ]
}

Sysadmin Hardware Telemetry

Complete Audit

Comprehensive system health dashboard featuring CPU core temperatures, multi-disk usage bars, and colored RAM thresholds.

Thermal Sensors Storage Bars Color Percents
sysadmin.jsonc
{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "display": {
    "percent": {
      "type": 3
    }
  },
  "modules": [
    "title",
    "separator",
    "os",
    "kernel",
    "uptime",
    "processes",
    {
      "type": "cpu",
      "temp": true,
      "showPeCoreCount": true
    },
    {
      "type": "gpu",
      "temp": true
    },
    {
      "type": "memory",
      "percent": { "type": 3, "green": 40, "yellow": 75 }
    },
    {
      "type": "disk",
      "showExternal": true
    },
    "battery"
  ]
}

Media & Music Player Rice

r/unixporn

Desktop showcase preset querying Spotify, MPD, MPRIS, or Apple Music alongside terminal theme colors.

Spotify / MPRIS Active Track Color Palette
media.jsonc
{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": {
    "type": "small"
  },
  "modules": [
    "title",
    "separator",
    "os",
    "wm",
    "terminal",
    "terminalfont",
    "break",
    {
      "type": "player"
    },
    {
      "type": "media",
      "format": "{artist} - {title}"
    },
    "break",
    "colors"
  ]
}

Random Wallpaper / Sprite

Dynamic Art

Randomly loads an artwork from your wallpaper directory or uses a custom CLI sprite generator on every new shell session.

Glob Expansion Kitty / Sixel / Chafa Custom Sprites
dynamic.jsonc
{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "logo": {
    "type": "auto",
    "source": "~/Pictures/Wallpapers/*.png",
    "width": 28,
    "height": 14
  },
  "modules": [
    "title",
    "separator",
    "os",
    "host",
    "kernel",
    "shell",
    "display",
    "cpu",
    "gpu",
    "memory",
    "colors"
  ]
}

Install Fastfetch on Any Platform

Download verified standalone binaries directly from GitHub releases or install through your favorite operating system package manager.

How to install Fastfetch in Linux

Ubuntu / Debian / Mint

Add the official Launchpad PPA for the latest weekly Fastfetch release on Ubuntu 22.04 LTS, 24.04 LTS, or Debian 11+.

sudo add-apt-repository ppa:zhangsongcui3371/fastfetch && sudo apt install fastfetch

Fastfetch Arch Linux

Official Extra Repo

Fastfetch is packaged directly in Arch Linux official repositories. Install with pacman on Arch, Manjaro, or EndeavourOS.

sudo pacman -S fastfetch

Does Fastfetch work on Windows?

Windows 11 / 10 Native

Yes! Fastfetch has native Win32/WMI support (no Cygwin required). Install via Windows Package Manager (winget) or Scoop.

winget install fastfetch
Platform / Architecture Package Manager / Method Direct Download / Command
Windows (x64 / AMD64)
winget / Scoop / Chocolatey
winget install fastfetch
Windows (ARM64 / Snapdragon)
winget / Direct Archive
winget install fastfetch
macOS (Apple Silicon M1/M2/M3/M4)
Homebrew / MacPorts
brew install fastfetch
macOS (Intel x86_64)
Homebrew / MacPorts
brew install fastfetch
Ubuntu / Debian
APT / Official PPA / .deb
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch && sudo apt update && sudo apt install fastfetch
Arch Linux / Manjaro / EndeavourOS
Pacman
sudo pacman -S fastfetch
Fedora / RHEL / CentOS
DNF / .rpm package
sudo dnf install fastfetch
Universal Linux (Tarball / Polyfilled)
Standalone Tarball linux-amd64.tar.gz glibc polyfilled tar.gz
FreeBSD
pkg / Ports
sudo pkg install fastfetch
Android (Termux)
Termux Package Manager
pkg install fastfetch

Fastfetch vs Neofetch vs Hyfetch vs Macchina

Unlike Neofetch, which was officially archived in April 2024 and suffered from sluggish Bash regex parsing, Fastfetch is actively maintained and executes in pure C using multithreaded detection. Compared to Macchina (written in Rust) and Hyfetch (a Python-based Neofetch wrapper), Fastfetch provides the broadest hardware module library (over 75 metrics), true native Windows support without Cygwin dependencies, and comprehensive terminal image protocol support.

Evaluation Dimension Fastfetch Neofetch Hyfetch Macchina
Primary Language C (Native Binary) Bash Script Python + Bash Rust
Average Execution Time 1 – 5 ms 100 – 1,200 ms 150 – 800 ms 5 – 25 ms
Active Maintenance Status Active (Weekly releases) Archived / Abandoned (2024) Active Active
Native Windows Support ✓ Full Win32 / WMI Native ✗ Slow Cygwin/MSYS only ✗ Limited / WSL ✓ Partial
Configuration Format JSONC with JSON Schema Bash script variables Bash script variables TOML
Hardware & System Modules 75+ Comprehensive Modules ~30 Basic Modules ~30 Basic Modules ~20 Core Modules
High-Res Image Protocols Kitty, Sixel, iTerm2, Chafa w3m (frequently broken) Sixel / chafa ASCII only
Sub-Process Spawning 0 (Direct library calls) 50 to 200+ forks per run 50+ forks 0 (Rust bindings)

Is Fastfetch better than neofetch?

Yes, Fastfetch is substantially better than Neofetch across performance, maintenance, feature set, and platform portability. Neofetch was a monolithic Bash script officially archived in April 2024, plagued by high CPU overhead and sluggish execution (typically 100–1,200 ms due to spawning dozens of sub-shells). In contrast, Fastfetch is actively developed in high-performance C, executing in under 5 milliseconds (over 50× faster) via multithreaded native library calls. Fastfetch natively supports Windows 10/11 without Cygwin, offers over 75 hardware detection modules, and uses standard JSONC configuration with JSON Schema autocompletion.

MIGRATION GUIDE

Switching from Neofetch to Fastfetch

fastfetch -c neofetch
Neofetch Drop-in Emulation: Fastfetch includes an official built-in neofetch preset. Running fastfetch -c neofetch outputs your system info in the exact layout, colors, and structure of Neofetch—without the Bash lag.
CLI Flag & Concept Mapping
Neofetch (Archived) Fastfetch Equivalent Behavior & Purpose
neofetch fastfetch Execute standard system fetch summary
neofetch --config path fastfetch -c path Load custom configuration or built-in preset
~/.config/neofetch/config.conf ~/.config/fastfetch/config.jsonc Primary configuration file (Bash → JSONC)
neofetch --ascii_distro arch fastfetch --logo arch Override detected OS logo with specified ASCII logo
neofetch --off fastfetch --logo none Disable ASCII/graphical logo rendering entirely
neofetch --source /path/to/img fastfetch --logo /path/to/img --logo-type kitty Display high-resolution image instead of ASCII art
neofetch --clean fastfetch --gen-config-force Regenerate fresh configuration file
Bash regex string manipulation Fastfetch Format String Engine Format expressions like {1}, slicing, conditionals

Common Fastfetch CLI Commands

Practical copy-ready commands for running, customizing, and formatting Fastfetch on your system.

Default System Fetch

Runs Fastfetch with your active configuration or built-in defaults.

fastfetch

Run Built-in Preset

Loads an official preset such as neofetch, archey, or paleofetch.

fastfetch -c neofetch

Inspect All Supported Modules

Runs Fastfetch with every module enabled to explore available metrics.

fastfetch -c all.jsonc

Generate Default Config File

Creates a documented configuration file at ~/.config/fastfetch/config.jsonc.

fastfetch --gen-config

Force Custom Logo

Displays a specific built-in ASCII logo regardless of detected OS.

fastfetch --logo arch

Custom Structure On-the-Fly

Specifies exact modules to display using a colon-separated list.

fastfetch -s title:os:kernel:cpu:gpu:memory

Machine-Readable JSON Output

Outputs structured JSON data ideal for shell scripts and dashboards.

fastfetch --format json

List All Available Modules

Prints all 75+ modules supported by your compiled Fastfetch binary.

fastfetch --list-modules

Ecosystem & Shell Integrations

Fastfetch integrates cleanly into modern developer environments, prompt engines, and terminal emulators.

Shell Startup Greeting

Because Fastfetch runs in under 5 milliseconds, adding it to your ~/.bashrc, ~/.zshrc, or Fish greeting introduces zero perceptible startup delay.

echo 'fastfetch' >> ~/.zshrc

Starship & Oh My Posh

Fastfetch pairs seamlessly with prompt engines like Starship and Oh My Posh, sharing custom Nerd Font icon glyphs and terminal themes without conflicts.

Theme Compatible

Fastfetch-GUI Frontends

Community GUI frontends and configuration editors wrap Fastfetch for desktop users who prefer graphical menus over direct JSON editing.

Community Project

Docker & Containers

Deploy Fastfetch inside lightweight container environments to inspect host kernel, container memory limits, and container runtime metrics in CI/CD.

docker run --rm ghcr.io/fastfetch-cli/fastfetch

Universal Shell Greeting Configuration

Copy production-safe setup hooks for your favorite shell environment. Includes non-interactive SSH protections.

CRITICAL SCP / SFTP FIX: Never invoke fastfetch unconditionally at the top of ~/.bashrc! Non-interactive SSH tools like scp, sftp, and automated Git hooks will crash with "Received message too long" if stdout receives greeting text. Always guard with an interactive shell check:
~/.bashrc
# Only execute Fastfetch for interactive shell sessions
if [[ $- == *i* ]]; then
    fastfetch
fi

Place at the bottom of your ~/.zshrc file so completions, plugins, and Starship prompt engines finish initializing first:

~/.zshrc
# Fastfetch interactive greeting
[[ -o interactive ]] && fastfetch
Zsh Pro Tip: If you use Oh My Zsh, adding fastfetch takes < 2ms and won't block prompt rendering.

Add inside ~/.config/fish/config.fish using Fish's built-in interactive status function:

~/.config/fish/config.fish
if status is-interactive
    fastfetch
end

In Windows Terminal or standalone PowerShell, edit your $PROFILE (located at $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1):

Microsoft.PowerShell_profile.ps1
# Execute only in interactive terminal sessions
if ([Console]::IsOutputRedirected -eq $false) {
    fastfetch
}
PowerShell Execution Policy: If scripts are disabled, run: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser.

Add to your Nushell configuration file at $nu.config-path (e.g. config.nu or env.nu):

config.nu
# Fastfetch interactive greeting in Nushell
if (term size).columns > 0 {
    fastfetch
}

Visual Fastfetch Config Generator

Customize options in real time below. Copy or download your production-ready config.jsonc file.

~/.config/fastfetch/config.jsonc LIVE GENERATION

            

Everything You Need to Know About Fastfetch

Definitive answers to common queries regarding Fastfetch architecture, installation, troubleshooting, and optimization.

What is Fastfetch used for?
Fastfetch is used by software developers, Linux ricing enthusiasts, and systems administrators for three primary use cases: instant terminal greetings upon opening a shell session, rapid hardware auditing & system diagnostics without heavy GUI overhead, and desktop ricing screenshots shared on communities like r/unixporn. Because it runs in 1–5 milliseconds, it delivers complete hardware metrics without noticeable terminal startup lag.
Is Fastfetch better than neofetch?
Yes, Fastfetch is substantially better than Neofetch across performance, maintenance, feature set, and platform portability. Neofetch was officially archived in April 2024 and suffered from sluggish Bash execution (100–1,200 ms) due to spawning hundreds of sub-processes. Fastfetch is written in pure C, runs multithreaded in under 5 milliseconds (over 50x faster), natively supports Windows without Cygwin, offers over 75 hardware modules, supports modern image protocols (Kitty, Sixel, iTerm2), and uses JSONC configuration with schema validation.
How to install Fastfetch in Linux?
Fastfetch is available in the official repositories of almost all major Linux distributions: on Ubuntu/Debian run 'sudo add-apt-repository ppa:zhangsongcui3371/fastfetch && sudo apt update && sudo apt install fastfetch' (or 'sudo apt install fastfetch' on Debian 13+ / Ubuntu 24.10+); on Arch Linux run 'sudo pacman -S fastfetch'; on Fedora run 'sudo dnf install fastfetch'; on openSUSE run 'sudo zypper install fastfetch'; on Alpine run 'apk add fastfetch'; and on any distro with Homebrew run 'brew install fastfetch'.
Does Fastfetch work on Windows?
Yes, Fastfetch works natively on Windows 8.1, Windows 10, and Windows 11 without requiring WSL, MSYS2, or Cygwin. It queries the Windows Win32 APIs, WMI, and registry directly. You can install it on Windows by running 'winget install fastfetch' in PowerShell or Command Prompt, 'scoop install fastfetch' using Scoop, 'choco install fastfetch' using Chocolatey, or by downloading the standalone pre-compiled zip package from GitHub Releases.
How do I use Fastfetch themes, presets, and dotfiles?
Fastfetch includes built-in presets that can be loaded instantly with the -c flag, such as 'fastfetch -c neofetch', 'fastfetch -c archey', or 'fastfetch -c all.jsonc'. You can inspect all bundled presets with 'fastfetch --list-presets'. For custom community themes and dotfiles (like Catppuccin, Nord, or Tokyo Night), save your JSONC preset file into ~/.config/fastfetch/ or copy community presets into that directory and load them via 'fastfetch -c <name>'.
Where is the Fastfetch configuration file stored on disk?
On Linux and macOS, the primary Fastfetch configuration file is located at ~/.config/fastfetch/config.jsonc. On Windows, Fastfetch checks %USERPROFILE%\.config\fastfetch\config.jsonc or %APPDATA%\fastfetch\config.jsonc. You can generate a default configuration file anytime by executing the command 'fastfetch --gen-config'.
How do I change the Fastfetch logo or display a custom image?
To change the ASCII logo to another distribution or custom art, use 'fastfetch --logo <name>' (for example, 'fastfetch --logo arch'). To list all available built-in logos, run 'fastfetch --print-logos'. To render high-resolution images, use 'fastfetch --logo /path/to/image.png --logo-type kitty' (or sixel, iterm, or chafa). In config.jsonc, configure the 'logo' object with 'source' and 'type' keys.
How do I fix missing icons or broken square symbols in Fastfetch?
If Fastfetch displays question marks or square replacement boxes instead of hardware symbols, your terminal font lacks glyph support. To resolve this, install a Nerd Font (such as JetBrainsMono Nerd Font, FiraCode Nerd Font, or MesloLGS NF) and configure your terminal emulator to use that font.
Why does adding Fastfetch to ~/.bashrc break my SCP or SFTP connections?
Non-interactive SSH utilities like scp, sftp, and rsync source your shell's rc file but expect pure protocol communication on standard input/output. If Fastfetch prints greeting text, the client protocol parser fails with "Received message too long". To fix this, always guard your Fastfetch invocation with an interactive check in ~/.bashrc: if [[ $- == *i* ]]; then fastfetch; fi.
Why does Fastfetch take 2-3 seconds on Windows during the first execution?
On Windows, the first call to Windows Management Instrumentation (WMI) initializes the background DCOM service host, which can introduce a 1–2 second cold-start latency. Subsequent invocations execute in under 10 ms because Fastfetch caches query connections. To achieve instantaneous sub-5ms cold starts on Windows, configure Fastfetch to query direct Win32 APIs and omit slow WMI-only modules (such as WMI battery polling on desktops).
How do I accurately benchmark and profile Fastfetch startup time?
You can benchmark execution speed using standard timing tools: run time fastfetch --pipe false > /dev/null on Linux/macOS, or use the professional Rust CLI tool hyperfine 'fastfetch --pipe false' to perform statistically sound multi-run benchmarks with mean, standard deviation, and minimum execution time calculations.
How do I display a random wallpaper or custom sprite on each terminal startup?
In your config.jsonc file, set "logo": { "type": "auto", "source": "~/Pictures/Wallpapers/*.png" }. Fastfetch automatically performs glob expansion on *nix systems and randomly selects an image for each run. For CLI sprites (like Pokemon sprites), set "logo": { "type": "command-raw", "source": "pokeget random --hide-name" } or pipe via shell with pokeget random \| fastfetch --file-raw -.