Codificador e decodificador Base64url
“hello world” vira aGVsbG8gd29ybGQ em Base64url, o Base64 seguro para URL da seção 5 do RFC 4648, que usa hífen e sublinhado no lugar de mais e barra e dispensa o preenchimento com sinais de igual, para que tokens passem intactos em links. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Texto
- hello world
- Modo de cálculo
- Encode
- Resultado
- aGVsbG8gd29ybGQ
- Codificação
- base64url
- Bytes de entrada
- 11
- Bytes de saída
- 15
Este codificador Base64url converte texto simples em Base64 seguro para URL e decodifica strings Base64url de volta a texto UTF-8, usando o alfabeto da RFC 4648 seção 5. O mecanismo é totalmente determinístico: a mesma entrada e o mesmo modo sempre produzem o mesmo resultado, sem chamadas de rede, sem sais aleatórios e sem atalhos dependentes de data. Verificações comuns incluem a codificação de hello world para aGVsbG8gd29ybGQ e a decodificação dessa string de volta à frase original.
O que é Base64url e o que esta ferramenta retorna
Base64url é a variante segura para URL do Base64 clássico, definida na RFC 4648 seção 5. Ambos os esquemas mapeiam cada três bytes de entrada para quatro símbolos de seis bits, extraídos de um alfabeto de sessenta e quatro caracteres, mas o Base64url substitui os símbolos mais e barra por menos e sublinhado, e omite o preenchimento de sinal de igual que o Base64 padrão adiciona quando o comprimento em bytes não é múltiplo de três.
Essa pequena mudança de alfabeto é o motivo pelo qual tokens de identidade, parâmetros de estado OAuth, fragmentos de cookie assinados, e hashes de conteúdo viajam de forma limpa dentro de URLs e atributos HTML, sem codificação percentual.
Esta página sempre usa esse alfabeto seguro para URL, sem preenchimento: o modo encode codifica seu texto em UTF-8, empacota os bytes, e retorna apenas A a Z, a a z, zero a nove, menos, e sublinhado; o modo decode reverte o processo e rejeita caracteres do Base64 padrão, espaços em branco, e quanta finais incompletos.
Onde o Base64url aparece em links e tokens
Desenvolvedores encontram o Base64url ao inspecionar segmentos JWT, criar valores de estado e nonce OAuth, embutir pequenos claims seguros para binário em parâmetros de consulta, ou armazenar identificadores opacos em arquivos de configuração apenas de texto. Equipes de frontend decodificam tokens seguros para URL durante depuração de integração, sem colar dados em scripts improvisados que acidentalmente reintroduzem mais e barra. Serviços de backend codificam trechos de configuração ou pequenos resumos binários antes de colocá-los em URLs de redirecionamento, onde o Base64 padrão quebraria.
Engenheiros de qualidade geram pares determinísticos de codificação e decodificação para testes de contrato, para que um middleware que afirma suportar Base64url não possa trocar alfabetos silenciosamente. Educadores usam a mesma ferramenta ao ensinar a diferença entre o Base64 MIME e a variante segura para URL na qual as pilhas de autenticação modernas se padronizam.
Casos de uso
Prática de tokens JWT e OAuth
Codifique ou decodifique segmentos seguros para URL usados em JWTs, estado OAuth, e valores nonce, sem preenchimento ou caracteres +/ do Base64 padrão.
Perguntas frequentes
Como o Base64url é diferente do Base64 padrão?
O Base64url usa - e _ em vez de + e /, e esta ferramenta nunca emite ou aceita preenchimento =. O Base64 padrão com + / = é rejeitado na decodificação.
O que acontece se eu colar Base64 padrão com + ou =?
Substitua + por -, / por _, remova o preenchimento, ou use uma ferramenta de Base64 padrão em vez desta.
O resultado é determinístico?
Sim. O mesmo texto e o mesmo modo sempre produzem o mesmo resultado, sem rede, aleatoriedade ou comportamento dependente de data.
Por que meu resultado em Base64url não termina com sinais de igual?
Porque o Base64url deixa de fora o preenchimento que o Base64 padrão acrescenta. “hello world” vira aGVsbG8gd29ybGQ sem nada depois. Na decodificação, um tamanho que deixa um único caractere sobrando em um grupo de quatro é recusado, pois não forma bytes inteiros.
Posso decodificar uma parte de um JWT com esta ferramenta?
Sim. As partes de um JWT são Base64url, então cole uma parte por vez, sem os pontos que as separam, e escolha decodificar para ver o texto. Um ponto ou um sinal de mais é recusado por não fazer parte do alfabeto.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/enc/base64url \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world"}'const res = await fetch("https://api.kit.forhosting.com/enc/base64url", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/base64url",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/base64url", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/base64url", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "hello world"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.base64url",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Ao contrário do Base64 clássico, a saída nunca contém os caracteres mais ou barra, e nunca termina com preenchimento de sinal de igual, então os tokens sobrevivem a strings de consulta, segmentos de caminho e JSON sem escape adicional. Escolha encode para transformar uma mensagem, conjunto de claims, ou string de configuração em um payload compacto Base64url, ou escolha decode para recuperar o texto original a partir de um token seguro para URL que você já tem.
O que é Base64url e o que esta ferramenta retorna
A resposta em JSON inclui result para a string transformada, mode ecoando encode ou decode, encoding fixado em base64url, e input_bytes mais output_bytes para que você possa verificar tamanhos em testes. Não há caminho de streaming nem fallback silencioso para o alfabeto clássico: ou a string é um texto Base64url válido, ou a solicitação falha com invalid_input. Se você precisa do Base64 padrão com preenchimento, mais e barra, use um endpoint dedicado de Base64 padrão; esta página é apenas para o contrato seguro para URL, sem preenchimento, que JWT e muitas APIs modernas já esperam.
Como texto e modo são interpretados e como os resultados permanecem reproduzíveis
O encode aceita qualquer string Unicode, converte com o TextEncoder da plataforma para bytes UTF-8, e então emite Base64url sem preenchimento. O decode exige uma string Base64url pura: comprimento módulo quatro igual a um é rejeitado, porque não pode representar um número inteiro de bytes, e qualquer caractere fora do alfabeto seguro para URL falha com uma mensagem clara que aponta para mais, barra, ou igual, quando esses símbolos do Base64 padrão aparecem. Depois que os bytes são recuperados, uma decodificação UTF-8 fatal garante que lixo binário não vire texto ilegível (mojibake). O campo de payload preferido é text, com os aliases input, value e s, para que formulários, strings de consulta e clientes de SDK possam reutilizar o mesmo contrato sem renomear colunas. Mode assume encode por padrão e aceita decode explicitamente; os aliases op, direction e action mapeiam para a mesma alternância, para scripts que já usam esses nomes. Combine a execução gratuita no navegador desta página com a API paga quando precisar do mesmo resultado matemático dentro de um pipeline automatizado, sem reimplementar as tabelas Base64url você mesmo. Entradas inválidas retornam invalid_input e não são cobradas, o que mantém a validação barata enquanto as transformações bem-sucedidas permanecem com um preço fixo por item.
Onde o Base64url se encaixa em tokens, APIs e fixtures de teste
Nesta página o trabalho roda inteiramente no seu navegador; pela API, cada consulta bem-sucedida custa US$ 0,002, a validação com falha não é cobrada, e nada é armazenado depois que a resposta é devolvida. Essa divisão — exploração interativa gratuita e uma API paga e idêntica — segue o padrão do resto do catálogo tier A do KIT e permite passar de uma demonstração em sala de aula para um pipeline automatizado sem mudar o resultado codificado. Combine-a com auxiliares de JWT ou hash quando precisar de passos criptográficos relacionados, e com outros endpoints de codificação ao montar um pequeno laboratório de ferramentas de texto gratuitas e determinísticas.
Casos de integração
Payloads seguros para strings de consulta
Transforme texto curto em Base64url para que sobreviva a parâmetros de consulta e segmentos de caminho, sem surpresas de codificação percentual.
Fixtures determinísticas de CI
Gere strings Base64url reproduzíveis para testes unitários, arquivos golden e verificações de contrato entre serviços.
Perguntas técnicas
Quanto custa o codificador Base64url?
É gratuito no navegador, nesta página. Pela API, uma solicitação bem-sucedida custa US$ 0,002; entradas inválidas não são cobradas.
Quais modos são suportados?
mode=encode (padrão) transforma texto simples em Base64url. mode=decode transforma uma string Base64url de volta em texto UTF-8.