calculate-colors,-share-palettes

Digital colors, reimagined

Talking about colors is hard without context. That’s why we provide a dedicated page for every color code. Use it to find matching color variants, learn more about color properties or convert color values.

The sum of its parts

Every color contains an individual composition of basic colors. Forget everything you learned about RGB or HSL sliders and explore a new way to modify digital colors.

Endless possibilities

Still looking for the right color? Compose new colors out of existing ones. If you blend a color with black or white you can even create the corresponding shades or tints.

Your palettes, your style

Use your favorite colors to build up a personal color library. Create project-specific palettes and share them with others. Need to document complex color collections? Add structured text content and turn your palettes into living style guides within seconds.

why-css-hsl-colors-are-better!

With the Power of CSS Variables

Elad Shechter

Introduction

One of the most fundamental concepts in CSS is colors. It’s a basic concept everywhere, but in this article, we’ll be focusing on its representation when targeting browsers.

On the web, every color is a combination of 3 colors: red, green, and blue. It’s as if every pixel on the screen consists of three light-bulbs: green, blue, and red. The most common method for representing colors in CSS is the “Hexadecimal colors” method, and the next common method is the RGB/RGBA one. The two approaches differ in the way they represent the values of those colors.

pixels view from close look

The hexadecimal colors method— each of the three colors is represented using a double-digit HEX number, and a ‘#’ sign precedes the three figures. Each of the double-digit numbers defines the intensity of its respective “light-bulb”. The first double-digit number is for the pixel’s red light-bulb , the second number is for the green light-bulb, and the last one is for the blue light-bulb. We can also add double-digits number at the end, that will define the color’s opacity.

As you probably know, the hexadecimal base means that a digit’s value can be between 0 and 15, with the values of 10–15 represented by the letters A to F. In each of the double-digit numbers, the lowest number, 00, means that the bulb is shut off, and the highest number, FF, is the strongest light of this specific color. There are 256 intensity levels for each of these three colors. With those three light-bulbs that make up every pixel of color, we can create any color displayed on our screen. The two optional digits that define the color’s opacity are also a double-digit hexadecimal number. The highest value, FF, means full opacity, and the lowest value, 00, means total transparency. The numbers in between make the element semi-transparent, i.e., the color blends with the background color.

Here is an example of the red color(only the first light-bulb is on, the other bulbs are off):

.box{

background-color: #ff0000;

width: 100px;

height: 100px;

}

The RGB/RGBA colors method —this method is also based on each color being a combination of red, green, and blue. There are, however, two differences between this method and the hexadecimal one. First, this method uses decimal values as opposed to hexadecimal values in the previous way. Second, the syntax isn’t a string of numbers but a function — rgb() or rgba(). The functions accept a three-digit number between 0 and 255 for each of the red, green, and the blue “light-bulbs”. 0 means that the bulb is off, and 255 indicates that the light-bulb is with full brightness intensity. The rgba() function accepts a fourth parameter — the opacity. Its value is a decimal fraction, where 0 means full transparency, and 1 means full opacity, and the fractions in between are the element’s transparency percent.

Here is an example of the red color in RGB method:

.box{

background-color: rgb(255, 0, 0);

width: 100px;

height: 100px;

}

Working with the methods based on the color being a combination of red, green, and blue, raises a few challenges. The first is that this method isn’t intuitive — it isn’t how our minds perceive colors. When we look at a color, our brains don’t separate it into red, green, and blue. Therefore when writing the colors in such a way, we can’t easily recognize a color by its RGB number, whether hexadecimal or decimal.

Another potential challenge is maintenance. Web designers might sometimes want many shades of each color, for example, 30 types of blue, 20 types of orange, etc. When trying to maintain these many variations with CSS variables, we might end up with too many variables. What’s worse is that even though the colors might be different shades of the same color, their RGB representations aren’t connected in any way. Therefore if the web designer wants to change the blue scheme into a green scheme, it might require updating ten or more separate CSS variables.

