Reference

fastfetch(1)

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

NAME

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

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]

Show this help message or help for a specific command

-v, --version

Show the full Fastfetch version

--version-raw

Show 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 available presets

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

--list-features

List the supported features that fastfetch was compiled with

Mainly for development

--print-logos

Show available logos

--print-structure

Show the default structure

--format enum

Set the output format

-j, --json [bool]

Enable or disable JSON output

Shortcut for `--format json`

--dynamic-interval num

Keep Fastfetch running and refresh the output every <num> milliseconds

Set to 0 (default) to disable this behavior; does not work with --json

-w, --watch [num]

Alias of dynamic-interval, but the value is in seconds instead of milliseconds. If no value is provided, it defaults to 1 second

Config

-c, --config config

Specify the config file or preset to load

The file is searched in the order shown by "fastfetch --list-config-paths". Use "-" to read config from stdin, or "none" to disable further config loading. See also https://github.com/fastfetch-cli/fastfetch/wiki/Configuration for details

--gen-config [path]

Interactively generate a config file at the specified path

Opens an interactive configuration UI when run in a terminal. Falls back to non-interactive generation when env-var `$NO_COLOR` is set or stdin/stdout is not a TTY. Defaults to "~/.config/fastfetch/config.jsonc". Prints the generated config if <path> is "-"

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 display detection should use DRM only

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

--detect-version [bool]

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

Mainly for benchmarking

Logo

-l, --logo logo

Set the logo source. Use "none" to disable logo output

Use either a built-in logo name or a path to an image file. See also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options

--logo-type enum

Set the type of logo specified by "--logo"

See also https://github.com/fastfetch-cli/fastfetch/wiki/Logo-options

--logo-width num

Set the width of the logo (in characters) if it is an image

Required for iTerm image protocol

--logo-height num

Set the height of the logo (in characters) if it is an image

Required for iTerm image protocol

--logo-preserve-aspect-ratio [bool]

Specify whether the logo should fill the specified width and height as much as possible without stretching

Supported by iTerm image protocol only

--logo-color-[1-9] color

Override a color in the logo

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

--logo-padding num

Set the padding on the left and right sides of the logo

--logo-padding-left num

Set the padding on the left side of the logo

--logo-padding-right num

Set the padding on the right side of the logo

--logo-padding-top num

Set the padding at the top of the logo

--logo-padding-bottom num

Set the padding at the bottom of the logo

Only used with "--logo-position top"

--logo-print-remaining [bool]

Specify whether to print remaining logo lines when the logo is taller than the module list

--logo-position enum

Set the display position of the logo

--logo-cache [enum]

Specify how the image logo cache is used

See "--help logo-animation-frame" for the one case where a cached rendering can outlive the image type that produced it

--logo-animation-frame [num]

Select which frame of an animated image logo to render

Animated kitty graphics only, and only if the image source is animated; 1 or higher renders that frame as a still image, 0 plays the animation
A selected frame is cached exactly like the first frame is, sharing its entries; the frame number is recorded next to them, so changing this option re-renders
That record is per cache directory, not per image type: switching --logo-type between two types that both have a cached rendering here, and asking for a different frame, can pair one type's rendering with the other's frame number
Run "--logo-cache regen" after such a switch

--file path

Short for --logo-type file --logo <path>

See "--help logo-type" for more info

--file-raw path

Short for --logo-type file-raw --logo <path>

See "--help logo-type" for more info

--data data

Short for --logo-type data --logo <data>

See "--help logo-type" for more info

--data-raw data

Short for --logo-type data-raw --logo <data>

See "--help logo-type" for more info

--raw path

Short for --logo-type raw --logo <path>

See "--help logo-type" for more info

--sixel path

Short for --logo-type sixel --logo <path>

See "--help logo-type" for more info

--kitty path

Short for --logo-type kitty --logo <path>

See "--help logo-type" for more info

--kitty-direct path

Short for --logo-type kitty-direct --logo <path>

See "--help logo-type" for more info

--kitty-icat path

Short for --logo-type kitty-icat --logo <path>

See "--help logo-type" for more info

--iterm path

Short for --logo-type iterm --logo <path>

See "--help logo-type" for more info

--chafa path

Short for --logo-type chafa --logo <path>

See "--help logo-type" for more info

--chafa-fg-only [bool]

