Codificador Base64 de arquivos gratuito

Converta qualquer arquivo para uma URL de dados Base64 · tudo permanece no seu navegador.

Arraste e solte um arquivo aqui

ou

Selecione ou solte um arquivo para codificar.

Como funciona

  1. Envie seu arquivo: solte qualquer arquivo (imagem, PDF, fonte, áudio ou binário) na zona de soltar ou clique para navegar.
  2. Obtenha a string Base64: O arquivo é lido e codificado em Base64 instantaneamente no seu navegador.
  3. Copie e use: Copie a string Base64 para incorporar em HTML, CSS, payloads JSON, URIs de dados ou qualquer formato baseado em texto.

Por que usar o codificador Base64 de arquivos?

Arquivos binários não podem ser incorporados diretamente em formatos baseados em texto como HTML, CSS, JSON ou XML. A codificação Base64 converte qualquer arquivo binário em uma string ASCII segura que pode ser incorporada em qualquer lugar onde texto é permitido. Isso é essencial para incorporar imagens diretamente no HTML (URIs de dados), incluir fontes no CSS, enviar arquivos em APIs de e-mail ou JSON sem endpoints de upload e criar documentos HTML independentes.

Recursos

Perguntas frequentes

Quanto maior fica o Base64 comparado ao arquivo original?

A codificação Base64 aumenta o tamanho do arquivo em aproximadamente 33 %. Uma imagem de 100 KB se torna cerca de 133 KB quando codificada em Base64. Essa sobrecarga é o preço por poder incorporar conteúdo binário em texto.

Posso usar imagens Base64 em HTML?

Sim. Use uma URI de dados como <img src="data:image/png;base64,[seu-base64]">. Isso incorpora a imagem diretamente no HTML sem solicitação HTTP externa, embora aumente o tamanho da página.

Há um limite de tamanho de arquivo?

A ferramenta não tem limite imposto, mas arquivos muito grandes (acima de 10 MB) podem ser lentos para codificar e a string resultante será extremamente longa. Para arquivos grandes, considere uma solução do lado do servidor.

De onde Base64 veio, e por que ainda o usamos

Base64 foi projetado para transportar dados binários de 8 bits através de canais ASCII de 7 bits. A primeira especificação formal foi a RFC 989 (fevereiro de 1987) para Privacy-Enhanced Mail. A RFC 1341 (junho de 1992) e especialmente a RFC 2045 «MIME Parte Um» (novembro de 1996) tornaram-na a forma padrão de anexar arquivos binários ao e-mail. O documento canônico atual é a RFC 4648 (outubro de 2006), que também definiu a variante URL-safe. A mecânica é simples: pegue 3 bytes de entrada (24 bits), divida em quatro grupos de 6 bits, procure cada um no alfabeto de 64 caracteres A-Z a-z 0-9 + /, anexe o preenchimento = para fazer o comprimento da saída ser um múltiplo de 4. O tamanho de saída é exatamente 4 ÷ 3 ≈ 133 % da entrada. Para incorporar em URLs (JWT, OAuth, URLs pré-assinadas S3), a variante URL-safe da RFC 4648 §5 substitui - por + e _ por /; o preenchimento é tipicamente omitido.

A URL data:: Base64 no seu HTML e CSS

O esquema de URL data: foi especificado na RFC 2397 (agosto de 1998). Formato: data:[<mediatype>][;base64],<data>. Exemplo: <img src="data:image/png;base64,iVBORw0KGgo..."> incorpora um PNG inline sem requisição HTTP adicional. O WHATWG URL Living Standard governa como navegadores modernos interpretam essas URLs e o HTML Living Standard confirma que são válidas onde quer que uma URL seja permitida, incluindo <img>, <link>, <iframe>, e a função CSS url(). Orientação prática: use URLs data para ativos menores que cerca de 4 KB, onde economizar uma requisição HTTP supera os 33 por cento de inflação da carga útil. Acima de 10 KB, referências de arquivo regulares com cache do navegador quase sempre vencem, especialmente sobre multiplexação HTTP/2.

APIs do navegador que alimentam esta ferramenta

Esta página usa a API FileReader do HTML Living Standard (originalmente W3C File API First Public Working Draft novembro de 2009; enviada em Chrome 13 / Firefox 3.6 / Safari 6 / Internet Explorer 10). FileReader.readAsDataURL(blob) retorna a string completa data:<mime>;base64,<...> com uma única chamada. A alternativa legada é btoa() (nomeada após o comando histórico do Unix «binary-to-ASCII» e um remanescente do JavaScript DOM Level 0), mas lança em entradas não-Latin-1 a menos que você transcodifique primeiro através de UTF-8. A substituição moderna é Uint8Array.prototype.toBase64(), adicionada ao ECMAScript 2025 em TC39 Stage 4. Ela foi enviada em Chrome 132 (janeiro de 2025), Firefox 133 (novembro de 2024), e Safari 18.2 (dezembro de 2024). Use a nova API para qualquer código novo; reserve btoa para compatibilidade com navegadores mais antigos.

Para onde realmente vai a saída desta ferramenta

Erros comuns

Mais perguntas frequentes

Qual é a sobrecarga exata de tamanho do Base64?

Exatamente 4 ÷ 3 ≈ 1,333× a entrada, mais 1-2 bytes de preenchimento =. Uma entrada de 999 bytes se torna 1332 caracteres de Base64 (sem preenchimento porque 999 ÷ 3 = 333 exatamente). Uma entrada de 1000 bytes se torna 1336 (um byte de preenchimento). Para uma URL data, adicione os bytes do prefixo (p. ex. data:image/png;base64, tem 23 caracteres).

Como obtenho Base64 URL-safe para JWT ou URLs pré-assinadas S3?

Pegue a saída Base64 padrão desta ferramenta e aplique duas substituições: +-, /_. JWT especificamente remove o preenchimento = final; S3 o mantém. A RFC 4648 §5 documenta a variante.

Posso fazer ida e volta de um arquivo através do Base64 sem corrupção?

Sim. Base64 é uma codificação sem perdas. Codificar para Base64 e depois decodificar de volta produz um original idêntico byte por byte. A única maneira de perder dados é truncar a string Base64 (p. ex. limitar caracteres em seu armazenamento) ou confundir alfabetos padrão vs URL-safe ao decodificar.

Qual é o tamanho máximo de arquivo que esta ferramenta pode manipular?

Sem limite rígido; na prática a memória do navegador é o teto. Codificar um arquivo de 100 MB requer aproximadamente 100 MB de entrada mais 133 MB de saída, mais sobrecarga DOM para a string resultante, talvez 400 MB no total. No celular, espere falhas acima de cerca de 30 MB. A codificação roda na thread principal, então a UI congela durante o processamento; para arquivos acima de 20 MB, uma solução do lado do servidor ou Web Worker é mais confortável.

Meu arquivo é enviado para algum lugar?

Não. O arquivo é lido com a API FileReader.readAsDataURL do navegador, que roda inteiramente em seu navegador. Nenhuma requisição de rede é feita e nenhuma cópia do seu arquivo é armazenada em qualquer servidor. Abra a aba Rede no DevTools e solte um arquivo: você verá zero requisições de saída durante a codificação.

Ferramentas relacionadas

Codificador e decodificador Base64 gratuito on-line Conversor de imagem para Base64 Decodificador de imagem Base64 Codificador / Decodificador URL gratuito