RGB to HSB

OSCC · JavaScript, Math · Oct 22, 2020

Converts a RGB color tuple to HSB format.

  • Use the RGB to HSB conversion formula to convert to the appropriate format.
  • The range of all input parameters is [0, 255].
  • The range of the resulting values is H: [0, 360], S: [0, 100], B: [0, 100].
const RGBToHSB = (r, g, b) => {
  r /= 255;
  g /= 255;
  b /= 255;
  const v = Math.max(r, g, b),
    n = v - Math.min(r, g, b);
  const h =
    n === 0 ? 0 : n && v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n;
  return [60 * (h < 0 ? h + 6 : h), v && (n / v) * 100, v * 100];
};
RGBToHSB(252, 111, 48);
// [18.529411764705856, 80.95238095238095, 98.82352941176471]

Recommended snippets & collections

  • Working with color in JavaScript requires some understanding of color formats and conversions. Luckily, this snippet collection's got you covered.

  • HSB to RGB

    JavaScript, Math

    Converts a HSB color tuple to RGB format.

  • HSL to RGB

    JavaScript, Math

    Converts a HSL color tuple to RGB format.

  • RGB to HSL

    JavaScript, Math

    Converts a RGB color tuple to HSL format.