# Convert Number from Decimal to Hexadecimal in JavaScript (and visa versa)

I'm currently working on a mini course where I will show to dynamically lighten and darken colors in JavaScript. To do this, I needed to be able to convert numbers from decimal to hexadecimal and visa versa. Let's see how!

## Intro

One of the most common ways to represent colors is with RGB where you have three (hexadecimal) numbers that represent the red, green, and blue values respectively. Here's an example using my brand color.

`#de5254`

If you separate this out, you get three values of `de`

, `52`

, and `54`

. This might seem odd to have letters represent a number, but that's how hexadecimal numbers work. Instead of using `1-10`

digits it uses `1-f`

(1-9,a,b,c,d,e,f) as digits.

Alright, let's dive in.

## Convert Decimal to Hexidecimal

If you have a decimal number that you want to convert to hexidecimal, you can call the `toString()`

function with the number and pass in a target base (binary, decimal, hexedecimal, etc.). This parameter is known as the `radix`

. Here's a few examples.

```
let num = 15;
num.toString(16) //f
num = 10
num.toString(16) //a
num = 1
num.toString(16) //1
```

## Convert Hexadecimal to Decimal

What about the reverse? If you're converting hexadecimal back to decimal you can use the `parseInt()`

function and pass the the original number (as a string) in the first parameter and the `radix`

in the second.

```
parseInt("f", 16) //15
parseInt("a", 16) //10
parseInt("1", 16) //1
```

## Wrap Up

Not too bad huh? Working with different bases in numbers can certainly be tricky to understand, but you can let JavaScript take care of most of it for you!