Subir un archivo
  1. base64hub
  2. Otras bases
  3. Base62

Codificador y decodificador Base62 online

Escribe texto para obtener Base62, la codificación de dígitos y letras que hay detrás de muchas URLs cortas e identificadores. Base62 no tiene un único orden de alfabeto estándar, así que elige el que use tu biblioteca: 0-9 A-Z a-z o 0-9 a-z A-Z.

Gratis sin registro, sin límites Local no se sube nada 2 alfabetos 0-9A-Za-z y 0-9a-zA-Z Actualizado 27 oct 2026
Entrada 0Bytes 0 BSalida 0

Se procesa en tu navegador. Esta página no puede enviar tus datos a ninguna parte – cómo lo sabemos

Cómo codificar y decodificar Base62

  1. Escribe o pega texto en Entrada · Texto. La cadena Base62 aparece en Salida · Base62.
  2. Ajusta el Alfabeto bajo la salida para que coincida con el sistema con el que trabajas: 0-9 A-Z a-z o 0-9 a-z A-Z.
  3. Para un identificador numérico, cambia De a Entero (número grande) y escribe el número en decimal. Para bytes en bruto, elige Hex o Base64.
  4. Para decodificar, haz clic en Base62 → Texto en el selector de dirección. El Alfabeto pasa entonces a estar bajo la entrada, y tiene que ser el mismo que se usó al codificar.

Dos órdenes de alfabeto con resultados distintos

Base62 no tiene RFC, y en la práctica los 62 caracteres se ordenan de dos maneras. Este convertidor ofrece ambas:

AlfabetoValor de AValor de aHello1000000 como número
0-9 A-Z a-z10365TP3P3v4C92
0-9 a-z A-Z36105tp3p3V4c92

El primer orden sigue el orden ASCII, así que las cadenas codificadas de igual longitud se ordenan igual que los números. GMP lo usa para las bases 37 a 62. El segundo orden es el que sale al ampliar las minúsculas a-f del hexadecimal; algunas bibliotecas lo llaman alfabeto «invertido».

Cada salida es la otra con las mayúsculas y minúsculas de cada letra invertidas. Eso hace que el error pase fácilmente desapercibido: decodificar 5tp3p3V con el orden equivocado funciona, pero da los bytes 4e 08 14 29 1d en lugar de Hello. Si un valor decodificado parece basura, prueba el otro orden antes de sospechar de los datos.

Base62 para IDs y URLs cortas

Los acortadores de URL y los esquemas de identificadores usan Base62 porque todos sus caracteres son seguros en la ruta de una URL, en un nombre de archivo y al seleccionar con doble clic, y el resultado es corto. Un ID de base de datos es un número, así que codifícalo desde Entero (número grande):

DecimalBase62 (0-9A-Za-z)
12521
3843zz
3844100
10000004C92
1234567898M0kX

Siete caracteres cubren números hasta 62^7 − 1, unos 3,5 billones. Para un identificador aleatorio, codifica bytes aleatorios: un UUID de 16 bytes ocupa 21 o 22 caracteres, frente a 32 en hex.

Los identificadores secuenciales cortos revelan cuántos registros existen y son fáciles de adivinar. Si eso importa, codifica bytes aleatorios en lugar de un contador.

Cómo maneja Base62 los bytes y los ceros iniciales

Como 62 no es potencia de dos, Base62 no puede asignar grupos de bits a caracteres. Lee la entrada como un único número big-endian y lo convierte a base 62. Los bytes cero iniciales desaparecerían, así que esta herramienta escribe un dígito 0 por cada uno: los bytes 00 00 se codifican como 00, y 00 ff como 047.

Aquí también difieren las bibliotecas. Muchas codifican solo el número y pierden los ceros iniciales, y los formatos de ancho fijo rellenan hasta una longitud determinada. Si el receptor espera un ancho fijo, rellena la salida por la izquierda con 0. El enfoque de número grande tiene además un coste que crece con el cuadrado de la longitud de la entrada, así que esta herramienta limita la entrada Base62 a 64 KB.

Base62 en Python

Python no tiene Base62 en la biblioteca estándar. Para identificadores enteros, la conversión ocupa unas pocas líneas:

ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"

def b62encode(n: int) -> str:
    if n == 0:
        return ALPHABET[0]
    out = ""
    while n:
        n, r = divmod(n, 62)
        out = ALPHABET[r] + out
    return out

def b62decode(s: str) -> int:
    n = 0
    for ch in s:
        n = n * 62 + ALPHABET.index(ch)
    return n

b62encode(1000000)    # '4C92'
b62decode("8M0kX")    # 123456789

Intercambia los dos bloques de letras de ALPHABET para el otro orden. Para bytes, convierte antes con int.from_bytes(data, "big"). Más sobre el manejo de bytes en Python.

Preguntas frecuentes

¿Cuál es el alfabeto de Base62?

Los diez dígitos más las 26 letras mayúsculas y las 26 minúsculas: 62 caracteres, nada más. Los dígitos siempre van primero, pero las bibliotecas no se ponen de acuerdo en si después vienen las mayúsculas (0-9A-Za-z) o las minúsculas (0-9a-zA-Z).

¿Qué diferencia hay entre Base62 y Base64?

Base64 añade + y / (o - y _) y el relleno =, y trabaja con grupos fijos de 6 bits. Base62 usa solo letras y dígitos, así que no necesita escaparse en ningún sitio, pero 62 no es potencia de dos, así que tiene que tratar los datos como un único número grande. La salida es alrededor de un 1 % más larga que en Base64.

¿Cómo codifico un número a Base62?

Pon De en Entero (número grande) y escribe el número decimal. 1000000 se convierte en 4C92 con el alfabeto por defecto. Si codificaras el número como texto, codificarías los caracteres de sus dígitos.

¿Base62 distingue mayúsculas de minúsculas?

Sí. A y a son dígitos distintos, que valen 10 y 36 en el orden por defecto. Un sistema que pase a minúsculas las URLs o los identificadores estropeará las cadenas Base62; usa Base36 si las mayúsculas se pueden perder.