https://no-color.org/ NO_COLOR Last updated: 2023-05-06 An increasing number of command-line software programs output text with ANSI color escape codes by default. While some developers and users obviously prefer seeing these colors, some users don't. Unfortunately, every new piece of software seems to have a different way of disabling colored text output and some software has no way at all. Accepting the futility of trying to reverse this trend in 2017, an informal standard was proposed: Command-line software which adds ANSI color to its output by default should check for a NO_COLOR environment variable that, when present and not an empty string (regardless of its value), prevents the addition of ANSI color. By adopting this standard, users that prefer to have plain, non-colored text output can export NO_COLOR=1 to their shell's environment and automatically disable color by default in all supported software. If your software outputs color by default, please consider not doing so. If you insist, please implement this standard to make it easy for your users to disable color and then add your software to this list by submitting a pull request. If your software does not output color by default, you do not need to bother with this standard. Example Implementation #include #include #include int main(int argc, char *argv[]) { char *no_color = getenv("NO_COLOR"); bool color = true; if (no_color != NULL && no_color[0] != '\0') color = false; /* do getopt(3) and/or config-file parsing to possibly turn color back on */ ... } Frequently Asked Questions 1. Why not just set $TERM to dumb or xterm without color support? Or change all color definitions in the terminal to print the same color? The terminal is capable of color and should be able to print color when instructed. NO_COLOR is a hint to the software running in the terminal to suppress addition of color, not to the terminal to prevent any color from being shown. It is reasonable to configure certain software such as a text editor to use color or other ANSI attributes sparingly (such as the reverse attribute for a status bar) while still desiring that other software not add color unless configured to. It should be up to the user whether color is used, not the software author. 2. How should configuration files and command-line arguments be processed in the presence of $NO_COLOR? User-level configuration files and per-instance command-line arguments should override $NO_COLOR. A user should be able to export $NO_COLOR in their shell configuration file as a default, but configure a specific program in its configuration file to specifically enable color. This also means that software that can add color but doesn't by default does not need to care about $NO_COLOR, because it will only ever be adding color when instructed to do so (as it should be). Color libraries supporting NO_COLOR to disable default color output Software using these libraries to output color inherently support disabling color by default via NO_COLOR. Date / Software Description Version Supported ansis NPM package for ANSI 256/truecolor 2021-12-28 styling of text in Node.js / 1.2.2 cfonts Rust and NPM package for colorful 2022-05-28 fonts in the console / 3.0.0 cli-color NPM package for colors and formatting 2019-10-09 / 2.0.0 click-extra Collection of utilities for Click, 2022-04-11 the Python CLI framework / 2.0.0 ColorDebug Colorful command line output C/C++ 2019-02-09 macros colored Rust crate for coloring terminal 2019-01-05 output / 1.7.0 Colorette Easily set your terminal text color & 2021-09-17 styles in Node.js / 2.0.0 colors-option NPM package for colors and formatting 2021-03-02 based on chalk / 1.0.0 Easy console coloring and prefixing 2022-06-14 console-ansi via Proxy object with ANSI strings / 1.3.0 (for JavaScript) crayon R package for colored terminal output 2018-02-08 / 1.5.1 crayon.js Modular Deno module and NPM package 2020-04-10 for terminal styling / 1.0.0 Dahlia A simple text formatting package, 2022-09-24 inspired by the game Minecraft / 2.0.0 Dye Cross-platform terminal styling for 2020-06-01 Swift command-line interface / 0.0.1 Fude Node.js library for terminal text 2022-06-29 style formatting / 3.0.0 Gapotchenko. Virtual terminal functionality, 2020-01-15 FX.Console console traits, and useful primitives / for .NET console apps 2020.1.15 gchalk Terminal string styling for Go with 2021-10-06 Windows 10 support / 1.1.1 Getopt::EX::Colormap Perl library for ANSI terminal color 2021-09-27 and command line option handling / 1.25.0 GNU libtextstyle Library for styling text output with 2019-08-13 CSS / 0.21 go-ansi Go Package for easy text formatting 2021-05-18 / 1.4.0 GraalVM Native Image Ahead-of-time compilation of Java 2022-02-28 code to standalone executables / 22.1.0 inquire A Rust library for building 2021-08-29 interactive prompts / 0.0.10 kleur A Node.js library for formatting 2020-08-12 terminal text with ANSI colors / 4.1.0 LogColor Python library for coloring output in 2018-01-24 log messages / 1.2.0 MatthiWare. C# Command Line Parser Library 2020-07-21 CommandLineParser / 0.3.1 Nano Colors Node.js library for formatting 2021-09-21 terminal text with ANSI colors / 0.1.0 paint Ruby gem for terminal colors and 2020-02-21 effects / 2.2.0 pastel Ruby gem for terminal output styling 2020-07-04 / 0.8.0 Pastel Tiny .NET library for coloring 2019-03-17 console output / 1.2.0 A simple yet powerful Python TUI 2022-03-21 PyTermGUI framework with a markup language, / 4.2.0 mouse support and more rich Python library for rich text and 2022-02-08 beautiful formatting / 11.2.0 sgr C++ stream manipulators for colored 2022-02-28 text output and more A .NET library that makes it easier 2020-07-21 Spectre.Console to create beautiful console / 0.1.0 applications Term::ANSIColor Perl library for color output using 2020-01-17 ANSI escape sequences / 5.01 termcolor Rust crate for cross platform 2020-01-11 terminal colors / 1.1.0 termcolor Python library for ANSI color 2022-09-11 formatting in the terminal / 2.0.0 termenv Go package for text styling, terminal 2021-06-24 detection and color conversions / 0.9.0 TextOutput Go package for controlling text 2019-11-18 output, using VT100 terminal codes / 1.9.1 textus_coloris C header library for colourised 2021-08-16 console output .NET console with coloring, pinning & 2022-04-22 XConsole positioning, stable for multitasking / 1.0.5 and 9000+ lines Software directly supporting NO_COLOR to disable color output by default Date / Software Description Version Supported alogview Android logcat Filter 2018-10-31 Ammonite Scala Scripting 2017-07-03 / 1.0.0 Ansible IT automation system 2021-04-26 / 2.11.0 Ansible Navigator IT automation interface 2021-10-13 / 1.1.0 Apt Debian Package manager 2021-10-10 / 2.3.11 Archey 4 Python system information tool 2020-09-26 / 4.8.0 Arduino CLI Arduino command line tool 2021-09-02 / 0.19.0 Aurornis A library to simplify command 2021-11-16 line programs testing / 1.2.0 Bashly Bash command line framework and 2021-10-26 CLI generator / 0.6.9 A cat(1) clone with syntax 2020-10-02 bat highlighting and Git / 0.16.0 integration beets Music library manager and 2019-05-30 MusicBrainz tagger / 1.4.9 bfs Breadth-first version of the 2019-05-06 UNIX find command / 1.4.1 Bikeshed Spec/Document Processor 2018-07-27 / 0.9 Bloop Compilation/test server for 2018-07-02 Scala and Java / 1.5.3 Concurrent, cache-efficient, buildkit and Dockerfile-agnostic builder 2022-07-20 toolkit Bullseye A .NET library for running a 2021-01-01 target dependency graph / 3.6.0 c-ray The small C raytracer 2021-09-24 Cake A cross-platform build 2021-03-06 automation system with a C# DSL / 1.1.0 CakePHP Full stack framework for PHP 2019-12-30 / 4.0.1 cdist Usable configuration management 2020-06-17 / 6.6.0 checkit File integrity tool for Linux 2022-09-08 and Unix systems. / 0.5.1 chezmoi Manage dotfiles across multiple 2020-05-06 machines, securely / 1.8.1 CliFM The command line file manager 2021-14-12 / 1.7 Clipboard The cut, copy, and paste system 2022-12-04 for the terminal / 0.1.2 Cras Cras: The Anti-Procrastination 2020-06-05 Tool / 0.1.0 Cronie Cronie cron daemon project 2021-03-19 / 1.6.1 csv2db CSV database loading tool 2019-09-23 / 1.4.0 DataLad Data management and publication 2019-05-23 multitool / 0.11.5 DDraceNetwork Cooperative multiplayer game 2022-02-27 / 5.1 Use Debian subsystem on other debian-subsystem GNU/Linux distributions with 2021-11-09 desktop integration DeepfakeHTTP Web server that uses HTTP dumps 2021-09-17 as a source for responses / 1.0.13 deno Secure TypeScript runtime 2019-02-09 / 0.2.11 Diun Docker Image Update Notifier 2021-05-26 / 4.17.0 elfinfo Utility for displaying ELF 2020-01-17 information / 1.0.1 Elixir Dynamic, functional language 2020-01-27 / 1.10.0 Next generation enum4linux 2020-10-24 enum4linux-ng (Windows/Samba enumeration / 1.1.0 tool) exa A modern replacement for ls 2021-12-06 F2 Safe and fast cross-platform 2021-05-04 bulk-rename tool / 1.5.7 fastlane The easiest way to build and 2020-11-19 release mobile apps / 2.168.0 fd Simple, fast, and user-friendly 2020-03-22 alternative to find / 7.5.0 ffind Rust utility to find files and 2018-03-24 folders forest-arborist Manage a loosely coupled forest 2018-04-15 of git or hg repositories / 1.2.0 fselect Utility for finding files with 2019-03-08 SQL-like expressions / 0.6.1 gatsby-cli GatsbyJS command line interface 2019-08-05 / 2.20.0 git-delete-merged-branches Command-line tool to delete 2020-06-29 merged Git branches / 1.2.0 git-subline-merge Git merge driver for resolving 2019-07-27 conflicts GitHub CLI CLI for GitHub to manage pull 2020-09-16 requests, issues, and others / 1.0.0 gocryptfs Encrypted FUSE filesystem 2021-12-11 / 2.3 gopass Password store for teams 2018-06-06 / 1.8.0 gplaces A simple terminal based Gemini 2022-06-05 client / 0.16.19 gwen Automation and robotics for 2021-11-16 Gherkin / 3.0.0 Hajime Advanced Minecraft server 2022-02-27 wrapper Homebrew Package manager for macOS 2018-02-27 / 1.5.5 Hspec Testing framework for Haskell 2021-05-12 / 1.8.1 htmltest Tests generated HTML for issues 2021-01-16 / 0.14.0 Hugo Framework for building websites 2022-06-16 / 0.101.0 Hurl Run and test HTTP requests with 2022-09-13 plain text and curl / 1.7.0 hx Futuristic take on hexdump, 2020-11-22 made in Rust / 0.4.0 inary A package manager for SulinOS 2021-10-18 irb Official Ruby REPL 2021-06-21 / 1.3.6 Convert the output of popular 2021-12-07 jc command-line tools and / 1.17.4 file-types to JSON jello Filter JSON and JSON Lines data 2021-12-08 with Python syntax / 1.5.0 KBSecret Secret manager backed by 2018-04-13 Keybase and KBFS / 1.4.0 kitten Tiny multi-server automation 2018-06-06 tool / 0.2.14 konch Python shell/REPL configuration 2019-01-19 tool / 4.0.0 lat Fast file viewer and text 2023-04-20 formatter / 0.3.2 lbt Friendly tools for interacting 2022-03-31 with the LBRY network / 2.1.2 lc Multi-dimensional, abbreviating 2019-11-18 ls/file lister in Nim / 0.9.1 LicensePlist License list generator for 2022-09-20 Apple developer / 3.23.3 Lintian Friendly packaging advice for 2021-12-12 Debian contributors / 2.114.87 lr File list generator 2018-01-29 / 1.5.1 lsd The next gen ls command 2022-01-16 / 0.21.0 mblaze Unix utilities to deal with 2018-01-29 Maildir / 1.2 meli Terminal mail client in Rust 2019-01-27 / 0.7.2 Data Ingestion, Transformation, 2022-11-08 Meltano and Management for Data / v2.9.0 Engineers Middleman Ruby-based static site 2019-02-18 generator / 5.0.0 mmCEsim Millimeter Wave Channel 2023-03-31 Estimation Simulation / 0.2.1 Modules Dynamic modification of one's 2020-04-07 environment / 4.5.0 mu Maildir indexer/searcher 2019-02-02 / 1.8.10 Nette Tester Testing library for PHP 2020-08-03 / 2.3.3 newsraft Feed reader for terminal 2022-08-14 / 0.8 NGLess Domain specific language for 2018-10-29 bioinformatics / 1.5.0 Nix The purely functional package 2021-11-01 manager / 2.4.0 nnn File manager 2020-04-05 / 4.6 npm Package manager for JavaScript 2018-03-24 / 5.8.0 nvh Node Version Helper 2018-08-04 / 4.1.0 o Small, fast, and limited text 2020-01-06 editor / 2.13.2 OCaml compiler The OCaml programming language 2022-03-28 compiler / 4.14.0 Octopus Deploy CLI Command Line Interface for 2022-11-23 Octopus Deploy / 0.6.0 opass Offer password suggestions 2021-06-12 / 0.9.1 ouch Painless CLI compression and 2021-09-17 decompression / 0.3.1 Pacstall An AUR-inspired package manager 2023-02-27 for Ubuntu / 3.7.0 picocli Tiny Java command line 2019-01-05 interface / 3.9.0 pipewire PipeWire multimedia server 2021-03-13 / 0.3.24 Planck Stand-alone ClojureScript REPL 2019-05-19 / 2.23.0 procs Process and system query and 2019-11-18 formatting / 0.4.0 pulumi Programming-language-based IaC 2018-06-04 framework / 0.14.3 PyDERASN Python ASN.1 DER/CER/BER 2018-02-14 library / 3.1 pytest Python testing framework 2020-07-28 / 6.0.0 ripgrep Line-oriented search tool 2020-01-11 / 12.0.0 rsmodules Manage one's environment by the 2018-10-09 use of modulefiles / 0.7.3 Ruff An extremely fast Python 2023-08-09 linter, written in Rust Scipion CryoEM and CryoET image 2022-07-07 processing workflow engine / 3.0.22 A full-featured BDD unit 2020-06-21 ShellSpec testing framework for shell / 0.25.0 scripts shuffle Command line music player 2022-02-03 / 1.9.1 sjasmplus Z80/Z80N/GameBoy 2022-06-14 cross-assembler / 1.20.0 smenu Terminal selection filter 2018-02-05 / 1.0.0 Snow Testing library for C 2018-01-24 / 2.3.2 soupault Static website generator based 2021-07-19 on HTML rewriting / 3.0.0 sqlfmt Autoformatter for dbt SQL 2021-11-05 / 0.1.0 Symfony PHP framework and reusable 2019-11-21 components / 4.4.0 taoup Fortune implementation 2018-09-10 / 1.19 Tarantool In-memory computing platform 2021-10-19 Live ISO generation tools for TeaISO Debian, Arch Linux, Tearch and 2021-10-22 Sulin tealdeer TLDR pages client 2020-09-03 / 1.4.0 Telescope Gemini browser 2021-06-27 / 0.3 tree A recursive directory listing 2022-12-26 command / 2.1.0 twa Tiny web auditor with strong 2018-11-15 opinions / 1.1.0 txtnish Twtxt microblogging client 2018-08-31 undertime Timezone coordination tool 2018-06-06 whence Print URL a file was downloaded 2020-06-20 from / 0.9.2 Command-line applications to 2021-05-13 woob interact with many websites / 3.1 (banking, weather, video, etc.) xh Friendly and fast tool for 2021-02-28 sending HTTP requests / 0.8.0 xidoc A consistent and powerful 2023-01-09 markup language / 2023.1.9 xplr File manager 2021-04-15 / 0.4.4 A commandline fuzzy finder that 2022-07-02 zf prioritizes matches on / 0.5 filenames zoxide A smarter cd command 2020-03-05 / 0.1.0 Disabling color in software not supporting NO_COLOR Software Method Ammonite amm --color false (Docs) Arcanist arc --no-ansi COMMAND (Docs) Bundler bundle COMMAND --no-color (Docs) Chalk export FORCE_COLOR=0 (Docs) Clang -fno-color-diagnostics (Docs) CMake Set CMAKE_COLOR_MAKEFILE to OFF (Docs) Cocoapods pod COMMAND --no-ansi (Docs) Composer composer --no-ansi (Docs) FFmpeg export AV_LOG_FORCE_NOCOLOR=true (Docs) fzf fzf --color=bw or export FZF_DEFAULT_OPTS=--color=bw (Docs) GCC export GCC_COLORS= or -fno-diagnostics-color (Docs) Git git config --global color.ui false (Docs) GitHub gh config set prompt disabled (Docs) GoAccess goaccess --no-color (Docs) GStreamer export GST_DEBUG_NO_COLOR=true or --gst-debug-no-color (Docs) luacheck luacheck --no-color (Docs) Lynx lynx -nocolor (or show_color=never in .lynxrc) Mercurial hg --color=never (or Docs for .hgrc) Midnight mc --nocolor Commander Packer export PACKER_NO_COLOR=true Radare radare2 -e scr.color=0 RSpec export SPEC_OPTS=--no-color Ruby (tests) export RUBY_TESTOPTS=--color=never The Silver ag --nocolor (Rejected NO_COLOR Request) Searcher Thor export THOR_SHELL=Basic (Docs) util-linux touch /etc/terminal-colors.d/disable (Docs) Vim vim '+set t_Co=0'