La codificación Base62 es el esquema que representa datos usando 62 caracteres en total: las 26 letras minúsculas (a-z), las 26 mayúsculas (A-Z) y los 10 dígitos (0-9). Se usa para generar los códigos cortos de las URLs acortadas.
Los números explican por qué encaja con las URLs cortas. Un código Base62 de 6 caracteres permite representar 62 elevado a 6, es decir, unas 56.800 millones de combinaciones; con 7 caracteres se llega a unos 3,5 billones.
Una de las implementaciones de los servicios de URLs cortas consiste en asignar a cada URL un ID entero único y convertirlo a Base62 para producir el código corto. Por ejemplo, con el orden de caracteres 0-9, a-z, A-Z, el ID 12345 convertido a Base62 da "3d7" (3 caracteres). Cuanto mayor es el ID, más se alarga el código, pero hasta unos 56.800 millones de registros caben en 6 caracteres o menos.
Un esquema parecido es Base64, pero este incluye los caracteres "+" y "/", que pueden dar problemas cuando se usan dentro de una URL. Los caracteres alfanuméricos de Base62 figuran entre los caracteres no reservados (unreserved) que RFC 3986 permite usar tal cual en una URL, por lo que no necesita ningún procesamiento extra.
La implementación consiste en convertir un número decimal a base 62, algo que en la mayoría de los lenguajes de programación se resuelve en unas pocas líneas. Ahora bien, convertir a Base62 un ID secuencial tal cual vuelve predecibles los códigos, lo que plantea una pega de seguridad. Como contramedida se emplean técnicas como combinar el ID con una función hash o generar cadenas aleatorias.