Base64 para Imagem

Entrada Base640 Caracteres

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

  1. Cole os dados da imagem codificada em Base64 (com ou sem prefixo Data URL, como data:image/png;base64,iVBORw0KG...)
  2. A ferramenta detecta automaticamente o tipo MIME e decodifica (reconhece no Data URL, ou detecta pelo cabeçalho do conteúdo)
  3. O painel direito exibe em tempo real a pré-visualização da imagem e informações de tamanho de arquivo e dimensões
  4. Clique em "Baixar" para salvar como arquivo de imagem local, ou clique com o botão direito na imagem para "Salvar imagem como"
  5. 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

javascript

Usa 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

python

A 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

java

A 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.

FormatoTipo MIMETipo de compressãoSuporte a transparênciaCenário típico
PNGimage/pngSem perdaÍcones / Capturas / Logo
JPGimage/jpegCom perdaFotos / Paisagens
WebPimage/webpCom/sem perdaRecomendado para Web moderno
GIFimage/gifSem perda (256 cores)✅ (1-bit)Animações curtas / Ícones simples
SVGimage/svg+xmlVetorialLogo / Ícones / Ilustrações
BMPimage/bmpNenhumaOpcionalImagens de sistema Windows
AVIFimage/avifCom/sem perdaFormato de próxima geração
ICOimage/x-iconSem perdaFavicon 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ãoData URLHTTP URL
Número de requisições HTTP01 vez
Reuso de cacheDifícilFácil (CDN / navegador)
TamanhoOriginal + 33%Tamanho original
Tamanho ideal< 10 KBQualquer tamanho
Transmissão comprimidaNão (já codificado)gzip / Brotli
Restrições CSPPossívelGeralmente permitido
Armazenamento em servidorDesnecessárioNecessá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 erroCausa provávelSolução
Falha na decodificação: InvalidCharacterErrorContém espaços, quebras de linha ou caracteres não Base64Use a ferramenta Base64 Clean para pré-processar
Imagem exibida em brancoTipo MIME não corresponde aos dados originaisAlterne para o MIME correto (ex: dados PNG usam image/png)
Imagem exibida incompletaString Base64 truncadaObtenha a string Base64 completa novamente
Erro de PaddingBase64 URL-safe omite paddingUse a ferramenta Base64 Padding para completar =
Estouro de memória do navegadorImagem muito grande (> 50MB)Decodifique em blocos ou use ferramenta de compressão de imagem

Authoritative References