The HSL/HSLA color method — HSL stands for hue, saturation, and lightness.

HSL works in the same way our brain perceives colors: a color that we can manipulate with lightness and saturation.

The Hue Property is a color picked from a palette of 360 colors. The colors are set in a circle, and each hue is a degree in the color-wheel. The chosen color is the base from which we’ll create other shades by adding saturation, lightness, or both.

The Saturation Property describes the color’s saturation. 0% means no color (the color will be grey), and a value of 100% will show the color in its most vibrant color. It’s best to use a value in the range of 10% — 100% since that will allow us to see the base color.

The Lightness Property describes the lighting intensity. The extreme values will eliminate the color: 0% will look black, and 100% will look white. Therefore we prefer to use numbers between 10% and 90% since that will allow us to see the base color.

The Alpha Channel Property (optional) — using HSLA instead of HSL allows us to control the color’s opacity. It’s best to use values in the range of 10% — 100% since that will enable us to see the base color (0% means transparent color).

The HSL method solves both problems we mentioned earlier. It corresponds with the way our mind perceives colors, and it also addresses the maintenance problem. Now web designers can be satisfied by choosing as little as 3–5 base colors and use them to create as many color variants as they like.

Now that we understand what an HSL color consists of, all we need is to structure it elegantly.

The web designer can choose between three and five base colors from the Hue palette, giving us 3 to 5 numbers, which are degrees on the hue palette’s color wheel.

These colors will be the basis on which the web designer can create many combinations with the lightness, saturation — and optionally the opacity — parameters.

The HSL method gives the web developer and the web designer a single place in which they control the website’s base colors. That’s where they can check and update the colors according to their needs.

Base Starting Points for the Saturation, Lightness and Opacity Parameters

As there are infinite color combinations that we can create from those base colors, I have created smart parameter values to start from:

  • Saturationbegin with the default of 50% — mid-range (has to be bigger than 0% value. Because 0% saturation value will make the color look grayish).
  • Lightnessstart with the default of 50% because it should be larger than 0% and smaller than 100% value; otherwise, the color will look either black or white.
  • Opacity — start with the default of 100%. If you are working with HSLA, you have a parameter for opacity, and full opacity is best. The 100% value means full opacity, while the 0% value will cause the color to be transparent.

To elegantly create color variations, we’ll first define each base color’s hue degree as a CSS variable. Example:

/**  common-colors  **/ 

:root{

/* base color 1 */

--base-color1: 60;

/* base color 2 */

--base-color2: 120;

/*base color 3*/

--base-color3: 200;

}

Then we can create other shades from each of those base colors. Here is an example of creating other shades of colors from base-color1.

In this example, we define a 50% value for saturation and change the lightness values to create the variations:

/** common-colors **/

:root{

/* base color 1 */

--base-color1: 60;

--color1-light: hsla(var(--base-color1), 50%, 75%, 100%);

--color1-normal: hsla(var(--base-color1), 50%, 50%, 100%);

--color1-darker: hsla(var(--base-color1), 50%, 35%, 100%);

}

Now, we’ll apply this method to the rest of the base colors:

/**common-colors**/ 

:root{

/* base color 1 */

--base-color1: 60;

--color1-light: hsla(var(--base-color1), 50%, 75%, 100%);

--color1-normal: hsla(var(--base-color1), 50%, 50%, 100%);

--color1-darker: hsla(var(--base-color1), 50%, 35%, 100%);

/* base color 2 */

--base-color2: 120;

--color2-light: hsla(var(--base-color2), 50%, 75%, 100%);

--color2-normal: hsla(var(--base-color2), 50%, 50%, 100%);

--color2-darker: hsla(var(--base-color2), 50%, 35%, 100%);

/*base color 3 */

--base-color3: 200;

--color3-light: hsla(var(--base-color3), 50%, 75%, 100%);

--color3-normal: hsla(var(--base-color3), 50%, 50%, 100%);

--color3-darker: hsla(var(--base-color3), 50%, 35%, 100%);

}

