Color Memory Game
By John K.··12 min read

Shades of red: 65 names, their hex codes, and the measurement showing they are a brightness ladder, not a range of hues

Every named shade of red with its hex code, measured pairwise with CIEDE2000. The 65 names occupy a 58 degree wedge of the color wheel and are separated mostly by chroma and lightness, which is why three clusters swallow 36 of them once you work from memory.

Crimson, scarlet, vermilion, carmine, cardinal, cherry. Search for shades of red and the lists arrive with fifty or a hundred entries, each with a hex code and a confident name, and the honest reaction is to wonder how many of them are the same swatch relabelled. I ran the measurement to find out, using the same perceptual math this site uses to score guesses.

The answer surprised me in the opposite direction from the one I expected. Side by side, the names hold up. I collected 65 named reds, every red and pink keyword in the CSS named-color set plus the shades that recur across mainstream lists with a settled hex value, and ran all 2,080 pairs through CIEDE2000. Only 14 pairs sit below the threshold where two colors stop being distinguishable. The other 2,066 are genuinely different colors.

What the measurement did expose is a structural fact about the red family that nobody puts in the intro paragraph. These names are not spread across a range of hues. All 65 of them fit inside a 58 degree wedge of the color wheel, about a sixth of it, and what separates one from another is overwhelmingly how dark it is and how vivid it is. Red naming is a brightness and saturation grid wearing the vocabulary of hue. Below are the names, the hex codes, the numbers, and why that distinction changes which of these names are worth learning.

The named shades of red with hex codes

Grouped by lightness rather than alphabetically, because lightness turns out to be one of the two things doing the separating. L* is CIELAB lightness on a 0 to 100 scale, and C* is chroma, the distance from gray, where higher means more saturated. If the six-digit notation needs unpacking, how to read hex color codes covers what the digits do.

Dark reds, L* below 35

  • Oxblood, #4a0000. L* 12.3. The darkest named red in the set, and darker than any named blue except Oxford blue.
  • Rosewood, #65000b. L* 19.2.
  • Blood red, #660000. L* 19.3.
  • Barn red, #7c0a02. L* 25.3. Measured 1.01 from maroon, which is well below the threshold at which anyone can see a difference.
  • Maroon, #800000. L* 25.5. The CSS keyword, and one of the four web colors that has kept its original 1996 value.
  • Burgundy, #800020. L* 25.8. Named for the wine region, and 9.05 from maroon, which is a real difference but a small one.
  • Falu red, #801818. L* 27.6. The Swedish barn paint, made from copper mine tailings at Falun since the sixteenth century.
  • Claret, #7f1734. L* 27.8.
  • Dark red, #8b0000. L* 28.1.
  • Wine, #722f37. L* 29.1. Chroma 31.9, one of the grayest entries on the list.
  • Sangria, #92000a. L* 29.7. Measured 2.10 from dark red, so barely distinguishable from it.
  • Garnet, #733635. L* 30.7.
  • Carmine, #960018. L* 30.8. From cochineal insects, the pigment that made Oaxaca wealthy in the sixteenth century and is still on ingredient lists as E120.
  • Tuscan red, #7c3030. L* 30.9.
  • Ruby red, #9b111e. L* 32.8.
  • Cranberry, #9b1b30. L* 33.9.
  • Madder, #a50021. L* 34.2. The plant dye that colored British army coats before synthetic alizarin replaced it in 1869.

