fastfetch - Man Page
A fast and feature-rich system information tool similar to neofetch
Examples (TL;DR)
- Display system information:
fastfetch - Display full system information with all the modules enabled:
fastfetch [-c|--config] all - Load a custom configuration file:
fastfetch [-c|--config] path/to/config_file - Fetch a specific structure:
fastfetch [-s|--structure] os:kernel:de:cpu:gpu - Use a specific logo:
fastfetch [-l|--logo] logo - Display system information without a logo:
fastfetch [-l|--logo] none - Use a specific color for the keys and title:
fastfetch --color blue
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
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]
Generate a minimal config file at the specified path
Defaults to "~/.config/fastfetch/config.jsonc". Prints the generated config if <path> is "-"
- --gen-config-full [path]
Generate a full config file with all optional settings at the specified path
Defaults to "~/.config/fastfetch/config.jsonc". Prints 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 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-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-recache [bool]
If true, regenerate the image logo cache
- --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
- --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.