Enviar um arquivo
  1. base64hub
  2. Outras bases
  3. Base62

Codificador e decodificador Base62 online

Digite um texto para obter Base62, a codificação de dígitos e letras por trás de muitas URLs curtas e IDs. O Base62 não tem uma ordem de alfabeto padrão única, então escolha a que a sua biblioteca usa: 0-9 A-Z a-z ou 0-9 a-z A-Z.

Grátis sem cadastro, sem limites Local nada é enviado 2 alfabetos 0-9A-Za-z e 0-9a-zA-Z Atualizado 27 de out. de 2026
Entrada 0Bytes 0 BSaída 0

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como codificar e decodificar Base62

  1. Digite ou cole o texto em Entrada · Texto. A string Base62 aparece em Saída · Base62.
  2. Ajuste o Alfabeto abaixo da saída para combinar com o sistema com que você está falando: 0-9 A-Z a-z ou 0-9 a-z A-Z.
  3. Para um ID numérico, mude De para Inteiro (número grande) e digite o número em decimal. Para bytes brutos, escolha Hex ou Base64.
  4. Para decodificar, clique em Base62 → Texto no seletor de direção. A escolha do Alfabeto passa então para baixo da entrada, e precisa ser a mesma usada na codificação.

Duas ordens de alfabeto com resultados diferentes

O Base62 não tem RFC, e os 62 caracteres aparecem em duas ordens por aí. Este conversor oferece as duas:

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

A primeira ordem segue a ordem ASCII, então strings codificadas de mesmo comprimento ficam ordenadas do mesmo jeito que os números. O GMP a usa para as bases de 37 a 62. A segunda ordem corresponde ao que você obtém ao estender o a-f minúsculo do hexadecimal; algumas bibliotecas a chamam de alfabeto “invertido”.

Cada saída é a outra com a caixa de todas as letras trocada. Isso torna o erro fácil de passar despercebido: decodificar 5tp3p3V com a ordem errada funciona, mas dá os bytes 4e 08 14 29 1d em vez de Hello. Se um valor decodificado parecer lixo, teste a outra ordem antes de desconfiar dos dados.

Base62 para IDs e URLs curtos

Encurtadores de URL e esquemas de ID usam Base62 porque todo caractere é seguro num caminho de URL, num nome de arquivo e numa seleção com duplo clique, e o resultado é curto. Um ID de banco de dados é um número, então codifique-o a partir de Inteiro (número grande):

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

Sete caracteres cobrem números até 62^7 − 1, cerca de 3,5 trilhões. Para um ID aleatório, codifique bytes aleatórios: um UUID de 16 bytes vira 21 ou 22 caracteres, contra 32 em hex.

IDs sequenciais curtos revelam quantos registros existem e são fáceis de adivinhar. Se isso importa, codifique bytes aleatórios em vez de um contador.

Como o Base62 lida com bytes e zeros à esquerda

Como 62 não é potência de dois, o Base62 não consegue mapear grupos de bits em caracteres. Ele lê a entrada como um único número big-endian e converte esse número para base 62. Os bytes zero iniciais desapareceriam, então esta ferramenta escreve um dígito 0 para cada um deles: os bytes 00 00 viram 00, e 00 ff vira 047.

As bibliotecas também divergem aqui. Muitas codificam só o número e descartam os zeros à esquerda, e formatos de largura fixa completam até um comprimento definido. Se o lado receptor espera largura fixa, complete a saída à esquerda com 0. A abordagem de número grande também tem um custo que cresce com o quadrado do comprimento da entrada, então esta ferramenta limita a entrada Base62 a 64 KB.

Base62 em Python

O Python não tem Base62 na biblioteca padrão. Para IDs inteiros, a conversão cabe em poucas linhas:

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

Troque os dois blocos de letras em ALPHABET para usar a outra ordem. Para bytes, converta antes com int.from_bytes(data, "big"). Mais sobre manipulação de bytes em Python.

Perguntas frequentes

Qual é o alfabeto do Base62?

Os dez dígitos mais as 26 letras maiúsculas e as 26 minúsculas: 62 caracteres, nada mais. Os dígitos sempre vêm primeiro, mas as bibliotecas discordam se depois vêm as maiúsculas (0-9A-Za-z) ou as minúsculas (0-9a-zA-Z).

Qual a diferença entre Base62 e Base64?

O Base64 acrescenta + e / (ou - e _) e o preenchimento =, e mapeia grupos fixos de 6 bits. O Base62 usa só letras e dígitos, então não precisa de escape em lugar nenhum, mas 62 não é potência de dois, então ele precisa tratar os dados como um único número grande. A saída fica cerca de 1% mais longa que o Base64.

Como codificar um número em Base62?

Ajuste De em Inteiro (número grande) e digite o número decimal. 1000000 vira 4C92 com o alfabeto padrão. Codificar o número como texto codificaria os caracteres dos dígitos.

O Base62 diferencia maiúsculas de minúsculas?

Sim. A e a são dígitos diferentes, que valem 10 e 36 na ordem padrão. Um sistema que converte URLs ou IDs para minúsculas corrompe strings Base62; use Base36 se a caixa das letras puder se perder.