Mais jogos no WuGames.ioPatrocinadoDescubra jogos de navegador grátis — jogue na hora, sem download nem cadastro.Jogar

Codificador/Decodificador Base64

Ferramenta online gratuita de codificação e decodificação Base64. Codifique texto para Base64 ou decodifique Base64 para texto instantaneamente. Suporta UTF-8, ASCII, codificação segura para URL e múltiplos conjuntos de caracteres.

Modo
Ou arraste um arquivo para codificar em Base64
upload
Arraste e solte um arquivo aqui, ou clique para escolher. Imagens são pré-visualizadas abaixo.
Máx. 10 MB. 100% no navegador — o arquivo nunca sai do seu dispositivo.
Opções de Codificação

Codificador/Decodificador Base64 - Codificar e Decodificar Base64 Online

Uma poderosa ferramenta online de codificação e decodificação Base64 que permite codificar facilmente texto para formato Base64 ou decodificar strings Base64 de volta para texto simples. Recursos de suporte a múltiplos conjuntos de caracteres (UTF-8, ASCII, UTF-16, ISO-8859-1), opção de codificação segura para URL e conversão instantânea. Perfeito para desenvolvedores, administradores de sistemas e qualquer pessoa que trabalhe com codificação Base64 em desenvolvimento web, APIs ou transmissão de dados.

O que é Base64 e quando devo usá-lo?

Base64 é um esquema de codificação binário-para-texto definido na RFC 4648 que representa bytes arbitrários de 8 bits usando um alfabeto de 64 caracteres (A-Z, a-z, 0-9, + e /). Não é criptografia — não adiciona nenhuma confidencialidade. Você o usa quando precisa transportar ou incorporar dados binários dentro de um canal apenas de texto: corpos de e-mail (MIME, RFC 2045), cabeçalhos de autenticação HTTP Basic, payloads JSON ou XML, URIs data: para imagens em linha em HTML e CSS, segmentos JWT, chaves e certificados PEM, e colunas de banco de dados que aceitam apenas texto. A cada três bytes de entrada tornam-se quatro caracteres de saída, então o formato codificado é cerca de 33% maior que a origem. Se seus dados já são texto, não codifique em Base64 — você desperdiça bytes e quebra a legibilidade humana.

Por que a saída é 33% maior que minha entrada?

Base64 mapeia cada 3 bytes (24 bits) para 4 caracteres de 6 bits cada, gerando uma razão de expansão de 4:3 (cerca de 1,333). Se o comprimento da entrada não for múltiplo de 3, o codificador preenche o grupo final com um ou dois caracteres = para que o comprimento de saída seja sempre múltiplo de 4. Para payloads típicos isso significa cerca de 33% de sobrecarga, mais alguns bytes de preenchimento. Para entradas muito pequenas a sobrecarga relativa é maior; para um único byte você obtém 4 caracteres (expansão de 300%). Se o tamanho importa, considere Base85/Ascii85 (cerca de 25% de sobrecarga) ou transporte binário bruto. Recomprimir a string Base64 com gzip quase nunca ajuda.

Qual a diferença entre Base64 padrão e Base64 seguro para URL?

Base64 padrão (RFC 4648 seção 4) usa + e / como os dois últimos caracteres do alfabeto e = para preenchimento. Esses três símbolos colidem com caracteres reservados em URLs, query strings e nomes de arquivo. Base64 seguro para URL (RFC 4648 seção 5) substitui - por + e _ por /, e frequentemente descarta o preenchimento = final. Os bytes decodificados são idênticos — apenas o alfabeto difere. Tokens JWT, estado OAuth e a maioria das APIs web modernas usam a variante segura para URL. Se você decodificar uma string que contém - ou _ com um decodificador padrão, obterá lixo ou erro. Certifique-se de que seu codificador e decodificador concordem no alfabeto, e se você remover o preenchimento na codificação, deve recolocá-lo na decodificação.

Base64 pode lidar com strings Unicode ou apenas ASCII?

Base64 opera sobre bytes, não caracteres, então a pergunta se reduz a: como sua string é convertida em bytes antes da codificação? A resposta universal é UTF-8 (RFC 3629). Codificar a string "café" primeiro torna-se os bytes 63 61 66 C3 A9 em UTF-8, então Base64 produz "Y2Fmw6k=". Um decodificador que interpreta esses mesmos bytes de volta como UTF-8 retornará "café" corretamente. Se remetente e destinatário discordam sobre a codificação de texto — um usa UTF-8 e o outro Latin-1 — a viagem de ida e volta produz mojibake. Esta ferramenta usa UTF-8 em todo o processo. Ao depurar texto internacional, verifique primeiro a sequência de bytes com um visualizador hex.

