Codificador / Decodificador Base64

Codifique texto ou arquivos em Base64 e decodifique: alfabeto padrão ou URL seguro, preenchimento, quebra a cada 76 caracteres e prévia de imagem. No navegador.

Os dados inseridos e arquivos ficam no navegador

Digite um texto para codificar ou cole Base64 para decodificar, ou solte um arquivo abaixo.

Arraste e solte um arquivo aqui

Se um arquivo for selecionado, ele será usado em vez da entrada de texto.

Opções de decodificação

O resultado codificado ou decodificado aparece aqui.

Nesta página

Converta texto ou qualquer arquivo para Base64 e de volta sem enviar nada. A codificação é feita no navegador por um módulo WebAssembly compilado de Rust; imagens decodificadas aparecem em prévia e dados binários podem ser baixados com a extensão certa.

Funcionalidade detalhada

O texto é primeiro convertido em bytes no conjunto de caracteres escolhido (UTF-8, UTF-16LE, UTF-16BE, ASCII ou ISO-8859-1) e depois codificado com o alfabeto padrão RFC 4648 (+ e /) ou com o alfabeto URL seguro (- e _) usado em JWTs e parâmetros de URL. O preenchimento com = pode ser obrigatório, opcional ou removido, e a saída pode ser quebrada em linhas de 76 caracteres, como exige o MIME em e-mails.

Na decodificação, a ferramenta examina os bytes resultantes. Texto legível vai para o campo de saída; imagens PNG, JPEG, GIF, WebP, BMP, ICO, TIFF e SVG aparecem em prévia com o tamanho em pixels; PDF, ZIP, GZIP, MP3, MP4 e executáveis são reconhecidos pela assinatura. Tudo o que não for texto pode ser salvo com Baixar e a extensão correspondente, por exemplo decoded.png.

Você pode escolher um arquivo ou arrastá-lo para a página; enquanto houver um arquivo selecionado, o campo de texto é ignorado. O arquivo é lido em blocos de 1 MiB num Web Worker, com barra de progresso e botão Cancelar, mas fica inteiro na memória, então o limite prático é a RAM do dispositivo. Resultados muito longos aparecem resumidos e são salvos completos com Baixar.

Exemplos práticos

Texto para Base64: Hello, World! vira SGVsbG8sIFdvcmxkIQ==; em UTF-8, Привет vira 0J/RgNC40LLQtdGC (12 bytes de entrada, 16 caracteres de saída).

URL seguro sem preenchimento: <<???>> gera PDw/Pz8+Pg== no alfabeto padrão e PDw_Pz8-Pg com URL seguro (-_) e Sem preenchimento, o formato dos segmentos de JWT.

Entrada sem preenchimento: SGk falha com o preenchimento padrão Obrigatório; mude Preenchimento para Opcional e o resultado é Hi.

Base64 para imagem: ao colar o Base64 de um PNG (começa com iVBORw0KGgo), a imagem aparece com o tamanho, por exemplo 1×1 px, e Baixar salva decoded.png.

Como usar esta ferramenta

  1. Digite o texto ou escolha um arquivo

    Digite ou cole o texto em Entrada (texto), ou arraste um arquivo para a página ou clique em Escolher arquivo. O arquivo selecionado tem prioridade sobre o texto.

  2. Ajuste as opções

    Escolha Conjunto de caracteres (normalmente UTF-8), Alfabeto (Padrão (+/) ou URL seguro (-_)), Preenchimento e, para e-mail MIME, Quebra de linha em 76 caracteres.

  3. Codifique ou decodifique

    Clique em Codificar para obter Base64 ou em Decodificar para recuperar texto, uma prévia de imagem ou um arquivo binário. Em caso de erro, a mensagem indica a causa, como um caractere inválido ou preenchimento incorreto.

  4. Copie ou baixe o resultado

    Copiar envia a saída para a área de transferência e Baixar a salva como arquivo. Inverter leva a saída para a entrada para testar a conversão de volta.

Dicas e melhores práticas

  • Base64 aumenta os dados em cerca de 33%: cada 3 bytes viram 4 caracteres. É uma codificação, não criptografia; qualquer pessoa pode decodificá-la.
  • Remova o prefixo data:image/png;base64, de um data URI antes de decodificar; o decodificador aceita só a parte Base64.
  • Cabeçalho e payload de um JWT usam o alfabeto URL seguro sem preenchimento: escolha URL seguro (-_) e preenchimento Opcional, e eyJhbGciOiJIUzI1NiJ9 vira {"alg":"HS256"}.
  • Deixe Permitir espaços em branco/novas linhas ativado para decodificar Base64 quebrado em linhas de e-mails ou arquivos PEM; desative para conferir se a entrada é uma linha limpa.
  • O conjunto de caracteres importa: é é w6k= em UTF-8, mas 6Q== em ISO-8859-1, então decodifique com o mesmo usado na codificação.
  • Depois de aberta uma vez, a página continua funcionando sem conexão.