Email or username:

Password:

Forgot your password?
Kate Morley

I designed the 12-bit rainbow palette for use on grid.iamkate.com. It consists of twelve colours chosen with consideration for how we perceive hue, chroma, and luminance. The palette uses a 12-bit colour depth, so each colour requires only four characters when specified as a hexadecimal colour code in a CSS or SVG file. For more details, see iamkate.com/data/12-bit-rainbo

90 comments
Christian Tietze

@kate @sachac Being red/green color deficient, I'd be happy to adopt this and never worry about color again ❤️‍🔥

Dave

@ctietze
You're a Protan, then? As a Deutan, I do have problems distinguishing the two cyans if they're not consistently next to each other in a diagram.
I mean: if those two cyans are used for lines in a diagram, I wouldn't be able to identify the corresponding legend entry.
@kate

Karsten Johansson

@anathem @ctietze @kate For me there are 4 that all might as well be the same colour. The first one is whiter, but the next 3 are all the same.

Christian Tietze

@ksaj @anathem @kate I don't even know which the "cyans" are; I guess the 4 rightmost colors?

The middle 2 of band is a bit "meh" for me, kinda works even when I squint.

Interesting to see the kinds of trouble you two have!

Dave

@ctietze @ksaj @kate "My" two cyans are the 4th and 5th color from right (or the two rightmost in your excerpt).

Wait... my definition of cyan always was "blue-green with a bit of whitestep", as if cyan never occurs without a bit of white mixed in.
But now I think about deuteranopian response curves (i.e. the green response is shifted towards red), which suggest that this whitestep is in my perception only (red would respond almost like green on cyan).

Karsten Johansson

@anathem @ctietze @kate Here's one of the best spectrum comparisons I've found. I have tritanomaly.

Dave

@ksaj I do suspect that this chart would only make sense to normal-sighted people. I do see a difference between Baseline and Deuteranomaly, it's the smallest difference out of all lines, but I do suspect that difference is due to the fact that I'm seeing it on an RGB Monitor made for normal-sighted people.
I'd need that chart emitting real wavelengths instead of RGB mixtures, I'd think.

Karsten Johansson

@anathem Yea, they aren't perfect. But it's pretty close-yet-not-perfect for me for the tritanomaly spectrum.

Karsten Johansson

@ctietze @anathem @kate I can only tell what part this is because of the first grey line. It looks like a gradient chart.

Karsten Johansson

@ctietze @kate @sachac Hah, that's funny. I just replied similarly but opposite to you. I'm YB colour blind and a quarter of the colours look the same to me. The edges are quite colour blind friendly though.

/home/baer 🍪:garfield:

@kate you have a lot of other useful stuff on your website too!👍 🍪

Jacob Tender

@kate love it! Going to work this into an internal analytics tool at work for our charts.

DELETED

@kate gorgeous palette...your National Grid page is really nicely presented as well

Michael Forster

@kate I've recently had similar thoughts to define the colors for my linux terminal.

I went for constant luminance, though. With two different brightness levels and trying to maximize apparent hue differences (too many blues and greens).

Going with smoothly changing luminance is a nice idea, though probably not quite applicable for my use case...

Jason Tweed

@kate This is great but it could be expanded to 15 or 16 colors if you include black, white, and one or two shades of gray. I also question whether this pallet would improve accessibility for people with visual impairments.

DJP (Darren John Pope)

Fascinating - calls to mind Goethe's theory of colour and the subjective emotions (mood) embedded in the multitude of tone and hue

openculture.com/2013/09/goethe

Worship & Magick

@kate These are some good colors. Reminds me of soft Lisa Frank.

Justin Lind

@kate Kate, I love where you took this palette!

🌈📊💥❤️🎨

Great job smoothing the luminance changes while preserving the general gist of the actual color shade we perceive. :)

Éamonn

@kate Not nearly as beautiful as your nicely crafted palette, but if anyone wants dynamically generated palettes of any size of maximally distinguishable colors (to the human eye), I wrote this JavaScript library:

