Imagem para Base64

5 de 2 avaliações
.gif, .png, .jpg, .jpeg, .svg permitido. Máximo de 64 MB.
Imagem para Base64

O Imagem para Base64 é uma ferramenta gratuita que converte um arquivo de imagem em uma string de texto codificada em Base64.

O que é Base64 e para que serve?

No caso da imagem enviada, o Base64 converte dados binários em texto, permitindo que eles passem por sistemas desenvolvidos principalmente para conteúdo textual. A cada três bytes dos dados de origem, são gerados quatro caracteres imprimíveis de um alfabeto definido.

Isso é útil quando um formato não permite incluir um arquivo binário separado. Uma imagem pode ser inserida em uma URL de dados, em uma propriedade JSON ou em uma parte MIME de um e-mail sem anexar os bytes originais em seu formato binário habitual. A string Base64 gerada é codificada, não criptografada. Qualquer pessoa que obtenha a string pode decodificá-la, portanto ela não oferece sigilo nem controle de acesso.

Este pequeno exemplo com bytes de texto mostra como o processo funciona.

  • O texto de entrada é <svg></svg>
  • A saída em Base64 é PHN2Zz48L3N2Zz4=

A maioria das imagens contém bytes binários, não marcação legível. Por isso, a entrada não se parece com o texto do exemplo. O princípio é o mesmo para PNG, JPEG, GIF, WebP e outros formatos de imagem.

Diagrama: o texto passa pela ferramenta Imagem para Base64 nos dois sentidos

Como converter uma imagem em Base64?

Envie a imagem para a ferramenta, execute a conversão e copie o valor exibido no campo Codificado em Base64. A ferramenta aplica a função base64_encode do PHP aos dados da imagem.

  1. Selecione a imagem que precisa ser representada como texto.
  2. Aguarde enquanto a página processa o arquivo e retorna o valor codificado.
  3. Copie a string completa, incluindo eventuais sinais de igual no final.
  4. Adicione a sintaxe apropriada ao redor da string se o destino exigir uma URL de dados, um valor JSON ou outro contêiner.
A ferramenta Imagem para Base64 no digily.link, com o formulário de entrada

O processamento ocorre no servidor. Sua imagem é enviada ao servidor por HTTPS e não é armazenada. Como o processamento é feito no servidor, não presuma que o arquivo permanece no seu dispositivo durante a conversão.

Como usar a string Base64 gerada?

Use a string como Base64 puro ou insira-a na sintaxe exigida pelo sistema de destino. O Base64, por si só, não identifica o formato, o nome do arquivo, as dimensões nem a finalidade da imagem.

Em uma URL de dados para HTML ou CSS, o valor codificado normalmente vem depois de um tipo de mídia e do marcador Base64. Uma URL de dados PNG começa com data:image/png;base64,, seguida imediatamente pela string. Para JPEG, usa-se image/jpeg, enquanto SVG normalmente usa image/svg+xml. A escolha do tipo de mídia errado pode impedir que um software exiba uma imagem que, fora isso, seria válida.

Em JSON, o Base64 geralmente é armazenado como uma string entre aspas, muitas vezes acompanhado de um campo separado que identifica o tipo de mídia. Não adicione o prefixo de URL de dados quando uma API solicitar especificamente Base64 puro. Consulte a documentação da API antes de usar o valor retornado pela ferramenta, pois essas duas formas de entrada não são intercambiáveis.

Onde o Base64 é usado na prática?

O Base64 costuma aparecer quando dados binários precisam ser transmitidos por um formato ou protocolo baseado em texto. Alguns casos comuns são:

  • URLs de dados incorporadas em HTML, CSS ou documentos gerados.
  • Payloads JSON enviados a APIs que aceitam o conteúdo de uma imagem dentro de uma propriedade de texto.
  • Mensagens de e-mail, nas quais o MIME pode codificar anexos e imagens incorporadas como Base64.
  • Strings de consulta, embora os caracteres do Base64 padrão também possam precisar de codificação de URL.
  • Arquivos de configuração e documentos XML que não podem conter diretamente bytes binários arbitrários.

Nomes de domínio internacionalizados são outro exemplo de dados convertidos para um conjunto restrito de caracteres, mas usam Punycode em vez de Base64. Para valores inseridos em uma URL, também pode ser necessário usar o Codificador de URL, pois o Base64 padrão pode conter sinais de mais, barras e sinais de igual.

Por que a decodificação de Base64 falha ou gera caracteres sem sentido?

