A fast, highly customizable system info script that supports Linux, MacOS, iOS, BSD, Solaris, Android, Haiku, GNU Hurd, MINIX, AIX, IRIX and Windows (Cygwin/MSYS2/MinGW/Windows 10 Linux subsystem)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dylan Araps c108713b91 resolution: Fix broken output. Closes #803 1 year ago
.github Github: Require config file for new issues 2 years ago
ascii/distro OS: Add support for Nurunner 1 year ago
config Docs: CHANGELOG and manpage 1 year ago
.travis.yml docs: travis 1 year ago
CHANGELOG.md Docs: CHANGELOG 1 year ago
LICENSE.md docs: Add back missing clause to license. 1 year ago
Makefile Misc: Add back Makefile and remove install script 1 year ago
README.md docs: README 1 year ago
neofetch resolution: Fix broken output. Closes #803 1 year ago
neofetch.1 Merge branch 'master' into 100 1 year ago



Gitter Build Status MIT licensed Latest release Donate

Neofetch is a CLI system information tool written in BASH. Neofetch displays information about your system next to an image, your OS logo, or any ASCII file of your choice. The main purpose of Neofetch is to be used in screenshots to show other users what OS/Distro you’re running, what Theme/Icons you’re using etc.

Neofetch is highly customizable through the use of command line flags or the user config file. There are over 50 config options to mess around with and there’s the print_info() function and friends which let you add your own custom info.

Neofetch can be used on any OS that has BASH 3.2+, it’s just a matter of adding support. If your OS/Distro isn’t in the list below, feel free to open an issue on the repo and I’ll gladly add support. Neofetch currently supports Linux, MacOS, iOS, BSD, Solaris, Android, Haiku, GNU Hurd, MINIX, AIX, IRIX, and Windows (Cygwin/MSYS2/MinGW/Windows 10 Linux subsystem).

For more information:


neofetch screenshot





Post Install

Using the config file

Neofetch will by default create a config file at $HOME/.config/neofetch/config and this file contains all of the script’s options/settings. The config file allows you to keep your customizations between script versions and allows you to easily share your customizations with other people.

You can launch the script without a config file by using the flag --config none and you can specify a custom config location using --config path/to/config.

See this wiki page for the default config: https://github.com/dylanaraps/neofetch/wiki/Config-File

Customizing what info gets displayed


Customizing the script using a custom alias

If you don’t want to use the config file you can customize almost everything using launch flags.

Here’s an example neofetch alias:

alias neofetch2="neofetch \
--config off \
--block_range 1 8 \
--bold off \
--uptime_shorthand on \
--gtk_shorthand on \
--colors 4 1 8 8 8 7 \


Thanks to:

  • Contributors
    • Thanks for making Neofetch better, I really appreciate it.
  • Packagers
    • Thanks for maintaining Neofetch packages.
  • Users
    • Thanks for using Neofetch!
  • Screenfetch:
    • We’ve used some snippets as a base for a few functions in this script.
    • Some of the ASCII logos.
  • ufetch:
    • Tiny ASCII logos


Donations will allow me to spend more time working on neofetch.

If you like neofetch and want to give back in some way you can donate here: