Codificar e decodificar Base64
«Año 2026 — ñandú» vira QcOxbyAyMDI2IOKAlCDDsWFuZMO6 em Base64 e volta com todos os acentos intactos. Escolha o alfabeto padrão ou o seguro para URL, com - e _ no lugar de + e /, para que um token sobreviva dentro de um link. 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
- Año 2026 — ñandú
- Valor Base64
- QcOxbyAyMDI2IOKAlCDDsWFuZMO6
Cole aqui para codificar ou decodificar na hora, nos dois sentidos, com suporte correto a acentos. Tudo roda no navegador; nada é enviado a servidor.
Base64 não é criptografia — e fingir que é custa caro
O Base64 é uma troca de roupa, não um cofre: qualquer pessoa decodifica sem chave nenhuma, em qualquer ferramenta. Ele existe para transportar dados binários por canais de texto, não para esconder informação. Se você encontrar uma senha protegida em Base64 num arquivo de configuração, trate como senha em texto puro.
Para esconder de verdade, o caminho é criptografia com chave — outra ferramenta, outro propósito.
Acentos e emoji: o detalhe do UTF-8
O tropeço mais comum: codificar a palavra atenção num sistema, decodificar noutro que assume outra codificação de caracteres — e receber uma sopa de símbolos. O Base64 em si não tem culpa; a diferença está em como o texto vira bytes antes da codificação. Esta ferramenta usa UTF-8, o padrão da web, nas duas direções.
Se um texto decodificado sair com caracteres estranhos, a origem provavelmente usou outra codificação — vale conferir antes de culpar os dados.
Decodificar dados sem expor o conteúdo
Fazer isso num site que envia o conteúdo para o servidor é criar um vazamento para resolver um bug. Aqui a conversão roda localmente: o dado permanece na sua máquina.
Casos de uso
Embutir um ícone no HTML
Para eliminar uma requisição, a dev converte o logo pequeno em Base64 e cola como data URI direto na folha de estilos. Um arquivo a menos para o navegador buscar.
Depurar e-mail que chega corrompido
Os anexos de um sistema de notas chegam ilegíveis. Decodificando o bloco MIME manualmente, o time descobre que o conteúdo estava sendo codificado duas vezes antes do envio.
Perguntas frequentes
Posso colar dados sensíveis para decodificar?
A conversão acontece no seu navegador, sem envio para servidor — o conteúdo não sai da página. Essa é justamente a diferença entre esta ferramenta e conversores que processam no backend.
Por que meu texto com ç e ã vira símbolo estranho ao decodificar?
Conflito de codificação de caracteres: o texto foi transformado em bytes num padrão diferente do UTF-8 antes de virar Base64. Observe o padrão dos erros — um par de símbolos no lugar de cada letra acentuada denuncia UTF-8 lido como Latin-1.
Base64 aumenta o tamanho do dado?
Sim, em cerca de um terço: cada 3 bytes viram 4 caracteres. É o custo de transportar binário como texto — aceitável para dados pequenos, ruim para arquivos grandes, que devem viajar em formato binário mesmo.
Qual a diferença entre Base64 e Base64URL?
Dois caracteres: o Base64 padrão usa sinais de mais e barra, que causam problema em URLs; a variante URL troca por hífen e sublinhado e dispensa o preenchimento com igual. JWTs usam a variante URL — se a decodificação falhar, teste a outra.
Preciso me cadastrar para usar?
A compra é direta, e o atendimento é humano, em espanhol ou inglês. Pode escrever em português: a gente se vira bem.
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/dev/base64 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hola"}'const res = await fetch("https://api.kit.forhosting.com/dev/base64", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hola"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/base64",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hola"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/base64", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hola"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hola"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/base64", 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": "hola"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.base64",
"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
Base64 transforma qualquer dado em texto seguro para viajar por sistemas que só entendem caracteres simples — JSON, e-mail, URLs.
Onde o Base64 aparece no seu dia
Saber codificar e decodificar rápido é uma dessas habilidades pequenas que economizam meia hora de depuração várias vezes por mês. Está em mais lugares do que parece: no miolo de um JWT, nos anexos de e-mail (MIME), em imagens embutidas direto no HTML e no CSS (data URI), em payloads de webhooks, no header de Basic Auth e em campos binários de APIs REST.
Decodificar payload sem expor o conteúdo
Depurar um webhook ou inspecionar um campo codificado costuma envolver dados reais de clientes. Para converter dentro de um fluxo automatizado, a mesma operação está disponível via API, a US$ 0,002 por chamada.
Casos de integração
Inspecionar o payload de um webhook
Um campo do webhook chega codificado e a documentação não explica o formato. O dev cola o valor, decodifica e descobre o JSON interno — sem que o dado real do cliente saia da máquina.
Perguntas técnicas
Quanto custa converter via API?
US$ 0,002 por chamada, preço fixo publicado. Sem plano, sem franquia: pagou, usou. Na página, ilimitado e gratuito.