fastfetch - Man Page

A fast and feature-rich system information tool similar to neofetch

Examples (TL;DR)

Synopsis

fastfetch [Options...]

Description

Fastfetch is a tool for displaying system information in a visually appealing way. Written primarily in C, it focuses on performance and customizability while providing functionality similar to neofetch. It supports Linux, Android, FreeBSD, macOS, and Windows 7 or newer.

Configuration

Fetch Structure

The structure defines which modules to display and in what order. It consists of module names separated by colons (:). For example: title:separator:os:kernel:uptime

To list all available modules, use --list-modules

Config Files

Fastfetch uses JSONC (JSON with Comments) for configuration files. These files must have the .jsonc extension.

You can generate a default config file using --gen-config. By default, the config file is saved at ~/.config/fastfetch/config.jsonc.

The configuration/preset files are searched in the following locations (in order):

1. Relative to the current working directory

2. Relative to ~/.local/share/fastfetch/presets/

3. Relative to /usr/share/fastfetch/presets/

For detailed information on logo options, module configuration, and formatting, visit: https://github.com/fastfetch-cli/fastfetch/wiki/Configuration

Fastfetch provides several built-in presets. List them with --list-presets.

JSON Schema

A JSON schema is available for editor intelligence when editing the configuration file. Add the following line at the beginning of your config file:

"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json"

Options

Options are parsed in a case-insensitive manner. For example, --logo-type and --LOGO-TYPE are treated identically.

Arguments in square brackets are optional. Optional boolean arguments default to 'true' when specified without a value.

For more detailed information about a specific option, use: fastfetch -h <option_name_without_dashes>

Any combination of options can be made permanent by generating a configuration file: fastfetch <options> --gen-config

Informative

-h,  --help [command]

Display this help message or help for a specific command

-v,  --version

Show the full version of fastfetch

--version-raw

Display the raw version string (major.minor.patch)

--list-config-paths

List search paths for config files

--list-data-paths

List search paths for presets and logos

--list-logos

List available logos

--list-modules

List available modules

--list-presets

List presets that fastfetch knows about

Presets can be loaded with "--config <preset-name>"

--list-features

List the supported features that fastfetch was compiled with

Mainly for development

--print-logos

Display available logos

--print-structure

Display the default structure

--format enum

Set output format

Config

-c,  --config config

Specify the config file or preset to load

The file will be searched according to the order shown by "fastfetch --list-config-paths". Use "none" to disable further config loading. See also https://github.com/fastfetch-cli/fastfetch/wiki/Configuration for more info

--gen-config [path]

Generate a config file at the specified path with options from the command line (if any)

Defaults to "~/.config/fastfetch/config.jsonc". Will print the generated config if <path> is "-"

--gen-config-force [path]

Generate a config file at the specified path, overwriting any existing file

Defaults to "~/.config/fastfetch/config.jsonc"

General

--thread [bool]

Use separate threads for HTTP requests

--wmi-timeout num

Set the timeout (ms) for WMI queries

Windows only

--processing-timeout num

Set the timeout (ms) when waiting for child processes

--ds-force-drm [enum]

Specify whether only DRM should be used to detect displays

Use this option if you encounter problems with other detection methods.
Linux only

--detect-version [bool]

Specify whether to detect and display versions of terminal, shell, editor, and others

Mainly for benchmarking

Display

-s,  --structure structure

Set the structure of the fetch

Must be a colon-separated list of keys. Use "fastfetch --list-modules" to see available options

--stat [bool]

Show time usage (in ms) for individual modules

--pipe [bool]

Disable colors

Auto-detected based on isatty(1) by default

--color color

Set the color of both keys and title

Shortcut for "--color-keys <color>" and "--color-title <color>"
For color syntax, see <https://github.com/fastfetch-cli/fastfetch/wiki/Color-Format-Specification>

--color-keys color

Set the color of the keys

Doesn't affect Title, Separator, and Colors modules. See `-h color` for the list of available colors

--color-title color

Set the color of the title

See `-h color` for the list of available colors

--color-output color

Set the color of module output

See `-h color` for the list of available colors

--color-separator color

