Ir para o conteúdo

JFIF é um JPEG: o que a extensão .jfif muda

A extensão esquisita é a única coisa esquisita aqui. Um arquivo .jfif guarda um JPEG comum, e todo programa que lê JPEG o lê — converter para PNG não deixa a imagem mais nítida, porque não sobra nada para acentuar.

JFIF significa JPEG File Interchange Format, e é uma especificação do início dos anos 1990 que descreve como embrulhar um fluxo de dados JPEG para que programas diferentes concordem sobre o significado dos pixels. O embrulho é um pequeno bloco marcador — o marcador APP0 — na frente do arquivo, registrando a proporção de pixels e, às vezes, uma miniatura. Tudo depois dele é JPEG puro.

De onde vem a extensão

A extensão .jfif é um hábito da era do Windows. Algumas câmeras, alguns celulares e alguns programas do Windows salvam JPEGs com ela, e alguns deles não mostram miniatura para o mesmo arquivo se você o renomear para .jpg. Os bytes não mudam; só o nome. É por isso que um navegador abre um arquivo .jfif perfeitamente bem se você o arrastar para uma aba, e por que sistemas operacionais que dependem da extensão ficam confusos.

O que o bloco marcador realmente carrega

MarcadorO que ele guarda
APP0 (JFIF)Versão, a unidade de densidade (dpi ou pontos por cm) e a proporção de pixels.
APP0 (outro)Um bloco específico do fabricante — algumas câmeras escrevem o seu próprio aqui.
APP1 (Exif)Metadados da câmera: exposição, data, orientação e, às vezes, GPS.
Tudo depoisO fluxo de dados JPEG: tabelas de quantização, tabelas de Huffman e a imagem comprimida.

Esta ferramenta não precisa ler esse bloco para converter o arquivo. .jfif fica na mesma lista de aceitação que .jpg e .jpeg, então o conversor trata todas as quatro extensões como um único formato. O único lugar em que o marcador é examinado é o visualizador de metadados, que o lê e relata algo como JFIF 1.02, 72 dpi — e que mantém o marcador quando remove outros metadados, porque o bloco JFIF descreve como interpretar os pixels.

O que a conversão para PNG pode e não pode fazer

Um JPEG tem perdas: parte do detalhe foi descartada quando ele foi salvo, e não está guardada em nenhum outro lugar. Decodificar o arquivo devolve exatamente os pixels que sobreviveram. Gravar esses pixels num PNG os armazena sem novas perdas — então o PNG fica igual ao JPEG e, muitas vezes, várias vezes maior, porque o PNG se recusa a suavizar qualquer coisa em nome do tamanho.

Esse último ponto é o verdadeiro motivo para converter. Se você está prestes a editar um JPEG, trabalhe num PNG; se só precisa armazená-lo, o JPEG já é menor.

Os limites

A versão curta

Perguntas

Converter um JFIF para PNG deixa a imagem mais nítida?

Não. A nitidez foi decidida quando o JPEG foi gravado, e a decodificação não consegue inventar um detalhe que foi descartado. O PNG armazena o resultado decodificado fielmente — não desfaz a primeira compressão.

Um arquivo .jfif é só um .jpg renomeado?

Na prática, sim. É um fluxo de dados JPEG com um bloco de cabeçalho JFIF na frente e uma extensão que alguns softwares preferem. Navegadores e editores o leem como JPEG; só a extensão é incomum.

Por que o PNG é muito maior que o JFIF?

Porque o JPEG comprime com perdas e o PNG não. O PNG guarda os mesmos pixels sem nenhuma compressão adicional, então uma fotografia salva como PNG costuma ser várias vezes maior.

Ferramentas deste artigo

Todos os artigos