# Hex to RGB

Converts a color code to an `rgb()` or `rgba()` string if alpha value is provided.

• Use bitwise right-shift operator and mask bits with `&` (and) operator to convert a hexadecimal color code (with or without prefixed with `#`) to a string with the RGB values.
• If it's 3-digit color code, first convert to 6-digit version.
• If an alpha value is provided alongside 6-digit hex, give `rgba()` string in return.
```const hexToRGB = hex => {
let alpha = false,
h = hex.slice(hex.startsWith('#') ? 1 : 0);
if (h.length === 3) h = [...h].map(x => x + x).join('');
else if (h.length === 8) alpha = true;
h = parseInt(h, 16);
return (
'rgb' +
(alpha ? 'a' : '') +
'(' +
(h >>> (alpha ? 24 : 16)) +
', ' +
((h & (alpha ? 0x00ff0000 : 0x00ff00)) >>> (alpha ? 16 : 8)) +
', ' +
((h & (alpha ? 0x0000ff00 : 0x0000ff)) >>> (alpha ? 8 : 0)) +
(alpha ? `, \${h & 0x000000ff}` : '') +
')'
);
};

hexToRGB('#27ae60ff'); // 'rgba(39, 174, 96, 255)'
hexToRGB('27ae60'); // 'rgb(39, 174, 96)'
hexToRGB('#fff'); // 'rgb(255, 255, 255)'```

## More like this

• Collection · 57 snippets

### JavaScript Math

A snippet collection of math helpers and algorithms implemented in JavaScript.

• JavaScript ·

### RGB to hex

Converts the values of RGB components to a hexadecimal color code.

• JavaScript ·

### RGB to object

Converts an `rgb()` color string to an object with the values of each color.

• JavaScript ·

### How can I extend a 3-digit color code to a 6-digit color code in JavaScript?

Learn how to convert a 3-digit RGB notated hexadecimal color-code to the 6-digit form.

Start typing a keyphrase to see matching snippets.