Como converter de decimal para base 26


Eu tenho o seguinte numero em decimal 214691 que convertido para base 26 significa joel. Para fazer esta conversão usei o seguinte algorítimo.

const unhash = (n) =>
{
    var c = 0;
    var p = 26;
    for (var j = 1;; j++)
    {
        for (var i = 0; i < Math.pow(p, j); i++)
        {
            if (c == n)
            {
                var sb = ();
                for (var k = 1; k < j + 1; k++)
                    sb.push(String.fromCharCode(((i / Math.pow(p, k - 1) % p) + 97)));
                return sb.join("");
            }
            c++;
        }
    }
}

console.log(unhash(214691));

porem este algorítimo é muito pesado. Existe uma maneira mais rápida de converter de decimal para base 26?