npmjs.com/package/maxichrome

Image example is palettes of 12 for three cases
* colors that contrast with black text
* colors that contrast with white text
* colors, irrespective of what the text color is

Design by Adrian

@kate I love it! Considering making a tailwind palette of this, except then I’d ruin the short hex codes 😔

Yves Jeanrenaud

@kate awesome! and you do license it it really cc0?

Kate Morley

@yjeanrenaud Yes, everything I create is CC0-licensed

Doğan Kökdemir

Dear @kate, your work is simple and perfect. I test the palette on different monitors and programs; it's spotless. Thank you for sharing it. In the comments, you said that all your works have a CC0 license; thank you also for this. I am a psychologist and an amateur photographer loving to enjoy color palettes and try experimenting with them (to create alternative palettes). You provide a new toy, at least for me. ☺️

Brood Tea

@kate beautiful! it's nice seeing these in action in your visualizations.

Jennifer Moore

@kate That is some top geekery! Beautiful work!

merwok

@kate lovely one — would you mind if I added it to lospec.com for pixel artists and game devs? (with name and/or link credit as you want)

Jason Howard :sdf:

@kate That's a pleasing palette.

If you're using it for false color in visualization, wouldn't there be a problem with the most right color being too easily interpreted as somewhere on the left side? It's almost like the most right color should be the first left and everything else shifted right by one. Anyway, it's still quite a bit nicer than the typical data visualization choices 😃

Brendan Jones

@jhoward @kate I was thinking the same - they’re fine if they’re always kept separate in a visualisation but if they cross paths then they could be confused. I’ve zero expertise in this so curious to hear the actual answer from Kate - or alternatively why you (Kate) didn’t make the right-most one a darker blue. I’m sure there’s a good reason!

Jean-Baptiste "JBQ" Quéru ⌨️🎮

@kate It is so pretty, I wish I had had it when I was working on Atari STe... and then I'd have requested a 9-bit variant for Atari STf and for Sega Genesis.

Nikita Karamov

@kate just discovered it, very impressive!

Did you use HSL and then adjust luminance by hand? I wonder if LCH or OKLCH is easier to use for this sort of stuff, as its L component already corresponds to the perceived light.

Colour picker: oklch.com/#70,0.1,77,100
About OKLCH in CSS: evilmartians.com/chronicles/ok

Kate Morley

@kytta I choose the lightest (yellow) and darkest (burgundy) colours, interpolated between them in the HCL colour space, and then adjusted them to 12-bit RGB colours while ensuring the HCL differences between neighbouring colours were still approximately constant across the palette

masukomi

@kate @kytta first off, i think this is great.

Have you done any testing with it to see how distinguishable the various bands are for the common forms of color blindness?

Likely Jan Lukas

@kate @glen_malley Excellent idea! And excellent rationale! 🙂

Gergely Imreh

@kate as a side effect (?) it is also beautiful!!

Osma A

@kate @simon I wonder if you're aware of the contrast distortion a rainbow palette causes for visualizations, and how it also presents nearly the same colors at both extremes for most common forms of color blindness. There are better palettes for viz work, the most common being viridis. Read more here:
theconversation.com/amp/how-ra

Globaltom

@osma @kate @simon the point of the colours on the National Grid site is not to show a continuous range in any way. It's the opposite - the aim to show discrete things. The blue thing and the cyan thing are just as distinct as the red thing.

Osma A

@Globaltom
Right. When that's the objective, the palette would ideally be one which is distinct even with color sight issues, which rainbow is not. That's not an easy target though! Combining colors with symbols, patterns, border widths etc are things that could help. When I was studying the topic, this was a helpful post:
davidmathlogic.com/colorblind/

Tomas Ekeli

@kate lovely! thankyou for sharing this!

brianshaler

@kate This is incredible! Perfect balance of visually appealing and mathematical purity. Did you use linear interpolation for luminance or a sine curve? Do you think a different chroma or lum min/max would work better for dark vs light modes?

