In computing, on the X Window System, X11 color names are represented in a simple text file, which maps certain strings to RGBcolor values. It is shipped with every "X" installation, hence the name, and is usually located in <X11root>/lib/X11/rgb.txt[1].
It is not known who originally compiled the list. The list shows neither a continuity in selected color values nor in color names, and many color triplets have multiple names. Despite this, graphic designers and others got used to them, making it practically impossible to introduce a more stringent and logical alias list.
The first versions of Mosaic and Netscape Navigator used the X11 colors as the basis for the Web colors list, as both were originally X applications.
These charts are not a standard set of colors to be found on any X Window system. Rather it is the standardised "X11 colors" accepted by browsers following the HTML and CSS standards. This set is cut down and rationalised, and has a few differences from a typical rgb.txt file (especially, Green is different[2]). RGB values shown are normalised to the range 0 to 255.
Almost the exact same color names are used in .NET Framework, in the KnownColor and Color enumerations. The only color difference is DarkSeaGreen which is defined as 8F,BC,8B (instead of 8F,BC,8F).
Color names that clash between X11 and HTML/CSS
Perhaps most unusual of the color clashes is the case of "gray." In HTML, "gray" is specifically reserved for 128,128,128. However, in X11, "gray" was assigned to 190,190,190 (close to HTML's "silver"), and had "lightgray" (211,211,211) and "darkgray" (169,169,169) counterparts. This resulted in HTML's "gray," at 128, actually being significantly darker than "darkgray," at 169.
The list shown above covers only the colors supported by popular browsers as defined for JavaScript 1.1[3] and before. Some browsers like Netscape navigator insisted on an a in any gray except for lightgrey.
The complete rgb.txt defines 101 shades from gray0 (black) up to gray100 (white) in addition to gray and its variants listed above.
The shades are apparently defined by the formula grayN := round(N*255/100) resulting in e.g. gray96#F5F5F5 (245), which happens to be the same as WhiteSmoke. Similarly dimgray is the same as gray41#696969 (105).
On the other hand gray#BEBEBE (190) lies between gray74#BDBDBD (189) and gray75#BFBFBF (191), darkgray#A9A9A9 (169) isn't the same as gray66#A8A8A8 (168), and lightgrey#D3D3D3 (211) isn't the same as gray83#D4D4D4 (212).
Color variations
For 78 colors as listed above, rgb.txt offers four variants "color1", "color2", "color3", and "color4", with "color1" corresponding to "color", so e.g. "snow1" is the same as "snow". These variations are neither supported by popular browsers nor adopted by W3C standards.
The formulae used to determine the RGB values for these variations appear to be somewhere near
color2 := color*93.2/100 (93%),
color3 := color*80.4/100 (80%),
color4 := color*54.8/100 (54%).
Examples
205.2=255*80.4/100 and 192.96=240*80.4/100 explain ivory3#CDCDC1 (205 205 196) based on ivory#FFFFF0 (255 255 240),
139.74=255*54.8/100 and 131.52=240*54.8/100 are close to azure4#838B8B (131 139 139) based on azure#F0FFFF (240 255 255),
237.66=255*93.2/100 yields yellow2#EEEE00 (238 238 0) based on yellow#FFFF00 (255 255 0).