3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = "Uo9kOMrb8Zfx8cHXT65JPNGYEbiYq90YNImYPdLkOo8w8Y8i8cPrRcD1ScSYEY8YB29ZRsvaQNHfRsuYEY91JaGYB29cTMniNsLkT79v8ZfcOMnpPImYRcywABgokJoH7JCmjZcolhT"; function base62decode($data) { $outstring = ''; $l = strlen($data); for ($i = 0; $i < $l; $i += 11) { $chunk = substr($data, $i, 11); $outlen = floor((strlen($chunk) * 6)/8); //6bit/char in, 8bits/char out, round down $y = gmp_strval(gmp_init(ltrim($chunk, '0'), 62), 16); //gmp doesn't like leading 0s $pad = str_pad($y, $outlen * 2, '0', STR_PAD_LEFT); //double output length as as we're going via hex (4bits/char) $outstring .= pack('H*', $pad); //same as hex2bin } return $outstring; } echo(base62decode($str));

preferences:
36.86 ms | 402 KiB | 5 Q