Codificador/Decodificador Base64 — Ferramenta online gratuita de codificação e decodificação Base64. Codifique texto para Base64 ou decodifique Base64 para
Codificador/Decodificador Base64

Por que recebo erros de "caractere inválido" ao decodificar?

O alfabeto padrão tem exatamente 64 caracteres mais = para preenchimento. Qualquer outro byte — quebra de linha, espaço, tabulação, aspas tipográficas, emoji, ou um + que foi prestativamente transformado em espaço por um parser de URL — falhará na decodificação estrita. Causas comuns: (1) a string foi transportada por um sistema que quebra linhas a cada 76 caracteres pela convenção MIME mas o decodificador não está em modo tolerante a MIME; (2) um formulário URL tratou + como espaço; (3) a string veio de um atributo HTML onde & foi codificado como entidade; (4) o preenchimento = foi removido no caminho. Correções: remova espaços em branco antes de decodificar, substitua espaços por +, e recoloque = no final para que o comprimento seja múltiplo de 4.

Base64 é considerado criptografia ou alguma forma de segurança?

Não — Base64 é codificação, não criptografia. A transformação é totalmente reversível sem nenhuma chave, e todo decodificador Base64 da Terra pode ler sua saída. Tratar Base64 como uma forma de "esconder" senhas, chaves de API ou PII é um dos erros de segurança mais comuns em revisões de código. A autenticação HTTP Basic, por exemplo, envia credenciais como Base64("usuário:senha") — é por isso que Basic auth exige HTTPS para ser seguro. Se você precisa de confidencialidade, use criptografia real: AES-GCM ou ChaCha20-Poly1305 para cifragem simétrica, RSA-OAEP ou X25519 para troca de chaves, e uma biblioteca testada (libsodium, Web Crypto API, OpenSSL). Base64 ainda tem um papel legítimo envolvendo o texto cifrado resultante para transporte.

Como codifico em streaming um arquivo grande sem carregá-lo na memória?

Base64 é amigável a blocos porque cada 3 bytes de entrada mapeiam de forma limpa para 4 caracteres de saída, então você pode codificar em pedaços desde que cada pedaço seja múltiplo de 3 bytes (exceto o pedaço final, que recebe o preenchimento). No Node.js, canalize o arquivo através de fs.createReadStream para um Transform que chame Buffer.toString('base64') em cada pedaço múltiplo de 3. Em Python, use base64.encodebytes em leituras iteradas de, digamos, 57 KB (múltiplo de 3, cabe em linhas MIME de 76 caracteres). No navegador, a API FileReader.readAsDataURL lida com isso para você, mas para arquivos enormes prefira Blob.stream() com TransformStream. Evite a armadilha de codificar pedaços independentemente e concatenar: se algum tamanho de pedaço não for divisível por 3, o = no meio corrompe a saída.

O que é Base64URL sem preenchimento, e por que JWT o usa?

JWT (RFC 7519) e JOSE (RFC 7515) especificam segmentos codificados em base64url com todo preenchimento = removido. A razão é puramente cosmética e operacional: tokens trafegam em URLs, cabeçalhos HTTP e cookies onde = precisa de codificação percentual (=%3D) ou aciona parsers esperando pares chave=valor. Remover o preenchimento encurta tokens em 1-3 caracteres e evita a dor de cabeça do escape. Para decodificar, você deve recolocar o preenchimento para que o comprimento da string seja múltiplo de 4: anexe "", "==" ou "=" conforme o comprimento mod 4. A maioria das bibliotecas JWT faz isso para você, mas se decodificar manualmente com Buffer.from(str, 'base64url') no Node 16+ moderno, simplesmente funciona. Nos navegadores, atob() não entende o alfabeto seguro para URL.

Principais Recursos

  • Codificar texto para formato Base64 instantaneamente
  • Decodificar strings Base64 de volta para texto original
  • Suporte para múltiplos conjuntos de caracteres (UTF-8, ASCII, UTF-16, ISO-8859-1)
  • Opção de codificação Base64 segura para URL
  • Manipulação automática de espaços em branco e preenchimento
  • Estatísticas de comparação de tamanho em tempo real
  • Troca com um clique entre modos de codificação e decodificação
  • Copiar texto codificado/decodificado para área de transferência
  • Baixar resultados como arquivos de texto
  • Carregar arquivos de texto para codificação/decodificação
  • Suporte a modo escuro
  • 100% de processamento no cliente - seus dados nunca saem do navegador
  • Sem limites de tamanho de arquivo
  • Funciona offline após carregamento inicial
  • Design responsivo amigável para dispositivos móveis
  • Mensagens de erro claras para entrada Base64 inválida
  • Suporte para caracteres Unicode e emoji
  • Nenhum registro ou login necessário