Produce character-cell output using foreground colors only

See the Chafa documentation for details

--chafa-symbols str

Specify character symbols to employ in final output

See the Chafa documentation for details

--chafa-canvas-mode enum

Determine how colors are used in the output

This value maps to the integer value of enum ChafaCanvasMode. See the Chafa documentation for details

--chafa-color-space enum

Set the color space used for quantization

This value maps to the integer value of enum ChafaColorSpace. See the Chafa documentation for details

--chafa-dither-mode enum

Set the output dithering mode (no effect with 24-bit color)

This value maps to the integer value of enum ChafaDitherMode. See the Chafa documentation for details

Display

-s, --structure structure

Set the structure of the fetch

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

--structure-disabled structure

Disable specific modules in the structure

Must be a colon-separated list of keys

--stat [bool]

Show execution time (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

--duration-abbreviation [bool]

Specify whether to abbreviate duration values

If true, output is shown as "1h 2m" instead of "1 hour, 2 mins"

--duration-space-before-unit enum

Specify whether to put a space before the unit in duration values

--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

--key-language [enum]

Specify the language used for module keys

Leave empty for auto-detection based on the system locale. Unsupported locales fall back to English

--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 style

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 decimal places to use when formatting percentages

--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

--percent-space-before-unit enum

Specify whether to put a space before the percentage symbol

--percent-width num

Specify the width of the percentage number, in characters

This option affects only percentage numbers, not bars

--bar-char-elapsed str

Set the character used for the elapsed part of percentage bars

--bar-char-total str

Set the character used for 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-border-left-elapsed string

If both bar-border-left-elapsed and bar-border-right-elapsed are set, the border is used as part of the bar content

--bar-border-right-elapsed string

If both bar-border-left-elapsed and bar-border-right-elapsed are set, the border is used as part of the bar content

--bar-color-elapsed color

Set the color used for the elapsed part of percentage bars

By default, this is auto-selected by percent-color-{green,yellow,red}

--bar-color-total color

Set the color used for the total part of percentage bars

--bar-color-border color

Set the color used for percentage bar borders

--bar-width num

Set the width of percentage bars in characters

--no-buffer [bool]

Specify whether stdout buffering should be disabled

--size-ndigits num

Set the number of decimal places to use 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

--size-space-before-unit enum

Specify whether to put a space before the unit

--freq-ndigits num

Set the number of decimal places to use when printing CPU/GPU frequency in GHz

--freq-space-before-unit enum

Specify whether to put a space before the unit

--fraction-ndigits num

Set the number of decimal places to use when printing fractional values

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

--fraction-trailing-zeros enum

Set when to keep trailing zeros

--temp-unit enum

Set the temperature unit

--temp-ndigits num

Set the number of decimal places to use when printing temperatures

--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

--temp-space-before-unit enum

Specify whether to put a space before the unit

EXAMPLES

Basic Usage

fastfetch

Use a specific logo

fastfetch --logo arch

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.

History

--bar-border-left-elapsed since Arch Linux 2026-11-01; --bar-border-right-elapsed since Arch Linux 2026-11-01; --bar-color-border since Arch Linux 2026-11-01; --bar-color-elapsed since Arch Linux 2026-11-01; --bar-color-total since Arch Linux 2026-11-01; --duration-abbreviation since Arch Linux 2026-11-01; --duration-space-before-unit since Arch Linux 2026-11-01; --dynamic-interval since Arch Linux 2026-11-01; --fraction-ndigits since Arch Linux 2026-11-01; --fraction-trailing-zeros since Arch Linux 2026-11-01; --freq-space-before-unit since Arch Linux 2026-11-01; --json since Arch Linux 2026-11-01; --key-language since Arch Linux 2026-11-01; --logo-animation-frame since Arch Linux 2026-11-01; --logo-cache since Arch Linux 2026-11-01; --logo-padding-bottom since Arch Linux 2026-11-01; --percent-space-before-unit since Arch Linux 2026-11-01; --percent-width since Arch Linux 2026-11-01; --size-space-before-unit since Arch Linux 2026-11-01; --structure-disabled since Arch Linux 2026-11-01; --temp-space-before-unit since Arch Linux 2026-11-01; --watch since Arch Linux 2026-11-01; -j since Arch Linux 2026-11-01; -w since Arch Linux 2026-11-01.

--battery-temp until Debian 13 (Trixie); --battery-use-setup-api until Debian 13 (Trixie); --bluetooth-show-disconnected until Debian 13 (Trixie); --brightness-compact until Debian 13 (Trixie); --brightness-ddcci-sleep until Debian 13 (Trixie); --colors-block-range-end until Debian 13 (Trixie); --colors-block-range-start until Debian 13 (Trixie); --colors-block-width until Debian 13 (Trixie); --colors-padding-left until Debian 13 (Trixie); --colors-symbol until Debian 13 (Trixie); --command-key until Debian 13 (Trixie); --command-param until Debian 13 (Trixie); --command-shell until Debian 13 (Trixie); --command-text until Debian 13 (Trixie); --cpu-show-pe-core-count until Debian 13 (Trixie); --cpu-temp until Debian 13 (Trixie); --cpucache-compact until Debian 13 (Trixie); --cpuusage-separate until Debian 13 (Trixie); --cpuusage-wait-time until Debian 13 (Trixie); --de-slow-version-detection until Debian 13 (Trixie); --disk-folders until Debian 13 (Trixie); --disk-show-external until Debian 13 (Trixie); --disk-show-hidden until Debian 13 (Trixie); --disk-show-readonly until Debian 13 (Trixie); --disk-show-regular until Debian 13 (Trixie); --disk-show-subvolumes until Debian 13 (Trixie); --disk-show-unknown until Debian 13 (Trixie); --disk-use-available until Debian 13 (Trixie); --diskio-detect-total until Debian 13 (Trixie); --diskio-name-prefix until Debian 13 (Trixie); --diskio-wait-time until Debian 13 (Trixie); --display-compact-type until Debian 13 (Trixie); --display-order until Debian 13 (Trixie); --display-precise-refresh-rate until Debian 13 (Trixie); --dns-show-type until Debian 13 (Trixie); --gen-config-force until Debian 13 (Trixie); --gpu-detection-method until Debian 13 (Trixie); --gpu-driver-specific until Debian 13 (Trixie); --gpu-hide-type until Debian 13 (Trixie); --gpu-temp until Debian 13 (Trixie); --loadavg-compact until Debian 13 (Trixie); --loadavg-ndigits until Debian 13 (Trixie); --localip-compact until Debian 13 (Trixie); --localip-default-route-only until Debian 13 (Trixie); --localip-name-prefix until Debian 13 (Trixie); --localip-show-all-ips until Debian 13 (Trixie); --localip-show-flags until Debian 13 (Trixie); --localip-show-ipv4 until Debian 13 (Trixie); --localip-show-ipv6 until Debian 13 (Trixie); --localip-show-loop until Debian 13 (Trixie); --localip-show-mac until Debian 13 (Trixie); --localip-show-mtu until Debian 13 (Trixie); --localip-show-prefix-len until Debian 13 (Trixie); --localip-show-speed until Debian 13 (Trixie); --logo-recache until Debian 13 (Trixie); --netio-default-route-only until Debian 13 (Trixie); --netio-detect-total until Debian 13 (Trixie); --netio-name-prefix until Debian 13 (Trixie); --netio-wait-time until Debian 13 (Trixie); --opengl-library until Debian 13 (Trixie); --packages-disabled until Debian 13 (Trixie); --physicaldisk-name-prefix until Debian 13 (Trixie); --physicaldisk-temp until Debian 13 (Trixie); --player-name until Debian 13 (Trixie); --publicip-ipv6 until Debian 13 (Trixie); --publicip-timeout until Debian 13 (Trixie); --publicip-url until Debian 13 (Trixie); --separator-length until Debian 13 (Trixie); --separator-output-color until Debian 13 (Trixie); --separator-string until Debian 13 (Trixie); --sound-type until Debian 13 (Trixie); --title-color-at until Debian 13 (Trixie); --title-color-host until Debian 13 (Trixie); --title-color-user until Debian 13 (Trixie); --title-fqdn until Debian 13 (Trixie); --users-compact until Debian 13 (Trixie); --users-myself-only until Debian 13 (Trixie); --weather-location until Debian 13 (Trixie); --weather-output-format until Debian 13 (Trixie); --weather-timeout until Debian 13 (Trixie); --wm-detect-plugin until Debian 13 (Trixie).