encode | decode | alfanumérico

> base36 | 0-9,A-Z | compacto <

// Base36 - codificação alfanumérica compacta usando dígitos 0-9 e letras A-Z

0 caracteres
0 caracteres
[ALFANUMÉRICO]

Somente alfanumérico

Usa apenas letras A-Z e dígitos 0-9, compatível com bancos de dados, sistemas legados e formatos de texto puro.

[COMPACTO]

Representação compacta

Mais compacto que decimal para números grandes, mantendo as strings curtas e fáceis de compartilhar.

[URL-SAFE]

Seguro para URLs

Sem caracteres especiais – ideal para links curtos, identificadores públicos, códigos de produto e chaves de licença.

>> informações técnicas

Como o Base36 funciona:

Base36 é um sistema de numeração em base 36 que usa 36 símbolos (0-9 e A-Z). Cada posição representa uma potência de 36, permitindo comprimir números grandes em strings alfanuméricas curtas e legíveis.

Exemplos Base36:

Números para Base36:
123 → 3F
1000 → RS
999999 → LFLR

Texto para Base36 (via bytes):
Hi → 1Q5
ABC → 3O0AF

Usos comuns:
- IDs de vídeo
- URLs curtas
- Tokens de sessão
- Códigos de produto
- Chaves de licença

Por que usar Base36:

  • ▸Gerar identificadores curtos e legíveis a partir de números
  • ▸Criar tokens seguros para URLs sem caracteres especiais
  • ▸Compactar valores numéricos em strings alfanuméricas curtas
  • ▸Geralmente não diferencia maiúsculas/minúsculas, reduzindo erros de capitalização
  • ▸Alternativa mais amigável que hexadecimal para alguns casos de uso

>> perguntas frequentes

O que é Base36?

Base36 é um sistema de numeração posicional que usa 36 símbolos distintos: os dígitos 0-9 e as letras A-Z. Ele oferece uma maneira compacta de representar números usando apenas caracteres alfanuméricos.

Onde o Base36 é usado na prática?

Base36 é amplamente usado para gerar IDs curtas, como URLs encurtadas, identificadores públicos, códigos de produto e tokens de sessão que precisam ser fáceis de ler e compartilhar.

Base36 diferencia maiúsculas de minúsculas?

Na maioria das implementações, Base36 é insensível a maiúsculas/minúsculas: A-Z e a-z são tratados da mesma forma. Isso reduz erros quando sistemas ou usuários alteram a capitalização.

Como o Base36 se compara a outros esquemas de codificação?

Base36 é mais compacto que decimal (base10), mas menos que hexadecimal (base16) ou Base64. Ele equilibra compacidade e legibilidade ao usar apenas caracteres alfanuméricos.

// Referência rápida

DECHEXBase36Base62
0000
3523zz
362410A
100642s1c
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// Exemplos de código

JavaScript  (123).toString(36)   // "3f"      parseInt("3f", 36)  // 123
Python      int("3f", 36)  // 123       (no built-in int -> base36; write a loop)
Java        Integer.toString(123, 36)   Long.parseLong("3f", 36)
PHP         base_convert("123", 10, 36)
Go          strconv.FormatInt(123, 36)   strconv.ParseInt("3f", 36, 64)

>> Mais perguntas

P: Como escrever Base36 em JavaScript, Python ou Java?

R: JavaScript, Java, PHP e Go têm suporte nativo: (123).toString(36) retorna "3f" e parseInt("3f", 36) volta a 123. Em Python, int(s, 36) decodifica; para codificar, escreva um pequeno laço.

P: Qual o maior inteiro que posso codificar em Base36?

R: Não há máximo teórico: Base36 é apenas uma notação posicional. Na prática, o tipo inteiro limita: em JavaScript, Number.MAX_SAFE_INTEGER (2⁵³−1) é 2gosa7pa2gv; para valores maiores use BigInt.

P: Por que IDs do YouTube e URLs curtas parecem Base36/Base62?

R: IDs curtos geralmente resultam da conversão de um inteiro grande (ID de banco de dados ou hash) para uma base maior. Base36 ignora maiúsculas; Base62 é ainda mais curto, mas diferencia maiúsculas de minúsculas.

Outros idiomas

COPIADO!