CodesCompiler
🔍
HTMLCSSJavaScriptPythonSQLPHPSEOPostsBooksKids About Contact 🚀 Get Started Free

JavaScript - Generating Colors

JavaScript - Generate Colors

Generating colors are quite handy while working on web development projects. For beautiful UI, we need to use different colors. In this chapter, we will learn how to generate colors in JavaScript.

Generating Random Hex Color

The Hex (Hexadecimal) code is a six-digit code and a three-byte hexadecimal number that is used to represent the colors.

These three bytes represent RGB which means the amount of red, green, and blue in a particular shade of a color. Each byte will represent a number in the range 00 to FF (Hexadecimal notation) or 0 to 255 in decimal notation. This indicates the intensity of each of the color components from 0 to 255.

The following are the functions to be used for generating random hex codes

Math.random()

This function is used to get the number randomly in the range 0 to less than 1 including the decimal.

JAVASCRIPT CODE
function random_num(maximum) {

   return Math.floor(Math.random() * maximum);

}

document.write(random_num(5));

// output: 0, 1 or 2

In the above snippet, we gave input as 5 as maximum value. Whenever we try to execute the program, it will print the output in between 0 to 4.

JAVASCRIPT CODE
document.write(random_num());

// output: 0 to 1

In this case, as we didnt have any input value as the maximum value, it prints a random number between 0 to 1 whenever we run the program. So, this is how theMath.random()function works.

Math.floor()

This is a function that will round off the number downwards to the nearest integer.

JAVASCRIPT CODE
document.write(Math.floor(1.95));

// output: 1

Here, we can see the output is printed as 5. So, the value is rounded downwards to the nearest integer.

JAVASCRIPT CODE
document.write(Math.floor(1));

// output: 1

If the value passed is a perfect integer without any floating (decimal) points, it will be rounded off.

Now, lets combine these functions to generate the random hex numbers.

We usemath.random()to generate a random number and multiply it with 16777215 as this number is the decimal representation of fffff (Highest in the hex code).

JAVASCRIPT CODE
Math.random()*16777215

This will return a random number like 12421420.464841081 with decimals, Now we use math.floor() to remove the decimals and return a whole number.

JAVASCRIPT CODE
Math.floor(Math.random()*16777215)

Now, we include toString() method to convert the number into a string. We have passed 16 as a parameter because Base 16 is hexadecimal. The value of 16 will return hex-code (with numbers and letters).

JAVASCRIPT CODE
Math.floor(Math.random()*16777215).toString(16);

Example

Now, its time to generate the random hex color code. We will use the above code snippet to generate the random hex color code.

Preview

In the output, whenever you mouse over the box which is in middle it will generate the random hex colors on the background.

Generating random RGB color

For generating random RGB color in JavaScript, we use same trick as we used for hex color. We will generate random numbers for red, green, and blue and then combine them to get the RGB color.

Example

Below is the code snippet for generating random RGB color:

Preview

Output

In the output, whenever you mouse over the box which is in middle it will generate the random RGB colors on the background.