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