A decodificação pode falhar quando a entrada inclui um prefixo copiado, está danificada ou incompleta, ou não corresponde ao formato Base64 esperado pelo decodificador. Caracteres sem sentido geralmente indicam que dados binários válidos de uma imagem foram decodificados e depois exibidos incorretamente como texto comum.

  • Um prefixo copiado pode causar falha quando o decodificador espera apenas Base64. Remova textos como data:image/png;base64, antes de usar um decodificador de Base64 puro.
  • Uma entrada danificada ou incompleta pode ser decodificada como uma imagem parcial que os visualizadores não conseguem abrir.
  • Uma codificação dupla gera outra string Base64 após a primeira decodificação. Pode ser necessário decodificar novamente se a origem codificou um valor que já estava codificado.
  • O alfabeto errado pode causar erro se o decodificador esperar outra variante. Base64url usa hífens e sublinhados onde o Base64 padrão usa sinais de mais e barras.
  • A ausência de preenchimento pode afetar decodificadores rigorosos. O Base64 padrão pode terminar com um ou dois sinais de igual, embora alguns sistemas os omitam de propósito.

Se o resultado decodificado for binário, salve-o com o tipo de imagem correto em vez de abri-lo em um editor de texto. O Decodificador Base64 ou a ferramenta Base64 para Imagem pode ajudar a fazer o processo inverso, desde que a string esteja completa e use o formato esperado.

Escolha do formato e entradas incomuns

O Base64 padrão é adequado para e-mails, URLs de dados e sistemas que o solicitem explicitamente. Em caminhos de URL, parâmetros de consulta e tokens, use a variante exigida pelo sistema de destino. Base64url pode ser a opção apropriada quando a especificação assim determinar. Esta ferramenta usa a operação base64_encode padrão do PHP, portanto não presuma que o resultado seja Base64url.

Esta ferramenta codifica os bytes da imagem enviada. Espaços, sinais de pontuação, números, caracteres acentuados e textos em alfabetos não latinos presentes em um SVG ou nos metadados de uma imagem são codificados como parte desses bytes. Um nome de arquivo que contenha esses caracteres não faz parte do conteúdo do arquivo e não é representado automaticamente pelo Base64.

No PHP, base64_encode retorna um valor vazio para uma sequência vazia de bytes. Arquivos longos geram strings longas, e o Base64 acrescenta aproximadamente um terço à contagem original de bytes, antes de qualquer sintaxe adicional de JSON ou URL de dados. Ele não compacta a imagem, não melhora sua qualidade nem altera suas dimensões em pixels.

Perguntas frequentes

Posso colocar uma imagem Base64 diretamente no CSS?

Sim. Propriedades CSS que aceitam URLs de imagem podem usar uma URL de dados corretamente formada. Isso funciona bem para recursos pequenos e independentes, mas imagens incorporadas maiores aumentam o tamanho da folha de estilo e não podem ser armazenadas em cache separadamente do arquivo CSS.

Por que minha string Base64 tem quebras de linha?

Esta ferramenta retorna um valor contínuo, pois a função base64_encode do PHP não insere quebras de linha. Se houver quebras, elas foram introduzidas posteriormente, durante a cópia ou o processamento em outro lugar. Muitos decodificadores ignoram espaços em branco, mas APIs mais rigorosas podem rejeitá-los. Use uma string contínua quando a especificação do sistema de destino exigir isso.

Renomear uma imagem altera o valor Base64?

O Base64 representa os bytes do arquivo, não o nome dele. Portanto, renomear um arquivo sem modificá-lo não altera sua codificação. Já editar metadados, salvar a imagem novamente ou converter seu formato muda os bytes e gera uma string diferente.

O Base64 protege uma imagem privada?

Não. O Base64 pode ser revertido sem senha nem chave secreta. Use criptografia, autenticação e controles de acesso adequados para materiais confidenciais. Lembre-se também de que esta ferramenta envia a imagem ao servidor por HTTPS para processá-la.

Como saber se a conversão funcionou?

Decodifique a string completa e abra o resultado em um visualizador de imagens compatível com o formato original. Confira se as dimensões e o conteúdo visível correspondem à imagem de origem. Mantenha os caracteres de preenchimento no final, a menos que o destino exija explicitamente que sejam removidos.

Ferramentas semelhantes

Base64 para Imagem

Converta uma entrada Base64 em imagem com nossa ferramenta de Base64 para imagem para recuperar imagens de forma rápida e fácil.

4,444
19

Ferramentas populares