table of contents
- Tumbleweed 2.45.0-1.1
- Leap-16.0
FASTFETCH(1) | FASTFETCH | FASTFETCH(1) |
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]
-
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
Logo¶
- -l, --logo logo
-
Set the logo source. Use "none" to disable the logo
Should be the name of a built-in logo 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 the logo specified in "--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 the remaining logo if it has more lines than modules to display - --logo-position enum
-
Set the position where the logo should be displayed - --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 chafa document for detail - --chafa-symbols str
-
Specify character symbols to employ in final output
See chafa document for detail - --chafa-canvas-mode enum
-
Determine how colors are used in the output
This value maps the int value of enum ChafaCanvasMode. See chafa document for detail - --chafa-color-space enum
-
Set color space used for quantization
This value maps the int value of enum ChafaColorSpace. See chafa document for detail - --chafa-dither-mode enum
-
Set output dither mode (No effect with 24-bit color)
This value maps the int value of enum ChafaDitherMode. See chafa document for detail
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 - --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 -
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. - --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
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.
Jun 06 2025 | Fastfetch 2.45.0 |