# Random Color Generator

JS
/
Python
/
PHP
Random Color Palette
Hex to RGB
Blog
Generate multiple colors at once using our new Random Color Palette Generator →

## Constraints

Hue:
Saturation:
Lightness:
Tip: Set
Hex #75162a rgb(117, 22, 42) hsl(347.37, 68.35%, 27.25%) lab(25.784, 41.527, 14.363) lch(25.784, 43.940, 19.079) oklab(0.373, 0.124, 0.033) oklch(0.373, 0.128, 14.740)
Tints

Recent

## 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.

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.