Color control - kitty
Description: Saving and restoring colors: It is often useful for a full screen application with its own color themes to set the default foreground, background, selection and cursor colors and the ANSI color tab...

Skip to content
Back to top

# Color control

## Saving and restoring colors

It is often useful for a full screen application with its own color themes to set the default foreground, background, selection and cursor colors and the ANSI color table. This allows for various performance optimizations when drawing the screen. The problem is that if the user previously used the escape codes to change these colors themselves, then running the full screen application will lose those changes even after it exits. To avoid this, kitty introduces a new pair of OSC escape codes to push and pop the current color values from a stack:

    <ESC>]30001<ESC>\  # push onto stack
    <ESC>]30101<ESC>\  # pop from stack

These escape codes save/restore the colors, default background, default foreground, selection background, selection foreground and cursor color and the 256 colors of the ANSI color table.

Note

In July 2020, after several years, xterm copied this protocol extension, without acknowledgement, and using incompatible escape codes (XTPUSHCOLORS, XTPOPCOLORS, XTREPORTCOLORS). And they decided to save not just the dynamic colors but the entire ANSI color table. In the interests of promoting interoperability, kitty added support for xterm’s escape codes as well, and changed this extension to also save/restore the entire ANSI color table.

## Setting and querying colors

While there exists a legacy protocol developed by XTerm for querying and setting colors, as with most XTerm protocols it suffers from the usual design limitations of being under specified and in-sufficient. XTerm implements querying of colors using OSC 4,5,6,10-19,104,105,106,110-119. This absurd profusion of numbers is completely unnecessary, redundant and requires adding two new numbers for every new color. Also XTerm’s protocol doesn’t handle the case of colors that are unknown to the terminal or that are not a set value, for example, many terminals implement selection as a reverse video effect not a fixed color. The XTerm protocol has no way to query for this condition. The protocol also doesn’t actually specify the format in which colors are reported, deferring to a man page for X11!

Instead kitty has developed a single number based protocol that addresses all these shortcomings and is future proof by virtue of using string keys rather than numbers. The syntax of the escape code is:

    <OSC> 21 ; key=value ; key=value ; ... <ST>

The spaces in the above definition are for reading clarity and should be ignored. Here, `<OSC>` is the two bytes `0x1b (ESC)` and `0x5d (])`. `ST` is either `0x7 (BEL)` or the two bytes `0x1b (ESC)` and `0x5c (\\)`.

`key` is a number from 0-255 to query or set the color values from the terminals ANSI color table, or one of the strings in the table below for special colors:

key | meaning | dynamic
--- | --- | ---
foreground | The default foreground text color | Not applicable
background | The default background text color | Not applicable
selection_background | The background color of selections | Reverse video
selection_foreground | The foreground color of selections | Reverse video
cursor | The color of the text cursor | Foreground color
cursor_text | The color of text under the cursor | Background color
visual_bell | The color of a visual bell | Automatic color selection based on current screen colors
transparent_background_color1..7 | A background color that is rendered with the specified opacity in cells that have the specified background color. An opacity value less than zero means, use the `background_opacity` value. | Unset

In this table the third column shows what effect setting the color to dynamic has in kitty and many other terminal emulators. It is advisory only, terminal emulators may not support dynamic colors for these or they may have other effects. Setting the ANSI color table colors to dynamic is not allowed.

### Querying current color values

To query colors values, the client program sends this escape code with the `value` field set to `?` (the byte `0x3f`). The terminal then responds with the same escape code, but with the `?` replaced by the encoded color value. If the queried color is one that does not have a defined value, for example, if the terminal is using a reverse video effect or a gradient or similar, then the value must be empty, that is the response contains only the key and `=`, no value. For example, if the client sends:

    <OSC> 21 ; foreground=? ; cursor=? <ST>

The terminal responds:

    <OSC> 21 ; foreground=rgb:ff/00/00 ; cursor= <ST>

This indicates that the foreground color is red and the cursor color is undefined (typically the cursor takes the color of the text under it and the text takes the color of the background).

If the terminal does not know a field that a client send to it for a query it must respond back with the `field=?`, that is, it must send back a question mark as the value.

### Setting color values