Mid reds, L* 35 to 60

  • Brown, #a52a2a. L* 37.5. The CSS keyword, and it measures 3.12 from firebrick. More on this below, because it is the most interesting entry in the set.
  • Carnelian, #b31b1b. L* 38.6.
  • Firebrick, #b22222. L* 39.1. Measured 1.35 from carnelian.
  • Oxide red, #a13b2c. L* 39.4.
  • Venetian red, #c80815. L* 42.0.
  • Cardinal, #c41e3a. L* 42.7.
  • Lava, #cf1020. L* 43.9. Measured 1.62 from fire engine red.
  • Rust, #b7410e. L* 44.1. Hue 18 degrees, which is outside any reasonable red band.
  • Cherry, #d2042d. L* 44.2.
  • Fire engine red, #ce2029. L* 44.7.
  • Medium violet red, #c71585. L* 44.8. Hue 322 degrees. This is magenta with a red name attached, 38 degrees off pure red.
  • Mahogany, #c04000. L* 45.5. Hue 20 degrees, and 2.12 from rust.
  • Redwood, #a45a52. L* 46.7.
  • Crimson, #dc143c. L* 47.0. The most useful red on this list for reasons covered in the contrast section.
  • Persian red, #c93f38. L* 47.3.
  • Ruby, #e0115f. L* 48.4. Measured 1.06 from raspberry.
  • Brick red, #cb4154. L* 48.4.
  • Raspberry, #e30b5c. L* 48.7.
  • Marsala, #986960. L* 49.0. Pantone’s 2015 color of the year, and chroma 21.7, the second grayest entry here.
  • Alizarin crimson, #e32636. L* 49.5.
  • Amaranth, #e52b50. L* 50.6.
  • Chili red, #e23d28. L* 51.4.
  • Imperial red, #ed2939. L* 51.7. Measured 2.29 from alizarin crimson.
  • Vermilion, #e34234. L* 52.4. Also published as cinnabar under the identical hex code, since the pigment and the mineral it was ground from are the same thing.
  • Red, #ff0000. L* 53.2, chroma 104.6. The most saturated color in the entire named set by a distance.
  • Indian red, #cd5c5c. L* 53.4.
  • Candy apple red, #ff0800. L* 53.4. Measured 0.27 from pure red. One hex digit apart, and no eye can tell them apart.
  • Scarlet, #ff2400. L* 54.6. Measured 1.95 from pure red.
  • Poppy, #e35335. L* 54.8.
  • Rose, #ff007f. L* 54.9. Hue 330 degrees.
  • Flame, #e25822. L* 55.3. Hue 17 degrees.
  • Deep pink, #ff1493. L* 56.0. Hue 328 degrees, and 3.99 from rose.
  • Blush, #de5d83. L* 57.1.
  • Orange red, #ff4500. L* 57.6. Hue 16 degrees, and the name at least admits where it sits.

Light reds and pinks, L* above 60

  • Pale violet red, #db7093. L* 60.6. Hue 340 degrees.
  • Terra cotta, #e2725b. L* 60.7.
  • Tomato, #ff6347. L* 62.2.
  • Rosy brown, #bc8f8f. L* 63.6, chroma 18.3. The grayest color on the list, and closer to a warm gray than to any red here.
  • Watermelon, #fc6c85. L* 64.3.
  • Hot pink, #ff69b4. L* 65.5. Hue 330 degrees.
  • Light coral, #f08080. L* 66.2.
  • Salmon, #fa8072. L* 67.3. Measured 4.96 from light coral, which is a difference you would see side by side and lose within a minute.
  • Coral, #ff7f50. L* 67.3. Hue 16 degrees, so the same lightness as salmon and a noticeably different hue.
  • Dark salmon, #e9967a. L* 69.9. Lighter than salmon, despite the name, because dark here refers to the CSS convention of a duller version rather than a darker one.
  • Light salmon, #ffa07a. L* 74.7.
  • Light pink, #ffb6c1. L* 81.1.
  • Pink, #ffc0cb. L* 83.6. Measured 2.67 from light pink, which is a hair above the threshold. Two CSS keywords, barely two colors.
  • Misty rose, #ffe4e1. L* 92.7, chroma 10.0. Effectively a white with a memory of red in it.

The pairs that are the same color

A difference of ΔE00 2.3 is the standard just-noticeable-difference threshold, the point below which two adjacent patches stop being separable under good light. Fourteen of the 2,080 pairs fall below it. The tightest:

  • Red #ff0000 and candy apple red #ff0800, ΔE00 0.27. Eight units of green channel apart. This is the same color with a marketing department.
  • Maroon #800000 and barn red #7c0a02, ΔE00 1.01.
  • Ruby #e0115f and raspberry #e30b5c, ΔE00 1.06.
  • Firebrick #b22222 and carnelian #b31b1b, ΔE00 1.35.
  • Fire engine red #ce2029 and lava #cf1020, ΔE00 1.62.
  • Carmine #960018 and ruby red #9b111e, ΔE00 1.70.
  • Red #ff0000 and scarlet #ff2400, ΔE00 1.95. Scarlet has a specific historical meaning, a cloth dyed with kermes, and no visual identity of its own left.

Two more pairs share a hex code outright rather than merely measuring the same. Vermilion and cinnabar are both #e34234, and auburn and brown are both #a52a2a. Those are excluded from the count above, since a name collision is a fact about vocabulary rather than about vision.

Fourteen collisions out of 2,080 pairs is a 0.7 percent failure rate. Against the suspicion that these lists are mostly padding, that is a clean acquittal. The problem with the red list lies somewhere else entirely.

What actually separates one red from another

CIEDE2000 combines three differences: lightness, chroma and hue. Across all 2,080 pairs I averaged each component separately, and the ranking is the finding of this whole exercise.

  • Mean chroma difference: 23.20
  • Mean lightness difference: 18.34
  • Mean hue difference: 15.87

Hue comes last. The vocabulary of red implies that crimson and scarlet and vermilion are different reds, in the way that teal and navy are different blues, but they are not. Measured in HSV, the entire named set spans 58 degrees, from medium violet red at 322 to mahogany at 20. That is 16 percent of the color wheel holding 65 names. Within that wedge the names sort themselves by two questions: how dark, and how vivid.