Michael Miller :blobrdm: 🦆

@kate thank you for this, it’s very good! I’ve worked most my career in color (physical print, so *no one* wants anything muted) and never thought of approaching a color palette in this way.

Jonathan Koomey

@kate Nice work, I’ve always wanted guidance on how to choose colors for graphs and this makes it easy.

Trezzer (aka Helvedeshunden)

@kate I wish I had a website to build just to spray these wonderful colours everywhere on it.

Mr. Completely

@kate I love it. Wonderful work. Practical and visually very harmonious

cobalt

@kate Very beautiful! It was interesting to see the grayscale below the palette and learn about your selections.

gadgetoid

@kate words cannot express how much I love this and how desperate I am to see how it looks on pico.pinout.xyz and my blog!

iam :verified:

@kate I can’t wait to try these out in my docs and slides. Thank you!!

Jon Michaels

@kate Apropos of nothing but my own personal experience, this is a very nice set of colors. I can actually see the 12 bands.

I have some kind of visual deficiency where I see a reduced color set from the “average” person. I describe it like this: if a normal person sees the 64 box of crayons, I only get so see the box of 8. Shades in the blue/green range are the hardest for me to distinguish. Frequently on software color pickers, multiple consecutive boxes will all look the same to me.

Piotr Esden-Tempski

@kate that is great! Thank you for sharing! :)

Lea Rosema

@kate I love it :) also the fact 12bit rebeccapurple is included 💜

Tommy Thorn

@kate Came for the palette, stayed for grid.iamkate.com/
This is truely gorgeous and readable - an inspiration! Thank you so much for documenting much of how you did this.

Globaltom

@kate this is very neat! Can I ask how you obtain the "perceived luminance?

Kate Morley

@Globaltom The standard formula (from ITU-R Recommendation BT.601) is the weighted average 0.299 * red + 0.587 * green + 0.114 * blue

Karsten Johansson

@kate As a yellow-blue colourblind individual, there is a huge swath that looks like the same colour to me. The first 5 and last 3 are differentiated (and look great!), but everything in between is a smear of cyan.

Brad Mohr

@kate
I love this. I've been using Sasha Trubetskoy's 20-color palette for the last few years: sashamaps.net/docs/resources/2

Brad Mohr

@kate
There's also Bang Wong's colorblind-safe palette.

Elabajaba

@kate As someone who's partially colourblind (red-green), please consider removing or reworking the yellow -> green transition colour, as it blends with both of its neighbouring colours too much.

Ben Ramsey

@kate @brunty I wonder what the phenomenon is called when one can’t directly look at this palette. I have to look to the side of it to see it properly. Otherwise, the colors bleed together, and I can’t tell where one begins and the other ends. I don’t think I’m color blind, but this has me questioning that.

tayknight

@kate this is lovely and useful. Thanks for sharing.

Granny Art (Shrimp) (Joni)

@kate Wait, the left most color is red, not purple?

Ronan

@kate I love how, if you focus your look at one bar, it appears to get brighter or darker as it gets closer to to its left or right neighbour

Friendly Neighborhood Chuck!

@kate LOVE THE PALETTE!!! Plus, I'm goint to use this image as a wallpaper!!

Ade Thompson

@kate your edited post has a rogue . As the end of the first URL.

Nemo Thorx

@kate I love the logic behind this! ...but eyeballing the respective r/g/b columns on the 16 colour triplets, I was confused that the blue values didn't follow a logical progression - the "5" in #a35 drops awkwardly between a 7 and a 6. Digging further, I see you already have it as #a36 in the embedded svg, the "#a35" in only the visible text and css. Is "a36" the intended fix? (though... #a35 seems redder/better to me, but then the third colour would have to become #c65 or even #c64?!)

ES Michelson

Dear @kate
This is wonderful. Thank you.

I'd like to adapt your model for my color palette templates in presentations. The Hex value don't work, at least not in LibreOffice where the # character is ignored. Do you have a recommendation?

Best wishes,
Eric

Go Up