Set the color of the key-value separator

See `-h color` for the list of available colors

--key-width num

Align the width of keys to <num> characters

--key-padding-left num

Set the left padding of keys to <num> characters

--key-type enum

Specify whether to show an icon before string keys

--bright-color [bool]

Specify whether keys, title, and ASCII logo should be printed in bright color

--separator str

Set the separator between key and value

--show-errors [bool]

Print errors when they occur

--disable-linewrap [bool]

Specify whether to disable line wrap during execution

--hide-cursor [bool]

Specify whether to hide the cursor during execution

--percent-type num

Set the percentage output type

1 for percentage number
2 for multi-color bar
3 for both
6 for bar only
9 for colored number
10 for monochrome bar

--percent-ndigits num

Set the number of digits to keep after the decimal point when formatting percentage numbers

--percent-color-green color

Set color used for the green state of percentage bars and numbers

See `-h color` for the list of available colors

--percent-color-yellow color

Set color used for the yellow state of percentage bars and numbers

See `-h color` for the list of available colors

--percent-color-red color

Set color used for the red state of percentage bars and numbers

See `-h color` for the list of available colors

--bar-char-elapsed str

Set the character to use in the elapsed part of percentage bars

--bar-char-total str

Set the character to use in the total part of percentage bars

--bar-border-left string

Set the string to use at the left border of percentage bars

--bar-border-right string

Set the string to use at the right border of percentage bars

--bar-width num

Set the width of percentage bars in characters

--no-buffer [bool]

Specify whether the stdout application buffer should be disabled

--size-ndigits num

Set the number of digits to keep after the decimal point when formatting sizes

--size-binary-prefix enum

Set the binary prefix to use when formatting sizes

--size-max-prefix enum

Set the largest binary prefix to use when formatting sizes

--freq-ndigits num

Set the number of digits to keep after the decimal point when printing CPU/GPU frequency in GHz

--fraction-ndigits num

Set the number of digits to keep after the decimal point when printing ordinary fraction numbers

If negative, the number of digits will be automatically determined based on the value

--temp-unit enum

Set the temperature unit

--temp-ndigits num

Set the number of digits to keep after the decimal point when printing temperature

--temp-color-green color

Set color used for the green state of temperature values

See `-h color` for the list of available colors

--temp-color-yellow color

Set color used for the yellow state of temperature values

See `-h color` for the list of available colors

--temp-color-red color

Set color used for the red state of temperature values

See `-h color` for the list of available colors

Module specific

--title-fqdn [bool]

Specify whether the title should use fully qualified domain name

--title-color-user color

Set the color of the user name (left part)

See `-h color` for the list of available colors

--title-color-at color

Set the color of the @ symbol (middle part)

See `-h color` for the list of available colors

--title-color-host color

Set the color of the host name (right part)

See `-h color` for the list of available colors

--separator-string str

Set the string to be printed by the separator line

--separator-output-color color

Set the color of the separator line

--separator-length num

Set the length of the separator line

Set to 0 to automatically calculate it based on the title length

--disk-folders path

A colon (semicolon on Windows) separated list of folder paths to detect

On Windows, a drive letter must be upper-cased and end with "

--disk-hide-folders path

A colon (semicolon on Windows) separated list of folder paths to hide from the disk output

--disk-hide-fs string

A colon separated list of file systems to hide from the disk output

--disk-show-regular [bool]

Specify whether regular volumes should be displayed

--disk-show-external [bool]

Specify whether external volumes should be displayed

--disk-show-hidden [bool]

Specify whether hidden volumes should be displayed

--disk-show-subvolumes [bool]

Specify whether subvolumes should be displayed

--disk-show-readonly [bool]

Specify whether read-only volumes should be displayed

--disk-show-unknown [bool]

Specify whether unknown volumes (unable to detect sizes) should be displayed

--disk-use-available [bool]

Use f_bavail (lpFreeBytesAvailableToCaller for Windows) instead of f_bfree to calculate used bytes

May be required for macOS to display correct results

--diskio-detect-total bool

Detect total bytes instead of current rate

--diskio-name-prefix str

Show only disks with the given name prefix