This is why the practical advice about reds always sounds like advice about something else. A designer choosing between burgundy and maroon is choosing a lightness. Someone deciding whether their brand red should be crimson or fire engine red is choosing a chroma. Neither is choosing a hue in any meaningful sense, because the hue was fixed the moment they said red. The blue family behaves the opposite way, spreading across 60 degrees with names that genuinely mark hue positions, which is covered in shades of blue alongside the same measurement run on that family.

Why red can carry this many names anyway

A 58 degree wedge sounds too small for 65 names, and the arithmetic says otherwise. I sampled the sRGB cube at every third value, 621,924 saturated colors after discarding the near-grays, then greedily packed each hue family at the ΔE00 2.3 threshold to count how many distinguishable colors it holds.

  • Red, taken as HSV hue 345 to 15 degrees: 30 degrees wide, 8.4 percent of the saturated cube, 1,489 distinguishable colors. That is 49.6 per degree of hue.
  • Yellow, 45 to 75 degrees: also 30 degrees wide, 1,197 distinguishable colors, 39.9 per degree.
  • Blue, 195 to 255 degrees: 60 degrees wide, 1,993 colors, 33.2 per degree.
  • Magenta, 285 to 345 degrees: 60 degrees wide, 1,868 colors, 31.1 per degree.
  • Green, 75 to 165 degrees: 90 degrees wide, 1,957 colors, 21.7 per degree.

Red is the densest family in the gamut per degree of hue, packing more than twice what green manages. The reason is that red sits at maximum chroma in sRGB, with pure red reaching C* 104.6 where pure green reaches far less usable saturation range once you account for how much of green is crowded near the top of the lightness scale. A wedge that narrow with that much chroma to spend gives naming a great deal to work with in the two dimensions that are not hue, which is exactly what the vocabulary went and did.

So the names are earned. Sixty-five reds is not padding. It is a vocabulary that correctly reflects a genuinely crowded region of color space, described using the wrong axis.

The collapse when you work from memory

Side by side under good light is not the condition anyone uses color names in. You use them across a room, from a paint chip in your pocket, an hour after leaving the shop. Rerunning the clustering at wider tolerances shows what survives.

  • ΔE00 2.3, side by side: 65 names give 54 distinct colors.
  • ΔE00 5, a glance apart or across a paint chip: 65 names give 33.
  • ΔE00 10, from memory, which is how names are actually used: 65 names give 16.

The shape of that collapse matters more than the number. Three clusters absorb 36 of the 65 names between them.

  • The bright red cluster, 10 names: red, orange red, scarlet, vermilion, imperial red, chili red, candy apple red, alizarin crimson, poppy, flame.
  • The dark red cluster, 14 names: dark red, maroon, firebrick, brown, carmine, blood red, barn red, rosewood, falu red, madder, sangria, carnelian, ruby red, oxide red.
  • The crimson cluster, 12 names: crimson, indian red, cardinal, ruby, cherry, brick red, amaranth, fire engine red, persian red, venetian red, lava, raspberry.

Everything else is a small group or a singleton. The pinks hold together as their own region, burgundy and wine and claret and garnet and cranberry and tuscan red form a sixth cluster, and tomato, oxblood, rosy brown, misty rose and medium violet red each survive alone because nothing else on the list is near them.

Sixty-five names, sixteen colors you can actually retrieve. The blue family collapsed from 67 to 18 under the same test, so red loses slightly more, which follows from the narrower hue wedge. The mechanism behind both is covered in how long can you remember a color: memory does not store a color, it stores a category plus a rough position, and the position degrades within seconds while the category stays.

Where the red boundary leaks

Sixteen of the 65 names fall outside the conventional red hue band of 345 to 15 degrees, and they leak in two directions.

Toward orange

Dark salmon at 15 degrees, coral and orange red at 16, light salmon and flame at 17, rust at 18, mahogany at 20. These are orange colors filed under red because the objects they are named after are usually described as reddish. Rust in particular is 48 degrees in CIELAB hue angle, sitting with the browns, and if you are picking a rust for a design you are picking an orange whatever the swatch label says. The wider argument about where warm hues divide is in warm and cool colors.

Toward magenta

Medium violet red at 322 degrees, deep pink at 328, hot pink and rose at 330, ruby at 337, raspberry at 338, pale violet red at 340. Medium violet red is the worst offender, 38 degrees from pure red, which is further than the entire red family is wide. CSS inherited these names from the X11 color set in the 1980s, where they were chosen by people naming colors on a monitor rather than by anyone measuring them, and they have been frozen into the web platform ever since.

And brown, which is just a dark red

