Conversor Base64 para imagem
Basta colar uma string Base64, clicar em Descodificar e transferir o ficheiro de imagem. O conversor reconhece oito formatos, e o resultado fica byte a byte igual ao ficheiro que foi codificado. A forma em texto ocupa, por seu lado, cerca de um terço a mais.
Pré-visualização da imagem
O que é o Base64 e o que é uma data URI?
O Base64 escreve dados binários, e portanto também um ficheiro de imagem terminado, como uma cadeia de caracteres de texto comuns. A conversão avança de três em três bytes. Um byte tem oito bits, ao passo que um único carácter Base64 leva seis. Três bytes do ficheiro cabem assim em exatamente quatro caracteres de texto. O alfabeto tem 64 posições: maiúsculas de A a Z, minúsculas de a a z, algarismos de 0 a 9, o sinal de mais e a barra. Quando no fim faltam bytes para completar um grupo de quatro, o sinal de igual ocupa os lugares livres.[1]

É assim que se transportam os anexos do correio eletrónico, e é assim que uma imagem entra diretamente no código de uma página, sem ficheiro à parte no servidor.[2]
A cadeia por si só ainda não diz o que representa. Disso trata a data URI, um endereço cuja estrutura vem descrita no documento RFC 2397 de agosto de 1998. Escreve-se data:[tipo][;base64],dados. Numa imagem PNG o início fica assim: data:image/png;base64, — e logo a seguir à vírgula vem a cadeia. Se o tipo for omitido, quem a recebe assume que lhe entregaram texto simples.[3]
Os navegadores bloqueiam hoje a abertura de endereços data: na janela principal, porque assim circulavam páginas de phishing.[4] Uma imagem guardada num endereço desses vê-se no código que a contém, ou numa ferramenta que leia esse endereço. Basta colar a cadeia no campo acima e carregar no botão Descodificar.
Como converter Base64 em imagem?
Cole a cadeia no campo Base64 do lado esquerdo e carregue no botão Descodificar. A imagem aparece no cartão Pré-visualização da imagem, e por baixo fica o botão Transferir, que guarda o ficheiro no disco com o nome imagem-descodificada. O botão Limpar tudo esvazia o campo e a pré-visualização ao mesmo tempo.
O prefixo data:image/png;base64, tanto pode ser colado com a cadeia como ficar no código de onde copia. Sem prefixo, o conversor lê os primeiros dezoito bytes dos dados e reconhece o formato pela assinatura do próprio ficheiro. É dessa leitura que depende a extensão do ficheiro transferido: uma imagem BMP fica gravada como imagem-descodificada.bmp, e um ícone de site como imagem-descodificada.ico.
Todo o trabalho acontece no seu computador. A cadeia fica na memória do separador aberto, o ficheiro nasce no seu dispositivo, e assim que fecha a página ambos saem da memória do navegador.
O conversor lê uma cadeia partida em várias linhas?
Uma cadeia copiada do código-fonte de uma mensagem costuma vir partida a cada 76 caracteres, e o conversor lê-a exatamente nessa forma. A norma pela qual os navegadores leem Base64 manda retirar primeiro dos dados todos os caracteres de espaço, incluindo os espaços e os fins de linha.[5] Uma cadeia colada em doze linhas dá a mesma imagem que uma cadeia colada numa só. O sentido contrário cabe ao conversor de imagem para Base64, que escreve a cadeia inteira numa só linha, sem quebras.
Porque é que a cadeia Base64 é mais longa do que o ficheiro?
A forma em texto precisa de quatro caracteres por cada três bytes, por isso a cadeia ocupa mais espaço do que os dados que descreve. A conta é curta: divide o número de bytes por três, arredonda para cima e multiplica por quatro.
Desta fórmula saem dois números que dão a ordem de grandeza. Um ícone de site pesa 2 678 bytes e, depois de codificado, dá 3 572 caracteres. Uma fotografia de 1920 por 1280 píxeis pesa 476 485 bytes, e a sua forma em texto conta 635 316 caracteres. O crescimento ronda de cada vez um terço, ou seja, cerca de 33 por cento.[2] A folha de estilos ou o modelo de mensagem onde essa imagem for colada cresce exatamente outro tanto.
O Base64 transporta os dados e nada altera dentro deles. Depois de descodificar, recebe um ficheiro igual byte a byte àquele que foi codificado. Verificámo-lo em oito ficheiros de formatos diferentes, comparando as somas de verificação antes de codificar e depois de voltar a ler.
O comprimento da cadeia é limitado pelo próprio navegador. O Chromium e o Firefox aceitam hoje endereços data: até 512 MB, e o Safari até 2048 MB. No Firefox esse limite mudou duas vezes. A versão 97 subiu-o de 256 KB para 32 MB. A versão 136 levou-o aos 512 MB de hoje.[4]
Que formatos reconhece o conversor?
| Formato de imagem | Assinatura | Tipo MIME | Extensão |
|---|---|---|---|
| PNG | 89 50 4E 47 | image/png | .png |
| JPG | FF D8 | image/jpeg | .jpg |
| WebP | RIFF + WEBP | image/webp | .webp |
| GIF | GIF87a / GIF89a | image/gif | .gif |
| AVIF | ftypavif | image/avif | .avif |
| BMP | BM | image/bmp | .bmp |
| SVG | <svg / <?xml | image/svg+xml | .svg |
| ICO | 00 00 01 00 | image/x-icon | .ico |
Quantos caracteres ocupa uma imagem em Base64?
| Imagem | Dimensões em píxeis | Tamanho do ficheiro em bytes | Caracteres da cadeia Base64 |
|---|---|---|---|
| Ícone de site em PNG | 32 × 32 | 2 678 | 3 572 |
| Gráfico de página em WebP | 800 × 600 | 104 128 | 138 840 |
| Fotografia de artigo em JPG | 1200 × 630 | 157 419 | 209 892 |
| Fotografia de banner em JPG | 1920 × 1280 | 476 485 | 635 316 |
| Logótipo com fundo transparente em PNG | 512 × 512 | 577 420 | 769 896 |
| Fotografia de câmara em JPG | 3840 × 2560 | 1 405 512 | 1 874 016 |
Em que diferem os dois alfabetos do Base64?
| Elemento da codificação | Alfabeto padrão | Alfabeto para endereços e nomes de ficheiro |
|---|---|---|
| Carácter número 62 | sinal de mais | hífen |
| Carácter número 63 | barra | sublinhado |
| Carácter de preenchimento | sinal de igual | sinal de igual, nos tokens costuma ser omitido |
| Onde o encontra | data URI, código da página, anexos de correio | parâmetros de endereço, tokens JWT, nomes de ficheiro |
| O que fazer com essa cadeia | cole-a no campo e carregue em Descodificar | cole-a no campo e carregue em Descodificar, o conversor troca os caracteres sozinho |
O que pode colar no campo?
| O que cola | Exemplo | O que o conversor faz |
|---|---|---|
| Apenas a cadeia Base64 | iVBORw0KGgoAAAANSUhEUgAA… | Reconhece o PNG pelos primeiros bytes e guarda imagem-descodificada.png |
| Uma data URI | data:image/png;base64,iVBORw0KGgo… | Tira o tipo do prefixo e guarda imagem-descodificada.png |
| Uma linha de uma folha de estilos | background-image: url("data:image/png;base64,iVBORw0KGgo…"); | Tira o endereço de url(…) e guarda imagem-descodificada.png |
| Uma etiqueta img do código da página | <img src="data:image/jpeg;base64,/9j/4AAQSkZJRg…" alt=""> | Tira o endereço do atributo src e guarda imagem-descodificada.jpg |
| Um valor JSON entre aspas | "iVBORw0KGgoAAAANSUhEUgAA…" | Deixa de fora as aspas e guarda imagem-descodificada.png |
| O alfabeto para endereços e nomes de ficheiro | _9j_4AAQSkZJRgABAQ… | Troca - e _ por + e / e guarda imagem-descodificada.jpg |
| Um SVG escrito com sinais de percentagem | data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'… | Lê-o sem Base64 e guarda imagem-descodificada.svg |
| Um prefixo em maiúsculas | DATA:IMAGE/PNG;BASE64,iVBORw0KGgo… | Lê o prefixo independentemente de maiúsculas e minúsculas e guarda imagem-descodificada.png |
Onde encontra uma cadeia Base64 para colar?
Quatro sítios onde a imagem está guardada como texto, com a parte que deve selecionar.
O código-fonte da página guarda a cadeia no atributo src
Abra a página e carregue em Ctrl+U, ou Cmd+Option+U num Mac. Na janela do código procure o fragmentodata:image. Selecione-o juntamente com toda a cadeia que se lhe segue, até às aspas que fecham o atributosrc. Também pode copiar a etiqueta<img>inteira, e o conversor tira dela o endereço.A folha de estilos guarda-a na propriedade background-image
Uma imagem de fundo escreve-se muitas vezes comobackground-image: url("data:image/png;base64,…"). Cole no campo a linha inteira ou apenas o endereço: o conversor tira sozinho o endereço de dentro deurl(…).Uma mensagem de correio contém-na no seu código-fonte
A vista do código-fonte de uma mensagem mostra as imagens embutidas no corpo. Antes delas vem o cabeçalhoContent-Transfer-Encoding: base64, e a cadeia começa depois de uma linha em branco e vem partida a cada 76 caracteres. Copie-a por inteiro, com essas quebras.Uma resposta de API entrega-a como valor de um campo
O JSON transporta apenas texto, por isso os serviços que devolvem uma imagem devolvem-na em Base64, como valor de um único campo. Copie o valor desse campo, com as aspas que o rodeiam ou sem elas.
O que fazer com a imagem depois de descodificada?
O ficheiro transferido é uma imagem comum e entra em qualquer outra ferramenta. Por baixo dos campos está um seletor de formatos com a indicação Base64 para JPG. Um clique em qualquer um dos dois formatos abre uma lista, e a escolha que fizer leva-o à página do conversor desse par.
A imagem recebe novas dimensões
Um ficheiro tirado do código traz as dimensões que alguém escolheu para aquela página. Dá-lhe outras no editor de fotografias Helios, onde corta o enquadramento e indica a largura pretendida.O ficheiro vai para um site
Um PNG tirado de uma folha de estilos costuma pesar mais do que aquilo de que uma página precisa hoje. Um ficheiro mais leve, com a transparência intacta, sai do conversor PNG para WebP.O ficheiro descodificado revelou-se o ícone do site
A extensão.icosignifica que o ficheiro descodificado é o ícone de um site. Os restantes tamanhos do ícone, com as etiquetas prontas a colar no código, vêm do gerador de favicon.O sentido contrário
A sua própria imagem transforma-se numa cadeia pronta a colar no código com o conversor de imagem para Base64. É o mesmo par de ferramentas, ao contrário.
Converter outros ficheiros para JPG
Fontes
- RFC 4648: The Base16, Base32, and Base64 Data Encodings — IETF
- Base64 — Wikipédia
- RFC 2397: The "data" URL scheme — IETF
- Data URLs — MDN Web Docs
- Infra Standard, forgiving base64 decode — WHATWG
Os tamanhos de ficheiro das tabelas foram medidos passando imagens reais por este conversor num navegador e apresentamo-los tal como a ferramenta os conta. O que dizemos sobre ambos os formatos assenta nas fontes indicadas acima.
Última revisão do conteúdo: · escrito e verificado pela equipa Arteon
Perguntas frequentes sobre converter Base64 em imagem
O que fazer quando a cadeia não tem o prefixo data:image/…?
Cole a cadeia sozinha e carregue em Descodificar. O conversor lê os primeiros dezoito bytes dos dados, reconhece por eles o formato e acrescenta ele próprio o prefixo em falta antes de desenhar a pré-visualização.
A cadeia colada chega a algum servidor?
Todo o trabalho acontece no seu navegador. A cadeia fica na memória do separador desde que a cola até fechar a página, e o ficheiro que transfere nasce no seu próprio dispositivo.
Descodificar altera a qualidade da imagem?
O ficheiro descodificado é igual byte a byte ao ficheiro que foi codificado. O Base64 transporta os dados noutra forma e nada lhes retira, por isso a qualidade depende apenas do original.
A cadeia tem hífenes e sublinhados no lugar do mais e da barra. O que fazer?
Esse é o alfabeto destinado a endereços e nomes de ficheiro, descrito na secção 5 do RFC 4648. Cole-a no campo tal como está e carregue em Descodificar. Antes de descodificar, o conversor troca sozinho cada hífen por um sinal de mais e cada sublinhado por uma barra.
Que comprimento de cadeia aceita o navegador?
O Chromium e o Firefox tratam hoje endereços data: até 512 MB, e o Safari até 2048 MB. Uma fotografia de câmara dá, depois de codificada, uma cadeia com menos de dois milhões de caracteres, ou seja, menos de 2 MB de texto, pelo que cabe nesses limites com enorme folga.
Porque é que uma cadeia colada na barra de endereço não mostra a imagem?
Os navegadores bloqueiam a abertura de endereços data: na janela principal, porque assim eram enviadas páginas de phishing. A imagem de um endereço desses vê-se no código que a contém, ou neste conversor.
O conversor abre um endereço escrito com percentagens, sem Base64?
Sim. Um endereço na forma data:image/svg+xml,%3Csvg… cola-se como qualquer outro, e o ficheiro transferido recebe a extensão .svg. As ferramentas de compilação usam essa escrita quando colocam um gráfico vetorial diretamente no código.
Como transformo a minha própria imagem numa cadeia Base64?
Desse sentido trata o conversor de imagem para Base64. Aí adiciona um ficheiro e a ferramenta devolve uma data URI pronta a colar no código.

Ajude-nos a melhorar as nossas ferramentas
Tem uma ideia, encontrou um erro ou quer sugerir algo? Envie-nos uma mensagem.







