ametameric 2 – candy

#000000 #4f4f4f
#850b10 #c83b00
#548763 #74c681
#e18b00 #ffc50b
#3d169e #0011ff
#631d69 #b41dff
#138fdf #1cd6ff
#c5c5c5 #ffffff

1 in 22 humans have problems discriminating color due to deficient color vision, this is a computational design project, using stochastic gradient design and human steering to make palettes that work well for trichromats while having improved color contrast for all types of dichromats as well as maintaining contrast upon grayscale conversion.

The main goal is a decent default terminal palette, the current local optimum in december 2025 is seen on the right; it is a big improvement on my first go at ametameric terminal palette in 2020.

The worst color pair is the same for trichromats and dichromats alike - like in the bottom right of the color-table, bright gray and white. This has Δe 20, all other combinations have a larger difference in simulated full dichromacy of the different types, as long as the dichromat mappings used are correct - have even larger discriminationfor all dichromats than what differences computed on just the luminance is used.

ametameric.esc
escape sequences to initialize palette on many terminals, download the file and cat it from within a terminal/init-script.
ametameric.gpl
GIMP palette
ametameric.pal
hexadecimal palette

The following is a browser for visualizations of the worst color pairs for variousterminal palettes as well as an optimization pass with the ametameric engine - finding a local optimum near the source palette.

visualize/optimize palette :

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

Download: [.hex | .gpl | .esc]

On the right is the input to the optimizer and on the left the ouput, for some palettes these are (near) identical.
The listed color deltas are the worst, 2nd worst, 3rd worst and 4th worst pairs, the three worst pairs are also circled.
The palette on the bottom shows the color entries sorted by luminance and their relative color differences.

temperature gradient – flame

#000000
#80290b
#cf6600
#55b488
#8fdbff
#ffffff

The gradient part is more of a work in progress, it aims to mirror colors of flames as well as having a match for luminance when converted to grayscale - and be smooth for all dichromats.

I also wanted a temperature like gradient that maps to grayscale levels when converted - an even better match for the grayscale conversion can be achieved by more waypoints, right now this aims for simplicity and is 6 gradient stops to be interpolated in sRGB, it also has the appeal of being the popular orange and teal color-scheme.

The gradient needs further refinement and analysis similar to the color deficiency aware colormaps in matplotlib.

Public Domain Mark
The palette values of (ametameric, by Øyvind Kolås), identified by Øyvind Kolås, is free of known copyright restrictions.

Though attribution is not neccesary; using the name of the palette and attribution in the form of links to this page is appreciated. Please consider sponsoring me for further similar and disimilar work.