I am trying to create an RGB approximation of the CIELAB color space wheel for a* and b*. I know that effectively the there needs to be an angular/conical gradient from a central point with Yellow (top Y-axis), Red (right X-axis), Blue (bottom Y-axis), and green (left X-axis), and neutral gray at the origin.

I have struggled a lot trying to get make this.

I have gotten close using the free-form gradient tool in Illustrator, however, the main issue here is that my gradients, especially obvious with the central neutral gray one seem square shaped, rather than radial. While it looks close, it isn't entirely accurate

What I want is a wheel with a conical gradient from a neutral gray point at the origin. The points closest to the origin are more gray-hued of the corresponding red, yellow, blue, and green of the corresponding axes. On the ends of 4 main axis end points the highest chroma color point is located. (i.e. Yellow (255,255,0) at the top point of the Y-axis, Red (255,0,0) on right X-axis, Blue (0,0,255) on the bottom Y-axis, Green (0,255,0) on the left X-axis), and Gray (128,128,128) in the center.

There should be an outward conical gradient of those colors. Starting from gray at the origin. Surrounding the origin are gray hues of the above colors, and as you progressively move outwards towards the edge of the circle the color becomes "purer", with the absolute RGBY on the ends of the corresponding axes. Image 2 kind of gives the idea.

My .ai file attempt can be found here: https://file.io/s0QXHygG5O3q

and I would really appreciate if someone could help.

Thank you!

[image 1 of my attempt at making a CIELAB color space wheel][1]

image 2 of my attempt at making a CIELAB color space wheel

2 Answers 2


Your expectations are not at all clear. Or at least they are not in accordance with each other. You want grey in the middle and 4 brightest possible RGB colors to the outer edge, namely green at 9 o'clock, yellow at 12 o'clock, red at 3 o'clock and blue at 6 o'clock. And between all those 5 extreme points you want a smooth gradient.

Actually you have already got it in an older answer. There just those colors are placed to a 5 point gradient mesh. The answer probably is not just the wanted one, because it cannot fulfill your other contradictory requirements. You want smooth hue change when one moves around the circle without changing the distance from the center and smooth colorfulness change when one moves radially. To make it happen you should give much more intermediate points. Sparse gradient mesh points do not blend smoothly. Around the mesh points there are too big areas with apparently constant color.

This is not all. You added a contradiction by wanting that the image should approximate CIELAB - or Lab in Adobe speech - color space. You presented with a drawing that the x and y coordinates in the wanted gradient should present a and b of the colors of the image. To stay in truth there was also an accordant requirement: When one moves outwards the center, the direction angle really is the hue and the radius is the colorfulness (chroma) in the radial LCH presentation of CIELAB.

The unfortunate thing is that the common sRGB system can show only a small part of the Lab color space. The maximally bright green, yellow, red and blue RGB colors do not sit in the wanted places of the wanted Lab color constellation.

It may be a good exercise to explore a little Photoshop's color selector:

enter image description here

The selector shows actually a RGB version of the Lab colorspace image where L is constant 50%, a goes from left to right from -128 to +127 and b goes from bottom to top from -128 to +127. In the middle there's the selection cursor at the grey point a=b=0.

As you see, the colors do not at all change smoothly when one moves on the plane. The whole Lab was created for smooth color change when the color coordinates are changed smoothly, but it's easy to see differently colored areas and quite steep transitions between them. Where's the error?

A said above, quite a small part of Lab color space can be shown in sRGB systems. In Photoshop's color selector the colors are shamelessly clipped to RGB's biggest available colorfulness when the L is right. Only a small stripe of the blue looking area is shown right. Most of the blue area is far too colorless. RGB simply cannot create especially colorful blueish tones.

You see also that there's only dirty looking dark yellow. That's because L=50% yellow does not look brighter. The max.bright yellow RGB(255,255,0) has in Lab L=98%.

To see better I build a part of the Lab colorspace as a Lab color mode image. It blends 2 full range gradients. The mid layer contains blue to yellow a=0, b=-128....+127, L=50%. The bottom layer contains green to red a=-128...+127, b=0, L=50%. The mid layer has opacity=50%. On the top there's a neutral grey layer with blending mode Luminosity. It's only to test different L values. Now it's actually useless because its L=50%.

enter image description here

The 50% opacity causes that the color range is halved. Horizontally a varies -64....+63 and b varies vertically -64....+63. The grey point is in the middle and L is 50% everywhere. This looks quite dark and colorless, but it presents the actual Lab colors in RGB as well as possible. Even this 50% reduced colorfulness range still contains plenty of Lab colors which are not possible to show in sRGB systems.

Affinity Photo has a well working color proofing as an adjustment layer. I inserted one with the Gamut Check ON. The allowed gamut range is sRGB:

enter image description here

Those Lab colors which are impossible in sRGB are greyed. What's left looks smooth and not being divided to areas. That's what Lab was meant to do.

Just for curiosity I separated a circle around the grey point. It's as big as possible when it should contain only Lab colors which are possible in sRGB and L=50%:

enter image description here

This is the Lab color circle where L=50% and chroma (=radius) is limited to what's possible to show with sRGB devices in all hues (=direction angles). The chroma sqrt(a^2+b^2) can be maximally 30. It's zero in the middle.

This is not especially colorful nor doesn't look otherwise fine. I guess you may actually want a sRGB mode HSB circle where the saturation varies radially and maybe the brightness is constant. The next is with constant brightness:

enter image description here


I would tend to just use a Gradient Mesh. Draw a circle, click one side with the Mesh Tool, set color, repeat for other 3 sides. Then select the center mesh point and set it to a neutral grey.

enter image description here

.... Unless I'm not understanding what you are trying to achieve.

The difference is that mesh points will blend to the next mesh point. Where as the point gradients, just have a (transparency) drop off. So with mesh point you ultimately get a blend between the grey and the outer colors rather than a grey dot in the middle that fades outward. By scaling the center mesh point you effectively control the color mixing between the grey and colors.

  • hey thanks!! I think this looks better. I am trying to follow your steps but When i click on a point after the third, the color doesn't change. I don't have much experience with mesh tool. Do you think you could share an .ai file? I'd really appreciate it. May 10, 2023 at 23:07
  • Actually, i was just able to re-create it in a new document! The other question I have is how did you scale the center mesh point? May 10, 2023 at 23:11
  • @JosephRomo One actually only needs to click twice with the mesh tool, the other mesh point are auto-added. So click once at the top edge, and once at the left or right edge - you'll have 5 mesh points then. Select a Mesh Point with the Direct Selection tool (white arrow) and assign a color. To scale the center point, select it with the Direct Selection Tool, then double-click the Scale tool in the toolbar
    – Scott
    May 11, 2023 at 11:41
  • I actually think I scaled the center point 150% not 250%.
    – Scott
    May 11, 2023 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.