Generate multiple colors at once using our new Random Color Palette Generator →
Type of Color:
RGBrgb(117, 22, 42)
HSLhsl(347.37, 68.35%, 27.25%)
LABlab(25.783, 41.522, 14.363)
LCHlch(25.783, 43.936, 19.081)
OKLABoklab(0.373, 0.124, 0.033)
OKLCHoklch(0.373, 0.128, 14.740)


Generate a Random Color

There are a variety of reasons for generating random colors. One may want to generate colorful backgrounds or foregrounds, they might be looking for fun color palettes in which to design their next project, and one might be playing around with various styles of geometric art and wants some more interesting shapes.

For these reasons I have written a small tool that generates random colors. This tool is easy to use and doesn't require downloading any additional software.

To use the tool, simply click on the big "Generate" button repeatedly, until you find a color you like.

Once you like a color, select and copy its value from the column on the right, in the color space of your choice (currently supports Hex, RGB, RGBA, CMYK, HSL, HSV, LAB and more.)

The Algorithm

Random RGB Color

To generate a random RGB color, first generate a random number between 0 and 255.

In JavaScript, this can be done by using the Math.random() function which returns a random number between 0 (inclusive) and 1 (exclusive). We then multiply this number by 256 to get a number between 0 (inclusive) and 256 (exclusive).

For example, if the number generated is 0.1, the resulting number will be 25.6.

Next, we need to convert this number to an integer value.

To do this, we use the Math.floor() function. This function rounds down the number to the nearest integer.

For example, if the number is 25.6, the result will be 25.

Let this be the value of the Red channel of the color in RGB Color Space.

Generate 2 more random integers between 0 and 255 and make them the Green and Blue channel values respectively.

This gives us 3 numbers in total and therefore the RGB color.

Random Hex (Hexadecimal) Color

First, generate a random RGB color as described above.

Then, convert each channel's integer value into a 2 character hexadecimal number (if it's a single character number, prepend a "0") and concatenate them to form the random hexadecimal color value.

For example, if the Red channel value is 25, the Green channel value is 255, and the Blue channel value is 7, the hexadecimal color value would be #19FF07.

Tints and Shades

Tints and Shades are colors that are used to lighten or darken other colors.

The purpose of adding a tint or shade is to make the color more pleasant, either lighter or darker. This can be done by adding white (tint) or black (shade) to the color.

Our tool automatically adds tints and shades to the randomly generated color, so you don't have to worry about it!

P.S. If you want more control, you can check out our other tool: the RGBA Color Picker. With the color picker, you can choose any color you want and get tints and shades for that specific color.

© 2023
Random Color Generator
Privacy Policy