--diskio-wait-time num

Set the wait time (in ms) when detecting disk usage

--physicaldisk-name-prefix str

Show only disks with the given name prefix

--physicaldisk-temp [bool]

Detect and display SSD temperature if supported

--bluetooth-show-disconnected [bool]

Specify whether disconnected Bluetooth devices should be displayed

--packages-disabled string

A colon-separated list of package managers to disable when detecting

Some detection methods can be very slow.
You may need to increase the value of '--processing-timeout' to make it work properly.
Use `--packages-disabled none` to enable all.

--packages-combined [bool]

Whether to combine related package managers into single counts

e.g., nix-system + nix-user = nix

--display-compact-type enum

Specify whether all displays should be printed in one line

--display-precise-refresh-rate [bool]

Specify whether decimal refresh rates should not be rounded to integers when printing

--display-order enum

Set the order to use when printing displays

--brightness-ddcci-sleep num

Set the sleep time (in ms) when sending DDC/CI requests

See <https://www.ddcutil.com/performance_options/#option-sleep-multiplier> for details

--brightness-compact bool

Specify whether multiple results should be printed in one line

--sound-type enum

Set which types of sound devices should be displayed

--battery-use-setup-api [bool]

Specify whether "SetupAPI" should be used on Windows to detect battery info

SetupAPI supports multiple batteries, but is slower.
Windows only

--cpu-temp [bool]

Detect and display CPU temperature if supported

--cpu-show-pe-core-count [bool]

Detect and display CPU frequency of different core types (e.g., P-cores and E-cores) if supported

--cpucache-compact [bool]

Show all CPU caches in one line

--cpuusage-separate [bool]

Display CPU usage per logical core, instead of an average result

--cpuusage-wait-time num

Set the wait time (in ms) when detecting CPU usage

--de-slow-version-detection [bool]

Specify whether DE version should be detected with slower operations

This is only used as a fallback method. Please file a bug report if you encounter any issues.
Linux only

--gpu-temp [bool]

Detect and display GPU temperature if supported

--gpu-driver-specific [bool]

Use driver-specific methods to detect more detailed GPU information (memory usage, core count, etc.)

Requires the latest GPU drivers to be installed.

--gpu-detection-method enum

Force using a specified method to detect GPUs

Will fall back to other methods if the specified method fails

--gpu-hide-type enum

Specify which types of GPUs should not be displayed (default: all GPUs are shown, regardless of recognition)

--battery-temp [bool]

Detect and display battery temperature if supported

--loadavg-ndigits num

Set the number of digits to keep after the decimal point when printing load average

--loadavg-compact [bool]

Show load average values in one line

--localip-show-ipv4 [bool]

Show IPv4 addresses in the local IP module

--localip-show-ipv6 [bool]

Show IPv6 addresses in the local IP module

--localip-show-mac [bool]

Show MAC addresses in the local IP module

--localip-show-loop [bool]

Show loopback addresses (127.0.0.1) in the local IP module

--localip-show-mtu [bool]

Show network interface MTU (Maximum Transmission Unit) size in bytes

--localip-show-speed [bool]

Show network interface link speed in human-readable format (or as a 1Mb units integer in JSON format)

--localip-show-prefix-len [bool]

Show network prefix length (/N) in the local IP module

--localip-name-prefix str

Show only interfaces with the given interface name prefix

--localip-default-route-only [bool]

Show only the interface that is used for default routing

Doesn't work on Android

--localip-show-all-ips [bool]

Show all IPs bound to the same interface. By default, only the first IP is shown

--localip-show-flags [bool]

Show network interface flags in the local IP module

--localip-compact [bool]

Show all IPs in one line

--dns-show-type enum

Specify which types of DNS servers should be detected

--netio-name-prefix str

Show only interfaces with the given name prefix

--netio-default-route-only [bool]

Show only the interface that is used for default routing

Doesn't work on Android

--netio-detect-total bool

Detect total bytes instead of current rate

--netio-wait-time num

Set the wait time (in ms) when detecting network usage

--publicip-timeout num

Time in milliseconds to wait for the public IP server to respond