The entry worth stopping on is brown, #a52a2a. It measures 3.12 from firebrick, which is close enough that under anything but direct comparison they are the same color, and it lands inside the dark red cluster at memory tolerance. Brown has no wavelength of its own. It is what a dark orange or dark red looks like when the surrounding field is brighter than it is, which is why you never see a brown light source and why brown vanishes from a swatch viewed in isolation against black. The pigment version of the same question is worked through in what colors make brown, and the surround-dependence is a case of the effect described in what is color constancy.

The contrast trap in pure red

One practical result fell out of the numbers that is worth stating on its own. Pure red #ff0000 against white gives a contrast ratio of 4.00 to 1. The WCAG minimum for body text is 4.5 to 1. The most obvious red in the entire palette fails accessibility for ordinary text on a white background, and it fails by a margin small enough that nobody notices until an audit says so.

  • Red #ff0000, 4.00:1 on white. Fails AA body text.
  • Crimson #dc143c, 4.99:1 on white. Passes, and is close enough to red that almost nobody will register the substitution.
  • Ruby #e0115f, 4.76:1 on white. Passes.
  • Dark red #8b0000, 10.01:1 on white but only 2.10:1 on black.
  • Maroon #800000, 10.95:1 on white, 1.92:1 on black.
  • Pink #ffc0cb, 1.54:1 on white, 13.65:1 on black.

Crimson is the useful default. It is the brightest red on the list that clears the body-text threshold on white, and switching to it costs you a ΔE00 of 13.77 from pure red, which reads as a slightly deeper red rather than as a different color. If your site has a red that appears in running text, this is the single cheapest fix available.

Which of the 65 names are worth keeping

My own opinion, having stared at these numbers for longer than is reasonable: keep the names that mark a position on the two axes that actually vary, and drop the ones that claim a hue distinction they do not have.

  • Keep the lightness anchors. Maroon, burgundy, crimson, red, pink. Five names spanning L* 25 to 84, each separated from its neighbors by more than memory tolerance. Someone who knows only these can describe any red in the family by interpolation.
  • Keep the chroma outliers. Rosy brown at C* 18.3 and marsala at 21.7 are doing something no other name on the list does, which is describing a red that has had most of the color taken out of it.
  • Keep the ones with a fact attached. Falu red, carmine, madder and vermilion carry pigment histories that make them worth knowing even where the color is duplicated elsewhere. A name that teaches you something survives being redundant.
  • Drop candy apple red. ΔE00 0.27 from red. It is red.
  • Treat scarlet and vermilion as decoration. Both sit within 2 of colors already named. Use them for tone, not for specification.
  • Stop calling coral, salmon and rust reds. They are oranges, and the mislabelling is why people mix them wrongly.

Testing your own red discrimination

Reading the numbers is not the same as owning the judgement, and red is the family where the gap between the two is widest, because the vocabulary has trained everyone to listen for hue differences that are not there. Every guess in the color matching game is scored with the same CIEDE2000 implementation behind every figure in this article, so a red you thought you had matched comes back as a specific distance rather than a feeling. Watch what happens to your scores on the dark reds specifically: most people are far better at placing hue than at placing chroma, and the red family punishes exactly that weakness. Name That Color runs the task in the opposite direction, showing a swatch and asking which name it deserves, which is where the sixteen-cluster result stops being an abstraction. For the theory underneath all of it, what is CIEDE2000 explains the formula, and color theory covers where the families sit relative to each other.

How these numbers were produced

The 65 names are every red and pink keyword in CSS Color Module Level 4 plus the named shades that appear consistently across mainstream shade lists with an agreed hex value. Two further names, cinnabar and auburn, duplicate the hex codes of vermilion and brown exactly and were excluded from the set rather than double-counted. All 2,080 unordered pairs were converted from sRGB to CIELAB against the D65 reference white and compared with CIEDE2000 following Sharma, Wu and Dalal’s reference implementation, which is the same code path this site uses to score gameplay.

The component averages are computed on plain CIELAB deltas rather than on the weighted CIEDE2000 terms, so they attribute the raw difference between two colors rather than the perceptual weighting applied to it. Using the weighted terms shifts the magnitudes but not the ordering. Clustering is greedy in list order, merging each name into the first existing cluster within the threshold; greedy clustering is order-dependent, so the bucket counts are approximate to within a name or two, though the shape of the collapse is not sensitive to it.

Distinguishable-color counts come from sampling the sRGB cube at every third value, discarding anything below 15 percent HSV saturation to keep near-grays out of the hue families, then greedily packing at ΔE00 2.3. These are lower bounds set by the sampling grid, and the same order-dependence moves them by around one percent between runs. Hue-family boundaries are HSV hue bands, red 345 to 15, yellow 45 to 75, green 75 to 165, blue 195 to 255, magenta 285 to 345, which are conventional rather than perceptual and would shift the absolute counts if drawn differently. Contrast ratios follow the WCAG 2.2 relative luminance definition.