DEV Community

Discussion on: Vanilla JavaScript random colours

Collapse
 
lexlohr profile image
Alex Lohr • Edited

You'll still have a chance to hit a number low enough not to yield a 3- or 6-digit hex number, which will result in an invalid color (0x0-0xFF, 0x1000-0xfffff). To solve that, you can use

'#' + (0x1000000 + 0x1000000 * Math.random() | 0).toString(16).slice(-6)
Enter fullscreen mode Exit fullscreen mode

instead.

Collapse
 
lionelrowe profile image
lionel-rowe • Edited

Good point, forgot about that. A simpler fix would probably be hexStr.padStart(6, '0').