That’s it! We’ve created a smart color scheme with HSL/HSLA colors, structuring it with the same base colors. The advantage is that now we can easily update the base colors, affecting all of their depending colors accordingly.

HSL Colors Pallet Result

This power serves both web developers and web designers. They can both play with those base colors and see how the website changes all its colors with those minimal base colors.

Codepen Live Example

Making More Common Rules for the Params of the HSL/HSLA

If you are a web developer who wants to take things one step further, you can generate CSS variables for the rest of the parameters (saturation, lightness & opacity), to target the most commonly used values. For example:

:root{ 

/** commonly used saturation/lightness/opacity levels **/

--saturation-level1: 20%;

--saturation-level2: 50%; /* mid range - normal */

--saturation-level3: 80%;

--lightness-level1: 75%;

--lightness-level2: 50%; /* mid range - normal */

--lightness-level3: 35%;

--opacity-level1: 100%; /* no opacity - normal */

--opacity-level2: 80%;

--opacity-level3: 60%;

}

Now you can use various combinations of these parameters to create better synchronization between the other colors. Example:

--color1-light:  hsla( var(--base-color1),  

var(--saturation-level2),

var(--lightness-level1),

var(--opacity-level1) );

Full Example on CodePen

That’s all.

I hope you’ve enjoyed this article and learned from my experience in using a better method for working with colors on the web.

If you like this post, I would appreciate applause and sharing 🙂

You can follow me via Twitter.

More of my CSS posts:

The New Responsive Design Evolution

New CSS Logical Properties!

CSS Position Sticky — How It Really Works!

Who Am I?

I am Elad Shechter, a Web Developer specializing in CSS & HTML design and architecture. I work at Investing.com.

You Can find me in my Facebook groups:

CSS Masters

CSS Masters Israel

216-web-safe-colors,-ranked-by-popularity

216 Most Popular Web Safe PNG Colors

We have analyzed all of our 16 million PNG images, converted every single pixel (about 19 trillion in total) to a web safe HEX value & stored that data in our database. Below you can find a list of the 216 web safe colors ranked by popularity. Simply click on a color to browse images which contain that color.

#996666

Mostly desaturated dark red

#cc9999

Slightly desaturated red

#663333

Very dark desaturated red

#999966

Mostly desaturated dark yellow

#cccc99

Slightly desaturated yellow

#996633

Dark moderate orange

#666633

Very dark desaturated yellow

#669999

Mostly desaturated dark cyan

#993333

Dark moderate red

#ffcccc

Very pale red [Pink tone]

#666699

Mostly desaturated dark blue

#336666

Very dark desaturated cyan

#333366

Very dark desaturated blue

#9999cc

Slightly desaturated blue

#99cccc

Slightly desaturated cyan

#ffcc99

Very light orange

#333300

Very dark yellow [Olive tone]

#336699

Dark moderate blue

#999933

Dark moderate yellow

#669966

Mostly desaturated dark lime green

#663300

Very dark orange [Brown tone]

#336633

Very dark desaturated lime green

#996699

Mostly desaturated dark magenta

#99cc99

Slightly desaturated lime green

#993300

Dark orange [Brown tone]

#669933

Dark moderate green

#663366

Very dark desaturated magenta

#339999

Dark moderate cyan

#ffcc00

Pure (or mostly pure) yellow

#cc99cc

Slightly desaturated magenta

#993366

Dark moderate pink

#996600

Dark orange [Brown tone]

#333399

Dark moderate blue

#339933

Dark moderate lime green

#330033

Very dark magenta

#ff0000

Pure (or mostly pure) red

#339966

Dark moderate cyan – lime green

#ff9900

Pure (or mostly pure) orange

#66cc99

Moderate cyan – lime green

#666600

