Pular para o conteúdo

Qual formato de imagem você deve usar?

Uma única pergunta decide, e quase todo o resto vem dela. A maioria das escolhas ruins acontece porque as pessoas respondem a outra pergunta.

Última revisão:

A pergunta que decide

A imagem é feita de tons contínuos, ou de áreas lisas e bordas nítidas?

Uma foto é tom contínuo: milhões de cores sutilmente diferentes, dois pixels vizinhos nunca exatamente iguais e nenhum limite duro, a não ser nas bordas dos objetos. Uma captura de tela, um logotipo, um gráfico, um diagrama ou um desenho de traço é o contrário: grandes áreas de cor idêntica que se encontram em limites perfeitamente nítidos.

Todo formato de imagem foi feito para um desses casos e é ruim no outro. Formatos com perdas — JPEG, e WebP ou AVIF nos modos com perdas — descartam detalhes que o olho percebe mal, o que funciona muito bem em tons contínuos e cria halos visíveis em volta de cada borda nítida. Formatos sem perdas — PNG, e WebP ou AVIF nos modos sem perdas — comprimem encontrando repetições, o que funciona muito bem em cores lisas e quase nada no ruído de uma foto. Escolher o errado deixa o arquivo feio ou enorme, e normalmente as pessoas só percebem um dos dois.

As respostas curtas

Uma foto que vai para uma pessoa, um e-mail ou um sistema antigo: JPG com qualidade por volta de 85. Abre em qualquer lugar, é pequeno, e a perda é invisível nessa configuração.

Uma captura de tela, logotipo, gráfico ou diagrama: PNG. Cada borda fica exatamente nítida, e as áreas lisas se comprimem a quase nada. Se houver transparência, o PNG também é o único dos dois formatos clássicos que consegue guardá-la.

Qualquer coisa para uma página web que você controla: WebP, ou AVIF se você puder esperar o tempo de codificação. Os dois fazem o trabalho do JPG e do PNG melhor — o WebP tem modos com e sem perdas e aceita transparência nos dois, e o AVIF guarda uma foto com mais ou menos metade do tamanho de um JPEG equivalente.

Um logotipo ou ícone: SVG, se você tiver, porque fica nítido em qualquer tamanho e costuma ser menor que qualquer versão em pixels. Converta para pixels só para os lugares que não leem vetores — favicons, imagens de pré-visualização em redes sociais, e-mail e lojas de aplicativos.

O que cada formato não faz

Os limites são mais úteis que as listas de recursos, porque são eles que pegam as pessoas de surpresa.

JPG não tem transparência. Nenhuma, e nunca vai ter. Converter um PNG com fundo transparente em JPG preenche esse fundo com uma cor sólida — é por isso que um logotipo salvo em JPG chega dentro de uma caixa branca. Ele também perde qualidade toda vez que é salvo, então editar e salvar o mesmo JPG várias vezes o degrada um pouco mais a cada passada.

PNG é péssimo para fotos. Não errado — é sem perdas e fiel —, mas enorme, porque o ruído de uma foto derrota a previsão que ele usa para comprimir. Um PNG de uma foto costuma ter dez vezes o tamanho do JPEG do qual ninguém conseguiria distingui-lo.

WebP tem um limite rígido de 16.383 pixels em qualquer lado, o que é generoso para fotos e restritivo para um panorama, uma captura de tela de página inteira de um site longo ou um mapa digitalizado.

AVIF é lento para codificar. Segundos por foto grande, porque é um quadro estático de compressão de vídeo, e é a busca que ele faz que garante o tamanho pequeno. A decodificação é instantânea, o que é a troca certa para algo codificado uma vez e visto muitas vezes.

Onde fica de verdade a linha da compatibilidade

É aqui que os conselhos costumam estar anos desatualizados, nas duas direções. Todo navegador atual lê WebP e AVIF, e isso há anos — então, para um site, o argumento de compatibilidade contra eles acabou. Servir AVIF com um JPEG de reserva por meio de um elemento picture elimina até essa preocupação.

Fora do navegador, a situação é outra, e é aqui que as pessoas erram na direção oposta. Clientes de e-mail mais antigos, muitos visualizadores de imagem para desktop, uma grande parte dos softwares corporativos e a maioria dos fluxos de impressão ainda não leem WebP ou AVIF de forma confiável. Então a regra depende do destino, não do ano: formatos novos para uma página web que você controla, JPG ou PNG para um arquivo que você vai entregar a uma pessoa ou a um sistema.

Converter não desfaz o estrago

O mal-entendido mais comum sobre formatos de imagem merece ser dito diretamente: converter um arquivo com perdas em um sem perdas não recupera nada. Transformar um JPG em PNG preserva perfeitamente os artefatos do JPEG — os blocos, o chuvisco em volta do texto, a mancha de cor nas bordas saturadas —, porque a essa altura eles já são valores de pixel e não se distinguem do conteúdo da imagem. O PNG fica maior e contém exatamente o mesmo estrago visível.

Mesmo assim, vale a pena fazer isso na hora certa. Converter para PNG antes de uma rodada de edição faz com que cada salvamento seguinte não custe nada, enquanto editar e salvar um JPG o degrada a cada vez. Faça isso no início do trabalho, não depois de quatro rodadas de salvamento.

A mesma lógica vale no sentido contrário. Codificar em AVIF ou WebP a partir de um JPEG faz o novo codificador herdar os artefatos do antigo e gastar bits de verdade para preservá-los — então um arquivo codificado uma vez a partir do original fica menor e melhor que um codificado duas vezes. Sempre comece da melhor versão que você tem.

Perguntas frequentes

Qual configuração de qualidade devo usar no JPG?

Por volta de 85 é o ponto em que a maioria das pessoas deixa de ver diferença, e é onde a curva de tamanho se achata — subir mais custa muitos bytes para quase nada. Abaixo de uns 70, os artefatos ficam visíveis, primeiro em degradês suaves, como o céu.

WebP é com perdas ou sem perdas?

Os dois — são dois formatos que compartilham a mesma extensão, e a configuração de qualidade decide. Qualquer valor abaixo do máximo gera WebP com perdas, que é excelente para fotos e errado para capturas de tela com texto, em que a cor subamostrada cria halos em cada borda nítida. O máximo gera WebP sem perdas.

Por que meu PNG ficou maior que o JPG de onde veio?

Porque o PNG comprime prevendo cada pixel a partir dos vizinhos, e para essa previsão os artefatos do JPEG parecem ruído. Um JPG de folhagem ou de pelos vira um PNG enorme; um JPG de uma captura de tela vira um PNG modesto.

Ainda devo usar GIF para alguma coisa?

Só para animação, e mesmo assim um vídeo curto ou um WebP animado é drasticamente menor e mais fluido. Para imagens estáticas, o GIF é limitado a 256 cores e a um bit de transparência, então as bordas ficam serrilhadas e as cores, aproximadas — um PNG é melhor em todos os aspectos.

Converter entre formatos perde qualidade toda vez?

Toda passada por um codificador com perdas perde, e isso nunca volta. Conversões sem perdas — PNG para WebP sem perdas, BMP para PNG — não perdem. A regra que evita a maioria dos problemas: guarde um original de alta qualidade e gere as cópias de entrega a partir dele, e não umas das outras.