Sets the default console foreground and background colours.

      COLOR [background][foreground]

Colour attributes are specified by 2 of the following hex digits. There should be no space between the two color numbers.

Each digit can be any of the following values:

0 = Black
8 = Gray

1 = Blue
9 = Light Blue

2 = Green
A = Light Green

3 = Aqua
B = Light Aqua

4 = Red
C = Light Red

5 = Purple
D = Light Purple

6 = Yellow
E = Light Yellow

7 = White
F = Bright White

If no argument is given, COLOR restores the colour to what it was when CMD.EXE started.

Colour values are assigned in the following order:

The DefaultColor registry value.
The CMD /T command line switch
The current colour settings when cmd was launched

The COLOR command sets ERRORLEVEL to 1 if an attempt is made to execute the COLOR command with a foreground and background colour that are the same.

The default terminal color is COLOR 07, white on black

The COLOR command will change the color of all the text in the window. To change the color of individual words/characters/paragraphs ANSI color escapes can be used. These are available in Windows versions greater than 1511.

New default Color schemes

In Windows 10 clean-install versions greater than build 16257 the default colour scheme has been changed to modernize the look of the Windows Console suitable for modern high-contrast LCD displays.

Samples of the new colors can be found on the ANSI color page, you can also display them with ColorTool.exe -c

If using ColorTool, you may want to tinker with the new values: "So up until very recently the console only supported 16 colours at a time. When the PowerShell team decided they wanted a very specific dark blue as the background colour, rather than altering the colour value for dark or light blue, they instead changed dark magenta to blue and used that as the background colour".

24 bit colors

The new W10 Console also adds full 24-bit color support, this is primarily for Linux compatibility so the console properties page and the default Windows color mappings still use just 16 colors, there is no plan to add additional console colors to the Win32 API.

To take advantage of the new colors use ColorTool.exe and install a theme, or use the VT100 sequences described here.
When the VT100 sequences are used with a version of the Windows Console that supports 24-bit colors they will display the desired RGB color, older consoles will choose the nearest appropriate color from the existing 16 color table.


If the color was successfully changed %ERRORLEVEL% = 0
Background and foreground colors are the same (will fail) = 1
e.g. COLOR 00

COLOR is an internal command.
If Command Extensions are disabled, the COLOR command will not function.


Set the color to White on Blue:

color 17

“How much more black could this be?" and the answer is "None...none more black” ~ Spinal Tap

Related commands

CMD - Start a new CMD shell.
EXIT - Set a specific errorlevel.
How-to: Use ANSI colors in the terminal.
PowerShell: Write-Host - Write output to the screen (colour can be set for individual strings).
Colour codes - HTML/CSS.
Aaron Margosis - Change prompt colors for all Admin level prompts.
Paletton - Design colour themes.
Equivalent bash command (Linux): dircolors - Colour setup for 'ls'

Copyright © 1999-2024
Some rights reserved