Very dark yellow [Olive tone]

#ccffcc

Very pale lime green

#ffff99

Very light yellow

#66cc66

Moderate lime green

#003300

Very dark lime green

#663399

Dark moderate violet

#ff6600

Pure (or mostly pure) orange

#999900

Dark yellow [Olive tone]

#006633

Very dark cyan – lime green

#993399

Dark moderate magenta

#ffff00

Pure (or mostly pure) yellow

#ffccff

Very pale magenta

#33cc99

Strong cyan – lime green

#009933

Dark cyan – lime green

#ff3300

Pure (or mostly pure) red

#0099ff

Pure (or mostly pure) blue

#33cc33

Strong lime green

#33cc66

Strong cyan – lime green

#009966

Dark cyan – lime green

#006600

Very dark lime green

#00ccff

Pure (or mostly pure) cyan

#0000ff

Pure (or mostly pure) blue

#ff0033

Pure (or mostly pure) red

#0066ff

Pure (or mostly pure) blue

#660066

Very dark magenta

#cc99ff

Very light violet

#00cc00

Strong lime green

#00cc66

Strong cyan – lime green

#ff0066

Pure (or mostly pure) pink

#00ff00

Pure (or mostly pure) lime green

#99ffcc

Very light cyan – lime green

#ff0099

Pure (or mostly pure) pink

#00cc33

Strong cyan – lime green

#00ffff

Pure (or mostly pure) cyan

#99ff99

Very light lime green

#0033ff

Pure (or mostly pure) blue

#ff99ff

Very light magenta

#ccff00

Pure (or mostly pure) yellow

#66ffcc

Light cyan – lime green

#ff00ff

Pure (or mostly pure) magenta

#66ff99

Light cyan – lime green

#33ff00

Pure (or mostly pure) lime green

#99ff00

Pure (or mostly pure) green

#ff00cc

Pure (or mostly pure) magenta

#66ff00

Pure (or mostly pure) green

#00ffcc

Pure (or mostly pure) cyan

#9900ff

Pure (or mostly pure) violet

#3300ff

Pure (or mostly pure) blue

#33ff99

Vivid cyan – lime green

#00ff33

Pure (or mostly pure) lime green

#cc00ff

Pure (or mostly pure) magenta

#33ff66

Vivid cyan – lime green

#00ff99

Pure (or mostly pure) cyan – lime green

#6600ff

Pure (or mostly pure) violet

#00ff66

Pure (or mostly pure) cyan – lime green

no-more-brand-colors?

Deutsche Telekom is perhaps best known around the world as the telco behind mobile carrier T-Mobile, but today it’s making an appearance in a lesser-known yet also regular role: trademark troll.

The company’s German lawyers have sent a letter to Lemonade, the AI-based insurance startup headquartered in New York, demanding it cease using magenta — a color that appears across Lemonade’s logo and marketing material — globally. DT also filed for and received an injunction on Lemonade operating in Germany — a block Lemonade has temporarily worked around by dropping magenta for the moment in the country (it’s using red instead).

But that is not the whole story: Lemonade, which said the letter came in the wake of its launch in Germany this summer, said that it will put up a fight. Today, it filed a motion with EUIPO (the European intellectual property office) to invalidate DT’s claim to a trademark on magenta; and it has further petitioned the German trademark office to remove DT’s claim to holding a right on magenta in the insurance sector.

“We thought this seemed like a massive over-reach,” Daniel Schreiber, Lemonade’s CEO and co-ounder, said in an interview. “Then when we started digging, we found that they’ve been doing this across a number of countries, covering big companies to the smallest businesses. It’s mind boggling. We are in insurance.”

This fact does not matter to DT, which says the color mark is associated with its brand “beyond the classic industry environment.”

