Colors

tsParticles colors can have a lot of values and every color (except IParticlesOptions.color | particles color) in options can accept all of these values.

All color properties accepts strings and objects. The color object has a single property: value.

Let's explore all valid values.

color: "#fff";
color: "#ffffff";

alpha will be ignored, there are opacity values for that

color: "rgb(255, 255, 255)";

alpha will be ignored, there are opacity values for that

color: "hsl(0, 100%, 100%)";

alpha will be ignored, there are opacity values for that

color: "hsv(0°, 100%, 100%)";
random: "random"; // a random color will be picked

That's the easier part, now we go deeper.


color: {
value: "#fff"; // I won't repeat myself, all the string values above will be valid here too
}
color: {
value: {
r: 255,
g: 255,
b: 255
}
}
color: {
value: {
h: 0,
s: 100,
l: 100
}
}
color: {
value: {
h: 0,
s: 100,
v: 100
}
}
color: {
value: {
rgb: { r: 255, g: 255, b: 255 } // inlined for brevity, it's the same rgb object as above
hsl: { h: 0, s: 100, l: 100 } // inlined for brevity, it's the same hsl object as above
}
}

if rgb and hsl properties are set together only rgb will be used


Every color.value property accepts a mixed array of its values, but be careful, the color will be random picked.

For some objects this behavior will work fine, other objects like links are runtime generated and will have a different color every frame.