To set a color value, the client program sends this escape code with the `value` field set to either an encoded color value or the empty value. The empty value means the terminal should use a dynamic color for example reverse video for selections or similar. To reset a color to its default value (i.e. the value it would have if it was never set) the client program should send just the key name with no `=` and no value. For example:

    <OSC> 21 ; foreground=green ; cursor= ; background <ST>

This sets the foreground to the color green, sets the cursor color to dynamic (usually meaning the cursor takes the color of the text under it) and resets the background color to its default value.

To check if setting succeeded, the client can simply query the color, in fact the two can be combined into a single escape code, for example:

    <OSC> 21 ; foreground=white ; foreground=? <ST>

The terminal will change the foreground color and reply with the new foreground color.

### Color value encoding

The color encoding is inherited from the scheme used by XTerm, for compatibility, but a sane, rigorously specified subset is chosen.

RGB colors are encoded in one of three forms:

`rgb:<red>/<green>/<blue>`
  <red>, <green>, <blue> := h | hh | hhh | hhhh
  h := single hexadecimal digits (case insignificant)
  Note that h indicates the value scaled in 4 bits, hh the value scaled in 8 bits, hhh the value scaled in 12 bits, and hhhh the value scaled in 16 bits, respectively.
`#<h...>`
  h := single hexadecimal digits (case insignificant)
  #RGB (4 bits each)
  #RRGGBB (8 bits each)
  #RRRGGGBBB (12 bits each)
  #RRRRGGGGBBBB (16 bits each)
  The R, G, and B represent single hexadecimal digits. When fewer than 16 bits each are specified, they represent the most significant bits of the value (unlike the “rgb:” syntax, in which values are scaled). For example, the string `#3a7` is the same as `#3000a0007000`.
`rgbi:<red>/<green>/<blue>`

  red, green, and blue are floating-point values between 0.0 and 1.0, inclusive. The input format for these values is an optional sign, a string of numbers possibly containing a decimal point, and an optional exponent field containing an E or e followed by a possibly signed integer string. Values outside the `0 - 1` range must be clipped to be within the range.

If a color should have an alpha component, it must be suffixed to the color specification in the form `@number between zero and one`. For example:

    red@0.5 rgb:ff0000@0.1 #ff0000@0.3

The syntax for the floating point alpha component is the same as used for the components of `rgbi` defined above. When not specified, the default alpha value is `1.0`. Values outside the range `0 - 1` must be clipped to be within the range, negative values may have special context dependent meaning.

In addition, the following color names are accepted (case-insensitively) corresponding to the specified RGB values.

