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