Periwinkle is #CCCCFF. Red and green at 204, blue at 255. The value comes from Maerz and Paul’s 1930 Dictionary of Color, the word has been an English colour name since 1922, and both are borrowed from the lesser periwinkle, Vinca minor, a ground-cover plant whose five-petalled flowers are this colour in spring.
That answers the question people type. It does not answer the one they argue about, which is whether periwinkle is a blue or a purple. Google puts “Is periwinkle purple or blue?” at the top of its questions for the colour, and the threads underneath split down the middle. The usual resolution is a shrug: it is a bit of both, it depends on the screen, it depends on the person.
I wanted a better answer than a shrug, so I measured it. Every figure below comes from the same pipeline the rest of this site uses: hex to linear sRGB under a D65 white, into CIELAB and Oklab, distances in CIEDE2000, with one just noticeable difference taken as 2.3 units from our own JND measurement. The short version: periwinkle is blue by physics, sits on the line by language, and the line runs through a band of hue the eye cannot resolve. Everyone in the thread is right.
In light, periwinkle is pure blue with the lights turned up
Look at the hex code again. The red and green channels are equal, and the blue channel is at maximum. That is the definition of a tint of the blue primary. There is no red surplus to push it toward purple and no green surplus to push it toward cyan. In HSV the hue is 240 degrees exactly, the same number pure #0000FF gets.
The physics agrees with the arithmetic. Work out the chromaticity of #CCCCFF and draw a line from the D65 white point through it to the spectral locus, and it lands at 464 nanometres. Do the same for #0000FF and it lands at 464 nanometres. They are the same light. In linear terms, periwinkle is the blue primary with about 60 percent white mixed in. If you believe periwinkle is purple, you are committed to believing the blue primary of every screen you own is purple.
#CCCCFF · L* 83.57, C* 26.95, dominant wavelength 464 nm
#0000FF · L* 32.30, C* 133.80, dominant wavelength 464 nm
Which is a position some people do hold, and the measurement gives them something. 464 nanometres is a short-wave blue. Of the 19 CSS colours with blue in their name and enough chroma to have a hue, eleven have a longer dominant wavelength than periwinkle, four share its 464 because they are the same primary darkened, the only three that are shorter are the slate blues at 458, which our purple survey already found measure as violets, and blueviolet has no dominant wavelength at all because it sits on the purple line. Cornflower is at 474, royal blue at 470, sky blue at 484. Periwinkle’s blue is the violet end of blue, not the sky end. But it is still inside blue.
Three colour models, three different stories
Here is where it gets interesting. Take the blue primary and add white in steps, the way a CSS gradient does, and ask three colour models what the hue is doing.
HSV says nothing happens: the hue is 240 at every step, because HSV is the channel arithmetic and the arithmetic does not change. CIELAB says the hue moves 14 degrees toward blue, from 306.3 down to 292.5 at periwinkle. Oklab says the opposite: the hue moves 21 degrees toward purple, from 264.1 up to 284.8.
Two models cannot both be right about the direction, and this is a known problem with a known winner. CIELAB’s handling of blue has been the space’s most criticised weakness since the 1990s. Nathan Moroney showed in 1999 that CIELAB’s lines of constant hue through the blues do not look like constant hue, and that every model built since does better there than CIELAB does. Oklab was built in 2020 specifically to fix this, fitted to the Ebner and Fairchild constant-hue data, and its author’s own test case for the problem is exactly this gradient: blend white into blue and CIELAB, CIELUV and HSV all drift toward purple.
So the model that was fitted to what people see says that as you add white to the blue primary, the colour you perceive drifts purple, and by the time you reach periwinkle it has done 20.7 of the 21.9 degrees it will ever do. Periwinkle is not just a tint of blue. It is the tint of blue at which the purple drift is nearly complete. The physics says blue, and the perception, using the best model we have for it, says this particular blue looks more purple than its parent by a wide margin.
The hue where English changes its mind
That still does not settle whether 284.8 degrees of Oklab hue is a blue or a purple, because hue angles do not come with words attached. So I let the vocabulary decide. The CSS named colours are 141 words people agreed on, and 35 of them belong to the blue or purple families by name and have enough chroma to carry a hue. Put them on the Oklab hue circle and look at where the blue words stop and the purple words start.
Every CSS colour with blue in its name sits at or below 286.0 degrees, apart from blueviolet, which carries both words and sits at 301.4. Every colour with purple, violet, orchid, plum or magenta in its name, with one exception, sits above 296.7. The boundary of the named blue family is darkslateblue at 286.0, with slateblue and mediumslateblue just behind it at 285.5. The one exception is lavender, a purple word, at 285.8, which is 0.3 degrees from the blue words either side of it.
Periwinkle is at 284.8. It is 1.2 degrees inside the blue family’s last post, and 1.0 degrees from the first purple word. The four named colours within six degrees of it are three blues and a purple, and the purple is at the same hue as the blues. The vocabulary itself cannot keep the two apart at this hue. Periwinkle is not near the boundary between blue and purple. Periwinkle is where the boundary is.
At this saturation, the eye cannot see the hue it is arguing about
One more measurement explains why the argument never ends. Hue is easy to judge in a saturated colour and hard in a pale one, and periwinkle is pale. I took each colour, generated every colour within one just noticeable difference of it, 2.3 CIEDE2000 units, and recorded how far those colours ranged in hue. That range is the band of hue the eye genuinely cannot tell apart at that saturation.
For the blue primary, one JND covers 2.6 degrees of hue. For periwinkle it covers 11.3 degrees, four and a half times as much. A colour that is indistinguishable from periwinkle can sit anywhere in an eleven degree band, and the blue-purple boundary we just found runs straight through the middle of that band. The question “is this blue or purple” is being asked of a colour whose hue is literally underdetermined to the eye, in the one place where the answer flips. People are not disagreeing about what they see. They are reaching for the nearest word, and at this hue the nearest word is a coin toss.
Pastel is the wrong word for it
Periwinkle gets called a pastel, which suggests restraint. The gamut says otherwise. At L* 83.57 on this hue, the most saturated colour sRGB can display has a chroma of 27.0. Periwinkle’s is 26.95, which is 99.8 percent of what is available. It has to be: the blue channel is at 255, so it sits on the face of the sRGB cube. There is no more saturated periwinkle to be had on a screen without darkening it.
Compare the neighbours. Lavender uses 78 percent of the chroma available at its lightness. The Crayola periwinkle uses 50 percent, light steel blue 46, and Pantone’s Very Peri 43. Periwinkle is the only one of them pushed to the wall. It reads as soft because it is light, not because it is faint, and that is a distinction worth knowing if you have ever tried to build a colour from its code and wondered why the obvious nudge toward “more periwinkle” was impossible.
Periwinkle versus lavender
The second question Google asks under the colour is what separates it from lavender, and the answer is: not hue. The two nearest CSS names to periwinkle are light steel blue at 10.21 CIEDE2000 units and lavender at 10.67, one a blue word and one a purple word, four tenths of a unit apart in how far they are. But they are far in different ways.
#CCCCFF · L* 83.57, C* 26.95, Oklab hue 284.8
#E6E6FA · L* 91.83, C* 10.35, Oklab hue 285.8
#B0C4DE · L* 78.45, C* 15.26, Oklab hue 255.1
Lavender differs from periwinkle by 1.0 degree of hue. The whole 10.67 unit gap, which is 4.6 JNDs, is lightness and chroma: lavender is 8.3 L* lighter and has 16.6 fewer units of chroma. It is periwinkle with the colour turned down and the light turned up. Light steel blue is the reverse case: closer in lightness, but 30 degrees of hue further toward blue. When someone says periwinkle is “a bit like lavender,” they are describing a saturation difference, and when they say it is “a bit like steel blue” they are describing a hue difference. Both are 10 units away. Only one of them is a different colour family.
There are three periwinkles, and they straddle the line
The web value is not the only periwinkle people have learned. The crayon is older in most people’s memory. Crayola added periwinkle to the box in 1958, and its reference value is #C3CDE6. Pantone made “Very Peri” its colour of the year for 2022, the first time it invented a shade for the purpose rather than picking one from the catalogue, and described it as a periwinkle blue with a violet red undertone. Its hex is usually given as #6667AB.
#CCCCFF · Oklab hue 284.8, dominant wavelength 464 nm
#C3CDE6 · Oklab hue 268.3, dominant wavelength 475 nm
#6667AB · Oklab hue 281.7, dominant wavelength 465 nm
The crayon is a different colour. It sits 7.87 units from the web value, which is 3.4 JNDs, and almost none of that is lightness: it is 16.5 degrees further toward blue in Oklab, half as saturated, its dominant wavelength is 475 nanometres rather than 464, and the nearest CSS name to it is light steel blue at 4.72 units. Crayola’s periwinkle is a blue by every measure in this piece. It sits at 268 degrees, in the middle of the blue words, nowhere near the boundary.
Very Peri is the opposite kind of difference. Its hue is within 3 degrees of the web periwinkle, but it is 37 L* darker and 13 units more saturated, which puts it 31.1 units away, 13.5 JNDs. Same family, different room. Pantone’s description was accurate: periwinkle blue, with a violet undertone, is a fair summary of a colour at 281.7 degrees.
So the two periwinkles most people carry around, the crayon and the hex, sit on opposite sides of the boundary. Someone who learned the word from a 1970s crayon box learned a blue at 268. Someone who learned it from a design tool learned a colour at 285, on the line. Ask both whether periwinkle is purple and you get two honest answers about two different colours. This is the same mechanism our chartreuse piece found, where the two documented chartreuses are 5.4 JNDs apart, and it is close to what happens with indigo, which has eight hex codes in circulation and a blue-purple argument of its own.
The verdict
- As light, periwinkle is blue. It is the sRGB blue primary at 464 nanometres with about 60 percent white added, and it keeps the primary’s hue in HSV to the degree.
- As perceived, it has drifted. Oklab puts it 21 degrees purple of its parent, and that drift is a measured property of how people see diluted blue, not a quirk of one model.
- As a word, it sits 1.2 degrees inside the last named blue and 1.0 degree from the first named purple, in a band 11.3 degrees wide that the eye cannot resolve.
The ISCC-NBS colour naming system got there in 1955 with four words: very light purplish blue. The noun is blue and the adjective is purple, and that ordering is the measurement. If you want one word, it is blue. If you want to be understood by everyone, say periwinkle, because the word already means the place where the two overlap.
If you want to feel the problem rather than read about it, the name that color mode puts periwinkle up against lavender, cornflower and the slate blues and makes you pick the swatch, and the hue sorting mode hands you a run of pale blue-violets to order, which is exactly the eleven degree band above. The main colour memory game is the hardest version: it shows you periwinkle, takes it away, and asks you to mix it back, and a pale colour whose hue your eye cannot pin down is one of the easiest colours there is to remember wrong.
For the neighbours, there is shades of blue, shades of purple, which explains why the pale end of the purple vocabulary is so crowded, and the measured colour wheel for why the blue-to-purple stretch is a third of the hue circle in a painter’s wheel and far less of it in perception. If the hex arithmetic in the first section was new, how to read hex colour codes covers the rest.