0 to disable timeout

--publicip-url str

The URL of the public IP detection server to use

--publicip-ipv6 bool

Specify whether to use IPv6 for the public IP detection server

--weather-location str

Set the location to use

Must be URI encoded (e.g., a whitespace must be encoded as "+")

--weather-timeout num

Time in milliseconds to wait for the weather server to respond

0 to disable timeout

--weather-output-format str

The output weather format to use

Must be URI encoded

--wm-detect-plugin [bool]

Specify whether window manager plugins should be detected on supported platforms

--users-compact [bool]

Show all active users in one line

--users-myself-only [bool]

Show only the current user

--player-name str

The name of the player to use for the Media and Player modules

Linux only

--opengl-library enum

Set the OpenGL context creation library to use

--command-shell str

Set the shell program to execute the command text

--command-param str

Set the parameter to use when starting the shell

If set to an empty string, it will be ignored

--command-key str

Set the module key to display

--command-text str

Set the command text to execute

--colors-symbol enum

Set the symbol to be printed by the Colors module

--colors-padding-left num

Set the number of white spaces to print before the symbol

--colors-block-width num

Set the block width in spaces

--colors-block-range-start num

Set the start range of colors in the blocks to print

Display colors 0-15 in the blocks. (16 colors)
Display colors 0-7 in the blocks. (8 colors)
Only works for `--colors-symbol block`.
Must be in range 0-15
See also `--colors-range-end`

--colors-block-range-end num

Set the end range of colors in the blocks to print

Display colors 0-15 in the blocks. (16 colors)
Display colors 0-7 in the blocks. (8 colors)
Only works for `--colors-symbol block`.
Must be in range 0-15
See also `--colors-range-start`

General module

--<module>-format format

Set the format string to use for a specific module
See <https://github.com/fastfetch-cli/fastfetch/wiki/Format-String-Guide>
For help about a specific format string, use "fastfetch -h <module>-format"

--<module>-key key

Set the key to use for a specific module.
For modules that print multiple lines, the string is parsed
as a format string with the index as the first character

--<module>-key-color color

Override the global "--color-keys" option for a specific module

--<module>-key-icon string

Set the icon to be displayed by "--key-type icon"

--<module>-output-color color

Override the global "--color-output" option for a specific module

--<module>-key-width num

Override the global "--key-width" option for a specific module

--<module>-percent-green num

Threshold for percentage color ranges
Values less than percent-green will be shown in green

--<module>-percent-yellow num

Threshold for percentage color ranges
Values greater than percent-green and less than percent-yellow will be shown in yellow
Values greater than percent-yellow will be shown in red

--<module>-percent-type num

Set the percentage output type

0 to use global `--percent-type` value
1 for percentage number
2 for multi-color bar
3 for both
6 for bar only
9 for colored number
10 for monochrome bar

--<module>-temp-green num

Threshold for temperature color ranges
Values less than temp-green will be shown in green

--<module>-temp-yellow num

Threshold for temperature color ranges
Values greater than temp-green and less than temp-yellow will be shown in yellow
Values greater than temp-yellow will be shown in red

Examples

Basic Usage

fastfetch

Custom structure

fastfetch --structure title:os:kernel:uptime:memory

Generate a config file

fastfetch --gen-config

Use a preset

fastfetch --config neofetch

Config File Example

// ~/.config/fastfetch/config.jsonc
{
    "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
    "logo": {
        "type": "auto",
        "source": "arch"
    },
    "display": {
        "separator": ": ",
        "color": {
            "keys": "blue",
            "title": "red"
        },
        "key": {
            "width": 12
        }
    },
    "modules": [
        "title",
        "separator",
        "os",
        "kernel",
        "uptime",
        {
            "type": "memory",
            "format": "{used}/{total} ({used_percent}%)"
        }
    ]
}

See Also

neofetch(1)

Bugs

Please report bugs to: https://github.com/fastfetch-cli/fastfetch/issues

Authors

Fastfetch is developed by a team of contributors on GitHub. Visit https://github.com/fastfetch-cli/fastfetch for more information.

Info

Jul 23 2025 Fastfetch 2.48.1