Name | RGB value
--- | ---
alice blue | f0/f8/ff
aliceblue | f0/f8/ff
antique white | fa/eb/d7
antiquewhite | fa/eb/d7
antiquewhite1 | ff/ef/db
antiquewhite2 | ee/df/cc
antiquewhite3 | cd/c0/b0
antiquewhite4 | 8b/83/78
aquamarine | 7f/ff/d4
aquamarine1 | 7f/ff/d4
aquamarine2 | 76/ee/c6
aquamarine3 | 66/cd/aa
aquamarine4 | 45/8b/74
azure | f0/ff/ff
azure1 | f0/ff/ff
azure2 | e0/ee/ee
azure3 | c1/cd/cd
azure4 | 83/8b/8b
beige | f5/f5/dc
bisque | ff/e4/c4
bisque1 | ff/e4/c4
bisque2 | ee/d5/b7
bisque3 | cd/b7/9e
bisque4 | 8b/7d/6b
black | 00/00/00
blanched almond | ff/eb/cd
blanchedalmond | ff/eb/cd
blue | 00/00/ff
blue violet | 8a/2b/e2
blue1 | 00/00/ff
blue2 | 00/00/ee
blue3 | 00/00/cd
blue4 | 00/00/8b
blueviolet | 8a/2b/e2
brown | a5/2a/2a
brown1 | ff/40/40
brown2 | ee/3b/3b
brown3 | cd/33/33
brown4 | 8b/23/23
burlywood | de/b8/87
burlywood1 | ff/d3/9b
burlywood2 | ee/c5/91
burlywood3 | cd/aa/7d
burlywood4 | 8b/73/55
cadet blue | 5f/9e/a0
cadetblue | 5f/9e/a0
cadetblue1 | 98/f5/ff
cadetblue2 | 8e/e5/ee
cadetblue3 | 7a/c5/cd
cadetblue4 | 53/86/8b
chartreuse | 7f/ff/00
chartreuse1 | 7f/ff/00
chartreuse2 | 76/ee/00
chartreuse3 | 66/cd/00
chartreuse4 | 45/8b/00
chocolate | d2/69/1e
chocolate1 | ff/7f/24
chocolate2 | ee/76/21
chocolate3 | cd/66/1d
chocolate4 | 8b/45/13
coral | ff/7f/50
coral1 | ff/72/56
coral2 | ee/6a/50
coral3 | cd/5b/45
coral4 | 8b/3e/2f
cornflower blue | 64/95/ed
cornflowerblue | 64/95/ed
cornsilk | ff/f8/dc
cornsilk1 | ff/f8/dc
cornsilk2 | ee/e8/cd
cornsilk3 | cd/c8/b1
cornsilk4 | 8b/88/78
cyan | 00/ff/ff
cyan1 | 00/ff/ff
cyan2 | 00/ee/ee
cyan3 | 00/cd/cd
cyan4 | 00/8b/8b
dark blue | 00/00/8b
dark cyan | 00/8b/8b
dark goldenrod | b8/86/0b
dark gray | a9/a9/a9
dark green | 00/64/00
dark grey | a9/a9/a9
dark khaki | bd/b7/6b
dark magenta | 8b/00/8b
dark olive green | 55/6b/2f
dark orange | ff/8c/00
dark orchid | 99/32/cc
dark red | 8b/00/00
dark salmon | e9/96/7a
dark sea green | 8f/bc/8f
dark slate blue | 48/3d/8b
dark slate gray | 2f/4f/4f
dark slate grey | 2f/4f/4f
dark turquoise | 00/ce/d1
dark violet | 94/00/d3
darkblue | 00/00/8b
darkcyan | 00/8b/8b
darkgoldenrod | b8/86/0b
darkgoldenrod1 | ff/b9/0f
darkgoldenrod2 | ee/ad/0e
darkgoldenrod3 | cd/95/0c
darkgoldenrod4 | 8b/65/08
darkgray | a9/a9/a9
darkgreen | 00/64/00
darkgrey | a9/a9/a9
darkkhaki | bd/b7/6b
darkmagenta | 8b/00/8b
darkolivegreen | 55/6b/2f
darkolivegreen1 | ca/ff/70
darkolivegreen2 | bc/ee/68
darkolivegreen3 | a2/cd/5a
darkolivegreen4 | 6e/8b/3d
darkorange | ff/8c/00
darkorange1 | ff/7f/00
darkorange2 | ee/76/00
darkorange3 | cd/66/00
darkorange4 | 8b/45/00
darkorchid | 99/32/cc
darkorchid1 | bf/3e/ff
darkorchid2 | b2/3a/ee
darkorchid3 | 9a/32/cd
darkorchid4 | 68/22/8b
darkred | 8b/00/00
darksalmon | e9/96/7a
darkseagreen | 8f/bc/8f
darkseagreen1 | c1/ff/c1
darkseagreen2 | b4/ee/b4
darkseagreen3 | 9b/cd/9b
darkseagreen4 | 69/8b/69
darkslateblue | 48/3d/8b
darkslategray | 2f/4f/4f
darkslategray1 | 97/ff/ff
darkslategray2 | 8d/ee/ee
darkslategray3 | 79/cd/cd
darkslategray4 | 52/8b/8b
darkslategrey | 2f/4f/4f
darkturquoise | 00/ce/d1
darkviolet | 94/00/d3
debianred | d7/07/51
deep pink | ff/14/93
deep sky blue | 00/bf/ff
deeppink | ff/14/93
deeppink1 | ff/14/93
deeppink2 | ee/12/89
deeppink3 | cd/10/76
deeppink4 | 8b/0a/50
deepskyblue | 00/bf/ff
deepskyblue1 | 00/bf/ff
deepskyblue2 | 00/b2/ee
deepskyblue3 | 00/9a/cd
deepskyblue4 | 00/68/8b
dim gray | 69/69/69
dim grey | 69/69/69
dimgray | 69/69/69
dimgrey | 69/69/69
dodger blue | 1e/90/ff
dodgerblue | 1e/90/ff
dodgerblue1 | 1e/90/ff
dodgerblue2 | 1c/86/ee
dodgerblue3 | 18/74/cd
dodgerblue4 | 10/4e/8b
firebrick | b2/22/22
firebrick1 | ff/30/30
firebrick2 | ee/2c/2c
firebrick3 | cd/26/26
firebrick4 | 8b/1a/1a
floral white | ff/fa/f0
floralwhite | ff/fa/f0
forest green | 22/8b/22
forestgreen | 22/8b/22
gainsboro | dc/dc/dc
ghost white | f8/f8/ff
ghostwhite | f8/f8/ff
gold | ff/d7/00
gold1 | ff/d7/00
gold2 | ee/c9/00
gold3 | cd/ad/00
gold4 | 8b/75/00
goldenrod | da/a5/20
goldenrod1 | ff/c1/25
goldenrod2 | ee/b4/22
goldenrod3 | cd/9b/1d
goldenrod4 | 8b/69/14
gray | be/be/be
gray0 | 00/00/00
gray1 | 03/03/03
gray10 | 1a/1a/1a
gray100 | ff/ff/ff
gray11 | 1c/1c/1c
gray12 | 1f/1f/1f
gray13 | 21/21/21
gray14 | 24/24/24
gray15 | 26/26/26
gray16 | 29/29/29
gray17 | 2b/2b/2b
gray18 | 2e/2e/2e
gray19 | 30/30/30
gray2 | 05/05/05
gray20 | 33/33/33
gray21 | 36/36/36
gray22 | 38/38/38
gray23 | 3b/3b/3b
gray24 | 3d/3d/3d
gray25 | 40/40/40
gray26 | 42/42/42
gray27 | 45/45/45
gray28 | 47/47/47
gray29 | 4a/4a/4a
gray3 | 08/08/08
gray30 | 4d/4d/4d
gray31 | 4f/4f/4f
gray32 | 52/52/52
gray33 | 54/54/54
gray34 | 57/57/57
gray35 | 59/59/59
gray36 | 5c/5c/5c
gray37 | 5e/5e/5e
gray38 | 61/61/61
gray39 | 63/63/63
gray4 | 0a/0a/0a
gray40 | 66/66/66
gray41 | 69/69/69
gray42 | 6b/6b/6b
gray43 | 6e/6e/6e
gray44 | 70/70/70
gray45 | 73/73/73
gray46 | 75/75/75
gray47 | 78/78/78
gray48 | 7a/7a/7a
gray49 | 7d/7d/7d
gray5 | 0d/0d/0d
gray50 | 7f/7f/7f
gray51 | 82/82/82
gray52 | 85/85/85
gray53 | 87/87/87
gray54 | 8a/8a/8a
gray55 | 8c/8c/8c
gray56 | 8f/8f/8f
gray57 | 91/91/91
gray58 | 94/94/94
gray59 | 96/96/96
gray6 | 0f/0f/0f
gray60 | 99/99/99
gray61 | 9c/9c/9c
gray62 | 9e/9e/9e
gray63 | a1/a1/a1
gray64 | a3/a3/a3
gray65 | a6/a6/a6
gray66 | a8/a8/a8
gray67 | ab/ab/ab
gray68 | ad/ad/ad
gray69 | b0/b0/b0
gray7 | 12/12/12
gray70 | b3/b3/b3
gray71 | b5/b5/b5
gray72 | b8/b8/b8
gray73 | ba/ba/ba
gray74 | bd/bd/bd
gray75 | bf/bf/bf
gray76 | c2/c2/c2
gray77 | c4/c4/c4
gray78 | c7/c7/c7
gray79 | c9/c9/c9
gray8 | 14/14/14
gray80 | cc/cc/cc
gray81 | cf/cf/cf
gray82 | d1/d1/d1
gray83 | d4/d4/d4
gray84 | d6/d6/d6
gray85 | d9/d9/d9
gray86 | db/db/db
gray87 | de/de/de
gray88 | e0/e0/e0
gray89 | e3/e3/e3
gray9 | 17/17/17
gray90 | e5/e5/e5
gray91 | e8/e8/e8
gray92 | eb/eb/eb
gray93 | ed/ed/ed
gray94 | f0/f0/f0
gray95 | f2/f2/f2
gray96 | f5/f5/f5
gray97 | f7/f7/f7
gray98 | fa/fa/fa
gray99 | fc/fc/fc
green | 00/ff/00
green yellow | ad/ff/2f
green1 | 00/ff/00
green2 | 00/ee/00
green3 | 00/cd/00
green4 | 00/8b/00
greenyellow | ad/ff/2f
grey | be/be/be
grey0 | 00/00/00
grey1 | 03/03/03
grey10 | 1a/1a/1a
grey100 | ff/ff/ff
grey11 | 1c/1c/1c
grey12 | 1f/1f/1f
grey13 | 21/21/21
grey14 | 24/24/24
grey15 | 26/26/26
grey16 | 29/29/29
grey17 | 2b/2b/2b
grey18 | 2e/2e/2e
grey19 | 30/30/30
grey2 | 05/05/05
grey20 | 33/33/33
grey21 | 36/36/36
grey22 | 38/38/38
grey23 | 3b/3b/3b
grey24 | 3d/3d/3d
grey25 | 40/40/40
grey26 | 42/42/42
grey27 | 45/45/45
grey28 | 47/47/47
grey29 | 4a/4a/4a
grey3 | 08/08/08
grey30 | 4d/4d/4d
grey31 | 4f/4f/4f
grey32 | 52/52/52
grey33 | 54/54/54
grey34 | 57/57/57
grey35 | 59/59/59
grey36 | 5c/5c/5c
grey37 | 5e/5e/5e
grey38 | 61/61/61
grey39 | 63/63/63
grey4 | 0a/0a/0a
grey40 | 66/66/66
grey41 | 69/69/69
grey42 | 6b/6b/6b
grey43 | 6e/6e/6e
grey44 | 70/70/70
grey45 | 73/73/73
grey46 | 75/75/75
grey47 | 78/78/78
grey48 | 7a/7a/7a
grey49 | 7d/7d/7d
grey5 | 0d/0d/0d
grey50 | 7f/7f/7f
grey51 | 82/82/82
grey52 | 85/85/85
grey53 | 87/87/87
grey54 | 8a/8a/8a
grey55 | 8c/8c/8c
grey56 | 8f/8f/8f
grey57 | 91/91/91
grey58 | 94/94/94
grey59 | 96/96/96
grey6 | 0f/0f/0f
grey60 | 99/99/99
grey61 | 9c/9c/9c
grey62 | 9e/9e/9e
grey63 | a1/a1/a1
grey64 | a3/a3/a3
grey65 | a6/a6/a6
grey66 | a8/a8/a8
grey67 | ab/ab/ab
grey68 | ad/ad/ad
grey69 | b0/b0/b0
grey7 | 12/12/12
grey70 | b3/b3/b3
grey71 | b5/b5/b5
grey72 | b8/b8/b8
grey73 | ba/ba/ba
grey74 | bd/bd/bd
grey75 | bf/bf/bf
grey76 | c2/c2/c2
grey77 | c4/c4/c4
grey78 | c7/c7/c7
grey79 | c9/c9/c9
grey8 | 14/14/14
grey80 | cc/cc/cc
grey81 | cf/cf/cf
grey82 | d1/d1/d1
grey83 | d4/d4/d4
grey84 | d6/d6/d6
grey85 | d9/d9/d9
grey86 | db/db/db
grey87 | de/de/de
grey88 | e0/e0/e0
grey89 | e3/e3/e3
grey9 | 17/17/17
grey90 | e5/e5/e5
grey91 | e8/e8/e8
grey92 | eb/eb/eb
grey93 | ed/ed/ed
grey94 | f0/f0/f0
grey95 | f2/f2/f2
grey96 | f5/f5/f5
grey97 | f7/f7/f7
grey98 | fa/fa/fa
grey99 | fc/fc/fc
honeydew | f0/ff/f0
honeydew1 | f0/ff/f0
honeydew2 | e0/ee/e0
honeydew3 | c1/cd/c1
honeydew4 | 83/8b/83
hot pink | ff/69/b4
hotpink | ff/69/b4
hotpink1 | ff/6e/b4
hotpink2 | ee/6a/a7
hotpink3 | cd/60/90
hotpink4 | 8b/3a/62
indian red | cd/5c/5c
indianred | cd/5c/5c
indianred1 | ff/6a/6a
indianred2 | ee/63/63
indianred3 | cd/55/55
indianred4 | 8b/3a/3a
ivory | ff/ff/f0
ivory1 | ff/ff/f0
ivory2 | ee/ee/e0
ivory3 | cd/cd/c1
ivory4 | 8b/8b/83
khaki | f0/e6/8c
khaki1 | ff/f6/8f
khaki2 | ee/e6/85
khaki3 | cd/c6/73
khaki4 | 8b/86/4e
lavender | e6/e6/fa
lavender blush | ff/f0/f5
lavenderblush | ff/f0/f5
lavenderblush1 | ff/f0/f5
lavenderblush2 | ee/e0/e5
lavenderblush3 | cd/c1/c5
lavenderblush4 | 8b/83/86
lawn green | 7c/fc/00
lawngreen | 7c/fc/00
lemon chiffon | ff/fa/cd
lemonchiffon | ff/fa/cd
lemonchiffon1 | ff/fa/cd
lemonchiffon2 | ee/e9/bf
lemonchiffon3 | cd/c9/a5
lemonchiffon4 | 8b/89/70
light blue | ad/d8/e6
light coral | f0/80/80
light cyan | e0/ff/ff
light goldenrod | ee/dd/82
light goldenrod yellow | fa/fa/d2
light gray | d3/d3/d3
light green | 90/ee/90
light grey | d3/d3/d3
light pink | ff/b6/c1
light salmon | ff/a0/7a
light sea green | 20/b2/aa
light sky blue | 87/ce/fa
light slate blue | 84/70/ff
light slate gray | 77/88/99
light slate grey | 77/88/99
light steel blue | b0/c4/de
light yellow | ff/ff/e0
lightblue | ad/d8/e6
lightblue1 | bf/ef/ff
lightblue2 | b2/df/ee
lightblue3 | 9a/c0/cd
lightblue4 | 68/83/8b
lightcoral | f0/80/80
lightcyan | e0/ff/ff
lightcyan1 | e0/ff/ff
lightcyan2 | d1/ee/ee
lightcyan3 | b4/cd/cd
lightcyan4 | 7a/8b/8b
lightgoldenrod | ee/dd/82
lightgoldenrod1 | ff/ec/8b
lightgoldenrod2 | ee/dc/82
lightgoldenrod3 | cd/be/70
lightgoldenrod4 | 8b/81/4c
lightgoldenrodyellow | fa/fa/d2
lightgray | d3/d3/d3
lightgreen | 90/ee/90
lightgrey | d3/d3/d3
lightpink | ff/b6/c1
lightpink1 | ff/ae/b9
lightpink2 | ee/a2/ad
lightpink3 | cd/8c/95
lightpink4 | 8b/5f/65
lightsalmon | ff/a0/7a
lightsalmon1 | ff/a0/7a
lightsalmon2 | ee/95/72
lightsalmon3 | cd/81/62
lightsalmon4 | 8b/57/42
lightseagreen | 20/b2/aa
lightskyblue | 87/ce/fa
lightskyblue1 | b0/e2/ff
lightskyblue2 | a4/d3/ee
lightskyblue3 | 8d/b6/cd
lightskyblue4 | 60/7b/8b
lightslateblue | 84/70/ff
lightslategray | 77/88/99
lightslategrey | 77/88/99
lightsteelblue | b0/c4/de
lightsteelblue1 | ca/e1/ff
lightsteelblue2 | bc/d2/ee
lightsteelblue3 | a2/b5/cd
lightsteelblue4 | 6e/7b/8b
lightyellow | ff/ff/e0
lightyellow1 | ff/ff/e0
lightyellow2 | ee/ee/d1
lightyellow3 | cd/cd/b4
lightyellow4 | 8b/8b/7a
lime green | 32/cd/32
limegreen | 32/cd/32
linen | fa/f0/e6
magenta | ff/00/ff
magenta1 | ff/00/ff
magenta2 | ee/00/ee
magenta3 | cd/00/cd
magenta4 | 8b/00/8b
maroon | b0/30/60
maroon1 | ff/34/b3
maroon2 | ee/30/a7
maroon3 | cd/29/90
maroon4 | 8b/1c/62
medium aquamarine | 66/cd/aa
medium blue | 00/00/cd
medium orchid | ba/55/d3
medium purple | 93/70/db
medium sea green | 3c/b3/71
medium slate blue | 7b/68/ee
medium spring green | 00/fa/9a
medium turquoise | 48/d1/cc
medium violet red | c7/15/85
mediumaquamarine | 66/cd/aa
mediumblue | 00/00/cd
mediumorchid | ba/55/d3
mediumorchid1 | e0/66/ff
mediumorchid2 | d1/5f/ee
mediumorchid3 | b4/52/cd
mediumorchid4 | 7a/37/8b
mediumpurple | 93/70/db
mediumpurple1 | ab/82/ff
mediumpurple2 | 9f/79/ee
mediumpurple3 | 89/68/cd
mediumpurple4 | 5d/47/8b
mediumseagreen | 3c/b3/71
mediumslateblue | 7b/68/ee
mediumspringgreen | 00/fa/9a
mediumturquoise | 48/d1/cc
mediumvioletred | c7/15/85
midnight blue | 19/19/70
midnightblue | 19/19/70
mint cream | f5/ff/fa
mintcream | f5/ff/fa
misty rose | ff/e4/e1
mistyrose | ff/e4/e1
mistyrose1 | ff/e4/e1
mistyrose2 | ee/d5/d2
mistyrose3 | cd/b7/b5
mistyrose4 | 8b/7d/7b
moccasin | ff/e4/b5
navajo white | ff/de/ad
navajowhite | ff/de/ad
navajowhite1 | ff/de/ad
navajowhite2 | ee/cf/a1
navajowhite3 | cd/b3/8b
navajowhite4 | 8b/79/5e
navy | 00/00/80
navy blue | 00/00/80
navyblue | 00/00/80
old lace | fd/f5/e6
oldlace | fd/f5/e6
olive drab | 6b/8e/23
olivedrab | 6b/8e/23
olivedrab1 | c0/ff/3e
olivedrab2 | b3/ee/3a
olivedrab3 | 9a/cd/32
olivedrab4 | 69/8b/22
orange | ff/a5/00
orange red | ff/45/00
orange1 | ff/a5/00
orange2 | ee/9a/00
orange3 | cd/85/00
orange4 | 8b/5a/00
orangered | ff/45/00
orangered1 | ff/45/00
orangered2 | ee/40/00
orangered3 | cd/37/00
orangered4 | 8b/25/00
orchid | da/70/d6
orchid1 | ff/83/fa
orchid2 | ee/7a/e9
orchid3 | cd/69/c9
orchid4 | 8b/47/89
pale goldenrod | ee/e8/aa
pale green | 98/fb/98
pale turquoise | af/ee/ee
pale violet red | db/70/93
palegoldenrod | ee/e8/aa
palegreen | 98/fb/98
palegreen1 | 9a/ff/9a
palegreen2 | 90/ee/90
palegreen3 | 7c/cd/7c
palegreen4 | 54/8b/54
paleturquoise | af/ee/ee
paleturquoise1 | bb/ff/ff
paleturquoise2 | ae/ee/ee
paleturquoise3 | 96/cd/cd
paleturquoise4 | 66/8b/8b
palevioletred | db/70/93
palevioletred1 | ff/82/ab
palevioletred2 | ee/79/9f
palevioletred3 | cd/68/89
palevioletred4 | 8b/47/5d
papaya whip | ff/ef/d5
papayawhip | ff/ef/d5
peach puff | ff/da/b9
peachpuff | ff/da/b9
peachpuff1 | ff/da/b9
peachpuff2 | ee/cb/ad
peachpuff3 | cd/af/95
peachpuff4 | 8b/77/65
peru | cd/85/3f
pink | ff/c0/cb
pink1 | ff/b5/c5
pink2 | ee/a9/b8
pink3 | cd/91/9e
pink4 | 8b/63/6c
plum | dd/a0/dd
plum1 | ff/bb/ff
plum2 | ee/ae/ee
plum3 | cd/96/cd
plum4 | 8b/66/8b
powder blue | b0/e0/e6
powderblue | b0/e0/e6
purple | a0/20/f0
purple1 | 9b/30/ff
purple2 | 91/2c/ee
purple3 | 7d/26/cd
purple4 | 55/1a/8b
red | ff/00/00
red1 | ff/00/00
red2 | ee/00/00
red3 | cd/00/00
red4 | 8b/00/00
rosy brown | bc/8f/8f
rosybrown | bc/8f/8f
rosybrown1 | ff/c1/c1
rosybrown2 | ee/b4/b4
rosybrown3 | cd/9b/9b
rosybrown4 | 8b/69/69
royal blue | 41/69/e1
royalblue | 41/69/e1
royalblue1 | 48/76/ff
royalblue2 | 43/6e/ee
royalblue3 | 3a/5f/cd
royalblue4 | 27/40/8b
saddle brown | 8b/45/13
saddlebrown | 8b/45/13
salmon | fa/80/72
salmon1 | ff/8c/69
salmon2 | ee/82/62
salmon3 | cd/70/54
salmon4 | 8b/4c/39
sandy brown | f4/a4/60
sandybrown | f4/a4/60
sea green | 2e/8b/57
seagreen | 2e/8b/57
seagreen1 | 54/ff/9f
seagreen2 | 4e/ee/94
seagreen3 | 43/cd/80
seagreen4 | 2e/8b/57
seashell | ff/f5/ee
seashell1 | ff/f5/ee
seashell2 | ee/e5/de
seashell3 | cd/c5/bf
seashell4 | 8b/86/82
sienna | a0/52/2d
sienna1 | ff/82/47
sienna2 | ee/79/42
sienna3 | cd/68/39
sienna4 | 8b/47/26
sky blue | 87/ce/eb
skyblue | 87/ce/eb
skyblue1 | 87/ce/ff
skyblue2 | 7e/c0/ee
skyblue3 | 6c/a6/cd
skyblue4 | 4a/70/8b
slate blue | 6a/5a/cd
slate gray | 70/80/90
slate grey | 70/80/90
slateblue | 6a/5a/cd
slateblue1 | 83/6f/ff
slateblue2 | 7a/67/ee
slateblue3 | 69/59/cd
slateblue4 | 47/3c/8b
slategray | 70/80/90
slategray1 | c6/e2/ff
slategray2 | b9/d3/ee
slategray3 | 9f/b6/cd
slategray4 | 6c/7b/8b
slategrey | 70/80/90
snow | ff/fa/fa
snow1 | ff/fa/fa
snow2 | ee/e9/e9
snow3 | cd/c9/c9
snow4 | 8b/89/89
spring green | 00/ff/7f
springgreen | 00/ff/7f
springgreen1 | 00/ff/7f
springgreen2 | 00/ee/76
springgreen3 | 00/cd/66
springgreen4 | 00/8b/45
steel blue | 46/82/b4
steelblue | 46/82/b4
steelblue1 | 63/b8/ff
steelblue2 | 5c/ac/ee
steelblue3 | 4f/94/cd
steelblue4 | 36/64/8b
tan | d2/b4/8c
tan1 | ff/a5/4f
tan2 | ee/9a/49
tan3 | cd/85/3f
tan4 | 8b/5a/2b
thistle | d8/bf/d8
thistle1 | ff/e1/ff
thistle2 | ee/d2/ee
thistle3 | cd/b5/cd
thistle4 | 8b/7b/8b
tomato | ff/63/47
tomato1 | ff/63/47
tomato2 | ee/5c/42
tomato3 | cd/4f/39
tomato4 | 8b/36/26
turquoise | 40/e0/d0
turquoise1 | 00/f5/ff
turquoise2 | 00/e5/ee
turquoise3 | 00/c5/cd
turquoise4 | 00/86/8b
violet | ee/82/ee
violet red | d0/20/90
violetred | d0/20/90
violetred1 | ff/3e/96
violetred2 | ee/3a/8c
violetred3 | cd/32/78
violetred4 | 8b/22/52
wheat | f5/de/b3
wheat1 | ff/e7/ba
wheat2 | ee/d8/ae
wheat3 | cd/ba/96
wheat4 | 8b/7e/66
white | ff/ff/ff
white smoke | f5/f5/f5
whitesmoke | f5/f5/f5
yellow | ff/ff/00
yellow green | 9a/cd/32
yellow1 | ff/ff/00
yellow2 | ee/ee/00
yellow3 | cd/cd/00
yellow4 | 8b/8b/00
yellowgreen | 9a/cd/32