Como usar
- Cole o texto Base64 ou o URI data:image/jpeg;base64 na caixa de entrada.
- Confirme a prévia, o formato detectado e as dimensões da imagem.
- JPG já vem selecionado. Ajuste o controle Qualidade: valores mais altos preservam mais detalhes, valores mais baixos geram um arquivo menor.
- Baixe o arquivo .jpg. Para manter um JPEG existente exatamente como está, escolha Original.
Como é um JPEG em Base64
Todo arquivo JPEG começa com os bytes FF D8 FF, então o Base64 dele sempre começa com /9j/. Os caracteres seguintes dão pistas sobre a origem do arquivo: /9j/4AAQSkZJRg é uma imagem JFIF simples, enquanto /9j/4Q geralmente indica um cabeçalho Exif gravado por uma câmera ou um celular. Você encontra JPEGs em Base64 em uploads de aplicativos móveis, envios de formulários, exportações de CMS, anexos de e-mail e campos de foto em APIs REST.
JPG e JPEG são o mesmo formato; a extensão mais curta vem do MS-DOS, em que as extensões de arquivo eram limitadas a três caracteres. O tipo MIME correto é image/jpeg. A ferramenta lê os próprios bytes, então um data URI rotulado como image/jpg ou image/png ainda é decodificado corretamente.
Qualidade, transparência e metadados
O JPEG é um formato com perdas, e cada nova codificação descarta um pouco mais de detalhe. Quando a entrada já é um JPEG e você só precisa do arquivo, escolha Original para salvá-lo sem uma segunda rodada de compressão. Use a opção JPG quando quiser converter um PNG, WebP ou outro formato, ou para reduzir uma foto grande. Uma qualidade entre 80 e 90 por cento é um equilíbrio comum entre tamanho e nitidez.
- Transparência. O JPEG não tem canal alfa, então as áreas transparentes são preenchidas com branco. Para manter a transparência, use PNG ou WebP.
- Metadados. A conversão redesenha apenas os pixels, então dados Exif como o modelo da câmera ou a localização GPS não são transferidos. Original mantém o arquivo, metadados incluídos.
Decodificar um JPEG em Base64 no Node.js
const fs = require('fs');
// remove o prefixo de data URI, se houver
const b64 = input.replace(/^data:[^,]+,/, '');
fs.writeFileSync('photo.jpg', Buffer.from(b64, 'base64'));
Para o caminho inverso, JPG para Base64 transforma uma foto em uma string ou data URI.
Perguntas frequentes
JPG é o mesmo que JPEG?
image/jpeg. Renomeie o arquivo à vontade se um programa esperar uma ou outra.Por que o fundo transparente ficou branco?
O JPEG não consegue armazenar transparência, então o conversor preenche os pixels transparentes com branco antes de codificar. Escolha PNG ou WebP para manter o fundo transparente.
Como evitar perda de qualidade?
Se os dados Base64 já forem um JPEG, baixe como Original para obter exatamente os mesmos bytes. Recodificar como JPG, mesmo em alta qualidade, sempre causa alguma perda.
A foto mantém os dados Exif?
Só com Original. Um JPG convertido contém apenas os pixels, o que também é uma forma simples de remover dados de localização antes de compartilhar uma foto.