Base64 para Imagem
Colar as imagens à esquerda
Converta códigos Base64 em imagens visualizáveis e faça download online, com suporte a mais de 7 formatos como PNG/JPG/WebP/GIF/SVG. Reconhece automaticamente o prefixo Data URL, com pré-visualização direta no navegador, ideal para debug de APIs e validação de codificação.
Sugestões Relacionadas
O que é Base64 para Imagem?
Base64 para Imagem é o processo inverso da codificação Base64: restaurar uma string codificada em Base64 para os dados binários originais da imagem (formatos como PNG / JPG / WebP / GIF / SVG etc.) e visualizá-la diretamente no navegador ou baixá-la como arquivo local. É uma ferramenta essencial para lidar com imagens retornadas por APIs, recursos inline (Data URL) e anexos de e-mail em Base64.
**Princípio central:** O Base64 codifica dados binários em 64 caracteres ASCII imprimíveis (A-Z, a-z, 0-9, +, /). Converter para imagem significa restaurar essa string ASCII de volta ao fluxo de bytes binários original, que o navegador então interpreta como pixels de imagem com base no tipo MIME especificado (como image/png). O Data URL (como `data:image/png;base64,iVBORw0KGgo...`) é uma combinação de Base64 + prefixo MIME, que a ferramenta reconhece e processa automaticamente.
**Cenários de uso típicos:** ①Debug de API: muitas APIs retornam strings Base64 diretamente para captchas, avatares de usuário e assinaturas eletrônicas, que o frontend precisa restaurar para visualizar; ②Desenvolvimento frontend: pequenos ícones incorporados via Data URL (CSS background-image: url(data:image/png;base64,...)) podem ser colados na ferramenta para ver o resultado real; ③Restaurar anexos de e-mail: anexos codificados em MIME Base64 podem ser decodificados de volta para a imagem original; ④Dados de web scraping: imagens Base64 coletadas podem ser decodificadas e salvas como arquivos locais; ⑤Pré-processamento de OCR: decodifique para identificar o conteúdo da imagem com ferramentas de OCR.
**Formatos de imagem suportados:** A ferramenta suporta todos os tipos MIME de imagem reconhecidos nativamente pelos navegadores: PNG (image/png), JPG/JPEG (image/jpeg), WebP (image/webp), GIF (image/gif), SVG (image/svg+xml), BMP (image/bmp), AVIF (image/avif), ICO (image/x-icon) etc. Cada formato possui diferentes algoritmos de compressão e cenários de uso: PNG sem perda é ideal para ícones e capturas de tela, JPG com perda para fotos, WebP recomendado para navegadores modernos, SVG vetorial para ícones e logos.
**Segurança da decodificação:** Todas as operações de decodificação são realizadas no navegador via JavaScript (baseado em `atob()` + `TextDecoder` ou API `Blob`), e os dados binários da imagem não são enviados para nenhum servidor. Strings Base64 contendo informações sensíveis (como avatares de usuário, capturas internas) podem ser usadas com tranquilidade; todos os dados são apagados automaticamente ao fechar a página.
Casos de uso
- Restaurar dados de imagem Base64 retornados por API em arquivos de imagem visualizáveis e para download
- Verificar se recursos de imagem inline do frontend (formato Data URL) estão codificados corretamente
- Confirmar se o conteúdo Base64 está completo ao debugar APIs de upload de imagem
- Salvar imagens Base64 como arquivos PNG/JPG locais para design ou documentação
- Decodificar anexos de e-mail codificados em Base64 para restaurar imagens
- Restaurar imagens Base64 obtidas por web scraping e salvá-las no disco
- Decodificar Data URL para verificar a renderização real de ícones SVG
- Restaurar imagens Base64 retornadas por interfaces OCR / IA como arquivos locais para visualização
Como Usar
- Cole os dados da imagem codificada em Base64 (com ou sem prefixo Data URL, como data:image/png;base64,iVBORw0KG...)
- A ferramenta detecta automaticamente o tipo MIME e decodifica (reconhece no Data URL, ou detecta pelo cabeçalho do conteúdo)
- O painel direito exibe em tempo real a pré-visualização da imagem e informações de tamanho de arquivo e dimensões
- Clique em "Baixar" para salvar como arquivo de imagem local, ou clique com o botão direito na imagem para "Salvar imagem como"
- Se a decodificação falhar, especifique manualmente o tipo MIME ou use a ferramenta Base64 Clean para pré-processar
Recursos
- Pré-visualização online: a imagem é exibida diretamente no navegador após a decodificação, sem necessidade de baixar para o disco local
- Suporte a múltiplos formatos: suporta mais de 7 tipos MIME de imagem como PNG / JPG / WebP / GIF / SVG / BMP / AVIF
- Reconhecimento automático de Data URL: remove automaticamente o prefixo data:image/png;base64, e extrai o conteúdo Base64 puro para decodificar
- Entrada Base64 pura: suporta strings Base64 puras sem prefixo, com possibilidade de especificar o tipo MIME
- Download de arquivo de imagem: permite salvar a imagem decodificada como arquivo PNG/JPG local com um clique
- Contagem de caracteres em tempo real: exibe em tempo real o número de caracteres de entrada e bytes decodificados, facilitando a avaliação do tamanho da imagem
- Detecção de erros: ao falhar na decodificação, indica a posição específica do erro (caracteres Base64 inválidos, comprimento incorreto, incompatibilidade de MIME)
- Processamento local no navegador sem upload: toda decodificação e pré-visualização são feitas no navegador, sem passar por nenhum servidor
- Totalmente compatível com o inverso: usado em conjunto com a ferramenta "Imagem para Base64", formando um fluxo de trabalho de conversão bidirecional completo
Exemplos de Código
JavaScript: Decodificação nativa do navegador + pré-visualização Blob URL
javascriptUsa as APIs nativas do navegador atob() + TextDecoder + Blob para decodificar Base64 e exibir a imagem no navegador.
// Base64 → Imagem (implementação nativa do navegador)
function base64ToImage(base64String, mimeType = 'image/png') {
// 1. Remove o prefixo Data URL (se houver)
const clean = base64String.replace(/^data:image\/\w+;base64,/, '');
// 2. Decodifica com atob() nativo do navegador para string binária
const binary = atob(clean);
// 3. Converte para Uint8Array
const bytes = new Uint8Array(binary.length);
for (let i = 0; i < binary.length; i++) {
bytes[i] = binary.charCodeAt(i);
}
// 4. Cria Blob URL para pré-visualização na tag <img>
const blob = new Blob([bytes], { type: mimeType });
const url = URL.createObjectURL(blob);
// 5. Define img.src para pré-visualizar
const img = document.createElement('img');
img.src = url;
img.onload = () => {
console.log(`Dimensões da imagem: ${img.width}x${img.height}`);
console.log(`Tamanho do arquivo: ${bytes.byteLength} bytes`);
};
return { img, url, size: bytes.byteLength };
}
// Exemplo de uso:
const result = base64ToImage('iVBORw0KGgoAAAANSUhEUgAAAAUA...');
document.body.appendChild(result.img);
// Libera o Blob URL (evita vazamento de memória)
setTimeout(() => URL.revokeObjectURL(result.url), 60000);Python: Decodificação com biblioteca base64 e salvamento de imagem
pythonA biblioteca padrão base64 do Python decodifica dados Base64 em fluxo binário de imagem, que é então salvo usando PIL/Pillow ou operações de arquivo nativas.
import base64
from pathlib import Path
def base64_to_image(base64_string: str, output_path: str, mime_type: str = 'image/png'):
"""Decodifica uma string Base64 e salva como arquivo de imagem"""
# 1. Remove o prefixo Data URL
if base64_string.startswith('data:image'):
# Formato: data:image/png;base64,iVBORw0...
header, base64_string = base64_string.split(',', 1)
# Extrai MIME automaticamente do header
if 'image/' in header:
mime_type = header.split('data:')[1].split(';')[0]
# 2. Decodifica
image_bytes = base64.b64decode(base64_string)
# 3. Salva no arquivo
output_file = Path(output_path)
output_file.parent.mkdir(parents=True, exist_ok=True)
output_file.write_bytes(image_bytes)
print(f"✅ Salvo: {output_file}")
print(f" Tamanho do arquivo: {len(image_bytes):,} bytes")
print(f" Tipo MIME: {mime_type}")
return output_file
# Exemplo de uso:
# 1. String Base64 obtida da resposta da API
api_base64_response = "iVBORw0KGgoAAAANSUhEUgAA..."
# 2. Decodifica e salva
base64_to_image(api_base64_response, 'output/captcha.png')
# 3. Opcional: processamento adicional com PIL
try:
from PIL import Image
img = Image.open('output/captcha.png')
print(f"Dimensões da imagem: {img.size}")
img.save('output/captcha.png', optimize=True)
except ImportError:
print('Instale Pillow para processar imagens: pip install Pillow')Java: Decodificação de imagem com java.util.Base64 + ImageIO
javaA biblioteca padrão Base64 do Java decodifica o fluxo binário da imagem, trabalhando com ImageIO / BufferedImage para processar metadados da imagem.
import java.io.*;
import java.util.Base64;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
public class Base64ToImage {
public static void main(String[] args) throws Exception {
String base64String = "iVBORw0KGgoAAAANSUhEUgAA...";
String mimeType = "image/png";
// 1. Remove o prefixo Data URL (se houver)
if (base64String.startsWith("data:image")) {
int commaIdx = base64String.indexOf(',');
String header = base64String.substring(0, commaIdx);
base64String = base64String.substring(commaIdx + 1);
// Extrai MIME do header
if (header.contains("image/")) {
mimeType = header.substring(header.indexOf("data:") + 5, header.indexOf(";"));
}
}
// 2. Decodificação Base64
byte[] imageBytes = Base64.getDecoder().decode(base64String);
// 3. Salva no arquivo
String extension = mimeType.substring("image/".length());
File outputFile = new File("output." + extension);
try (FileOutputStream fos = new FileOutputStream(outputFile)) {
fos.write(imageBytes);
}
System.out.println("✅ Salvo: " + outputFile.getAbsolutePath());
System.out.println(" Tamanho do arquivo: " + imageBytes.length + " bytes");
// 4. (Opcional) Lê metadados da imagem
ByteArrayInputStream bais = new ByteArrayInputStream(imageBytes);
BufferedImage image = ImageIO.read(bais);
if (image != null) {
System.out.println("Dimensões da imagem: " + image.getWidth() + "x" + image.getHeight());
}
}
}Perguntas frequentes
Quais formatos de imagem são suportados?
Suporta todos os tipos MIME de imagem reconhecidos nativamente pelos navegadores: PNG, JPG, WebP, GIF, SVG, BMP, AVIF, ICO etc. A ferramenta determina automaticamente com base no prefixo MIME no Data URL ou nas características da entrada, e o tipo MIME também pode ser especificado manualmente na interface. Selecionar o formato correto garante que o navegador decodifique e exiba adequadamente.
A entrada precisa do prefixo data:image/png;base64?
Não é necessário. A ferramenta suporta dois formatos de entrada: ①String Base64 pura (como iVBORw0KGgoAA...), sendo necessário selecionar o tipo MIME na interface (como PNG / JPG); ②Formato Data URL (como data:image/png;base64,iVBORw0KGgo...), onde a ferramenta reconhece automaticamente o tipo MIME no prefixo e decodifica. Ambos os métodos de entrada são suportados.
Posso pré-visualizar diretamente no navegador?
Sim. A imagem decodificada é exibida diretamente no navegador via Blob URL, com suporte a pré-visualização online. Após confirmar que o conteúdo está correto, baixe como arquivo local ou copie o Data URL para incorporar em HTML/CSS. Todo o processo de pré-visualização não requer requisições de rede.
Qual a diferença para a ferramenta Base64 para Arquivo?
O Base64 para Imagem é otimizado especificamente para formatos de imagem: ①Reconhece automaticamente o tipo MIME; ②Pré-visualiza diretamente no navegador via Blob URL; ③Define automaticamente a extensão do arquivo com base no MIME (.png / .jpg etc.); ④Exibe informações de dimensões da imagem. O Base64 para Arquivo é uma ferramenta genérica, adequada para restaurar e baixar qualquer arquivo binário (como PDF, ZIP, áudio etc.).
O que fazer se a imagem aparecer incompleta após a decodificação?
Possíveis causas: ①A string Base64 foi truncada (verifique se o comprimento está completo); ②O tipo MIME foi especificado incorretamente (como decodificar dados PNG como JPG); ③Os dados originais já estão corrompidos. Recomendações: ①Confirme se o Base64 de origem está completo; ②Tente alternar entre diferentes tipos MIME; ③Use a ferramenta Base64 Validate para verificar a validade.
Quanto o Base64 aumenta em relação à imagem original?
A codificação Base64 aumenta o volume de dados binários originais em aproximadamente 33% (3 bytes → 4 caracteres). Por exemplo, um PNG de 100KB resulta em aproximadamente 133KB de string Base64 após a codificação. Portanto, o Base64 é adequado para imagens pequenas (< 10KB); para imagens grandes, recomenda-se usar HTTP URL para transferência direta.
Suporta imagens vetoriais SVG?
Sim. SVG é um formato de vetor baseado em XML que pode ser incorporado diretamente em <img> do HTML ou background-image do CSS após codificação Base64. Após a decodificação, é renderizado de forma vetorial no navegador, podendo ser dimensionado sem perda de qualidade. Observe que SVG pode conter código JavaScript; cuidado com segurança XSS ao usar.
Como salvar em um formato específico?
Clique no botão de download após a decodificação; a ferramenta adicionará automaticamente a extensão correspondente com base no tipo MIME da decodificação (image/png → .png, image/jpeg → .jpg). Se precisar converter formato (como PNG → JPG), recomenda-se decodificar primeiro e depois usar outras ferramentas (como Canvas / ImageMagick) para converter.
A imagem está em branco ou corrompida após a decodificação?
Causas comuns: ①O Base64 contém quebras de linha ou espaços não removidos — use primeiro a ferramenta Base64 Clean para pré-processar; ②Falta de padding (=) — esta ferramenta preenche automaticamente; ③O tipo MIME não corresponde aos dados originais — verifique o Content-Type retornado pela API de origem ou tente outros MIME manualmente; ④O Base64 de origem foi truncado durante a transmissão — obtenha a string completa novamente.
Suporta imagens grandes (>10MB)?
Suporta, mas o desempenho de renderização do navegador diminui para imagens muito grandes. A decodificação de 10MB de Base64 (aproximadamente 7,5MB de imagem original) costuma ser fluida; acima de 50MB podem ocorrer avisos de memória. Recomendações: ①Primeiro use base64-clean para remover espaços em branco; ②Decodifique imagens grandes em blocos; ③Certifique-se de que o navegador tenha memória suficiente (recomendado 4GB+).
Solução de Problemas
Imagem em branco após a decodificação
Possível incompatibilidade de tipo MIME ou Base64 incompleto. Verifique: 1) Cabeçalho Content-Type retornado pela API de origem; 2) Altere manualmente o tipo MIME e tente novamente; 3) Confirme se a string Base64 está completa (comprimento conforme esperado).
Falha na decodificação InvalidCharacterError
A string Base64 contém caracteres inválidos (espaços, quebras de linha, caracteres chineses etc.). Primeiro use a ferramenta Base64 Clean para remover todos os espaços em branco e caracteres inválidos, depois converta novamente.
Extensão do arquivo baixado incorreta
Verifique se o tipo MIME durante a decodificação corresponde à imagem original. Por exemplo, se a API retorna image/jpeg mas os dados Base64 são na verdade PNG, a extensão após download será .jpg mas o formato real é PNG. Recomenda-se confirmar o formato original pelo prefixo MIME ou cabeçalho Content-Type.
Navegador trava ao decodificar imagens grandes
Strings Base64 acima de 50MB podem causar estouro de memória. Recomendações: ①Primeiro use a ferramenta base64-clean para remover caracteres de espaço em branco; ②Decodifique imagens grandes em lotes (como dividir por tiles); ③Certifique-se de que o navegador tenha memória suficiente (recomendado 4GB+ de memória disponível); ④Use scripts Node.js / Python no lado do servidor para processar imagens muito grandes.
Imagem SVG não é exibida após a decodificação
SVG é um formato vetorial baseado em XML; após a decodificação, certifique-se de que: 1) O tipo MIME usa image/svg+xml; 2) O SVG não contém caracteres especiais não escapados; 3) Alguns navegadores têm restrições de segurança para código JavaScript em SVG. Recomenda-se primeiro validar a legitimidade do SVG com uma ferramenta de análise XML.
Glossário
- Base64
- Método de codificação que representa dados binários usando 64 caracteres ASCII, definido na RFC 4648. O inverso desta ferramenta: restaurar a string Base64 para o binário original da imagem.
- Data URL
- Formato de URL inline definido na RFC 2397: data:image/<MIME>;base64,<dados>. Pode ser usado diretamente em img src do HTML e background-image do CSS. Esta ferramenta reconhece e remove o prefixo automaticamente.
- Tipo MIME
- Tipo de mídia da Internet, como image/png, image/jpeg. O navegador decide como interpretar o fluxo de bytes como imagem com base no MIME.
- PNG
- Formato de bitmap sem compressão com perda, suporta canal alfa (transparência). Comumente usado para ícones, capturas de tela e imagens que preservam detalhes. Após Base64, o tamanho é aproximadamente 1,33 vezes o original.
- JPG/JPEG
- Formato de bitmap com compressão com perda, ideal para fotos. Alta taxa de compressão mas não suporta transparência. Após Base64, o tamanho é aproximadamente 1,33 vezes o original.
- WebP
- Formato de imagem moderno desenvolvido pelo Google, suporta compressão com/sem perda e canal alfa. É 25-35% menor que PNG/JPG.
- Blob (Binary Large Object)
- Objeto binário nativo do navegador, pode encapsular o fluxo de bytes decodificado do Base64 em um Blob URL de imagem para pré-visualização e download.
Tabela de comparação de 8 formatos de imagem
Diferentes formatos de imagem possuem diferentes algoritmos de compressão, características e cenários de uso.
| Formato | Tipo MIME | Tipo de compressão | Suporte a transparência | Cenário típico |
|---|---|---|---|---|
PNG | image/png | Sem perda | ✅ | Ícones / Capturas / Logo |
JPG | image/jpeg | Com perda | ❌ | Fotos / Paisagens |
WebP | image/webp | Com/sem perda | ✅ | Recomendado para Web moderno |
GIF | image/gif | Sem perda (256 cores) | ✅ (1-bit) | Animações curtas / Ícones simples |
SVG | image/svg+xml | Vetorial | ✅ | Logo / Ícones / Ilustrações |
BMP | image/bmp | Nenhuma | Opcional | Imagens de sistema Windows |
AVIF | image/avif | Com/sem perda | ✅ | Formato de próxima geração |
ICO | image/x-icon | Sem perda | ✅ | Favicon de sites |
Comparação de carregamento de imagem: Data URL vs HTTP URL
A imagem decodificada pode ser incorporada diretamente em HTML/CSS como Data URL, em comparação com o HTTP URL tradicional.
| Dimensão | Data URL | HTTP URL |
|---|---|---|
| Número de requisições HTTP | 0 | 1 vez |
| Reuso de cache | Difícil | Fácil (CDN / navegador) |
| Tamanho | Original + 33% | Tamanho original |
| Tamanho ideal | < 10 KB | Qualquer tamanho |
| Transmissão comprimida | Não (já codificado) | gzip / Brotli |
| Restrições CSP | Possível | Geralmente permitido |
| Armazenamento em servidor | Desnecessário | Necessário |
| Acesso offline | ✅ (nível de arquivo) | ❌ (requer cache) |
Tabela de 5 erros comuns de Base64 para Imagem
Ao encontrar erros de decodificação, localize o problema rapidamente pela tabela abaixo.
| Sintoma do erro | Causa provável | Solução |
|---|---|---|
| Falha na decodificação: InvalidCharacterError | Contém espaços, quebras de linha ou caracteres não Base64 | Use a ferramenta Base64 Clean para pré-processar |
| Imagem exibida em branco | Tipo MIME não corresponde aos dados originais | Alterne para o MIME correto (ex: dados PNG usam image/png) |
| Imagem exibida incompleta | String Base64 truncada | Obtenha a string Base64 completa novamente |
| Erro de Padding | Base64 URL-safe omite padding | Use a ferramenta Base64 Padding para completar = |
| Estouro de memória do navegador | Imagem muito grande (> 50MB) | Decodifique em blocos ou use ferramenta de compressão de imagem |
Authoritative References
- Comparação Segura de Strings
- Conversão Binária
- Cifra de César
- Código Morse
- Codificação/Decodificação Hexadecimal
- Vídeo para Base64
- Base64 para Vídeo
- Imagem para Base64
- Base64 para Imagem
- Texto para Base64
- Base64 para Texto
- Verificador de hash de arquivo
- Arquivo para Base64
- Base64 para Arquivo
- Áudio para Base64
- Base64 para Áudio
- Criptografar e descriptografar AES
- Criptografia DES
- Codificador e Decodificador Base32
- Codificar e decodificar Base58
- Codificação Base64
- Decodificação Base64
- Comparação Base64
- Dividir Base64
- Mesclar Base64 em várias linhas
- Formatação Base64
- Verificação de Formato Base64
- Codificação Base64 em lote
- Decodificação Base64 em Lote
- Limpeza de Base64
- Preenchimento Base64
- Estatísticas Base64
- Base64 para Hexadecimal
- Conversor Base64 DataURL
- Conversor Base64-Hex
- Codificador Base85
- Gerador e Verificador HMAC
- Derivação de Chave PBKDF2
- Hash MD5
- Hash SHA-256
- Hash SHA1
- Hash SHA512
- Ferramenta JWT
- Codificação e Decodificação HTML
- Escape Unicode
- Codificação URL
- Base64 URL Safe
- MIME Base64
- Ofuscador Java
- Ofuscador JS
- Ofuscador PHP
- Ofuscação Python