“Deutsche Telekom has asked the insurance company Lemonade to stop using the color magenta,” a spokesperson said in response to our request for comment. “Like the company logo ‘T’ and other brand elements, the color magenta is registered as a Deutsche Telekom brand. Deutsche Telekom’s brands make a significant contribution to the company’s success. Deutsche Telekom is clearly recognized and remembered by the color magenta — beyond the classic industry environment. Deutsche Telekom respects everyone’s trademark rights, but expects others to do the same. In Germany, the competent court issued an injunction against Lemonade because it considered the use of magenta to be a violation of Deutsche Telekom’s color mark. Please understand that Deutsche Telekom will not comment further on this case until a final decision has been made.”

To be sure, this is far from Deutsche Telekom’s first efforts to defend its pink hue. The company has gone after carriers like AT&T and Telia, our sister publication Engadget (before the days when it was owned by another DT competitor, Verizon), Apple device management specialist dataJar, invoice services provider Compello and a now-defunct smartwatch maker.

The track record so far should give Lemonade some hope. In some cases — such as Telia’s and dataJar’s — DT lost and magenta has run free. In others, DT has had the upper hand, and has danced a little in celebration:

Who’s the bully now, John?

“We feel like we’re a character in a Disney movie, fighting a baddie,” Schreiber said.

But as with DT, sometimes Goliath is actually David, depending on who is punching up or down. That is to say, Lemonade is not a stranger to filing suits to defend its product and brand, either. The company was in a brief dispute with WeFox over IP infringement — a legal fight that appears now to be getting settled.

Lemonade’s CEO said that although DT’s letter specifies that the startup stop using magenta globally, he thinks that the carrier waited until the startup entered Germany to take legal action because it put the startup squarely in German jurisdiction, where DT might get treated more favorably because of its ubiquity. (Indeed, the cases where it has lost have all been outside its home market.)

Schreiber defended the use of magenta for Lemonade — incidentally, not typically a drink that is magenta — as part of its bigger ethos.

“We’ve been pink since launch because we wanted to give a sense of being trusting and fun and approachable. It’s a very prominent part of our brand, ” he said. “The backdrop to that is the monochrome of our industry, insurance.”

The company based more than just its logo on the color. Since being founded in 2015, all of its promotional materials have featured magenta, and its social media campaigns on services like Instagram are built around the color, with various household and other everyday objects dipped into magenta paint. (This is a reference to Lemonade’s insurance services: it offers home owner and rental insurance services that cover all your belongings.)

Lemonade’s Instagram effort in particular has gone somewhat viral: the company says that its posts have collectively been viewed 18 million times. Lemonade will now try to turn up the volume on that, with a new effort to defend its use of magenta with a #freethepink hashtag. As the saying goes, when life hands you lemons…

T-Mobile’s specific form of magenta that it has trademarked for its brand is RAL 4010, a color that is not exactly the same as Lemonade’s, Schreiber said. T-Mobile has been going after a number of companies using colors close to this as well, a process Lemonade is now charting as it gears up for its legal fight:

But one issue that might make this case not so clear cut is that Deutsche Telekom, it seems, actually does dabble in insurance. It offers insurance on digital services like cybersecurity, and it sells policies to cover your tech gadgets, and specifically devices — carriers, of course, being major resellers of smartphones, tablets and other electronics that are used over their networks. It’s not the same as household insurance, but highlights an area where the two might move closer together over time.

For Lemonade, growth is something that is likely to keep happening. Schreiber said that while the company will not disclose any plans today, it will be expanding into more regions within the U.S. and Europe, where it is now active, as well as further afield, and it is also considering entering into more product lines beyond home owners’ and home renters’ insurance.

Lemonade earlier this year raised $300 million on a $2 billion valuation led by the SoftBank Group — most of which, Schreiber said, is still in the bank.

Meanwhile, a small note on PitchBook dated October 28 noted that the company is now starting to raise a further $500 million. If this is true, it’s very early days. “News to me,” Schreiber said with surprise when I asked him about it.

Updated with comment from Deutsche Telekom.