---
name: "fastfetch"
section: "1"
platform: "linux"
package: "fastfetch"
version: "2.70.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/fastfetch"
---

# 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)](/neofetch/1.md)

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