Ir para o conteúdo
OneKitly

Converter entre PNG e JPG sem perder o que importa

Publicado a 23/05/2025 · 13 min de leitura · Ferramentas de imagem e design

Daniel Okonkwo

Daniel OkonkwoProgramador front-end e redator de Tecnologia na OneKitly

Desempenho web · Formatos de ficheiro

Verificado a partir de 6 fontes

Ver perfil
Em resumo

Os dois sentidos custam alguma coisa, e os custos não são simétricos. De PNG para JPG o problema não é a compressão mas o canal alfa: o JPEG não tem nenhum, pelo que toda a transparência é composta sobre uma cor de fundo que o conversor escolhe em silêncio. Num logótipo de 600 × 400 com 84,77 % de píxeis totalmente transparentes, o conversor de sistema da Apple produziu branco e uma tela de navegador produziu preto — mesma entrada, mesmo formato de saída, resultados opostos, e nenhum perguntou. Face a uma composição correta sobre branco, o ficheiro achatado sobre preto errava por 217,60 níveis em média no enquadramento e por 141,04 nas arestas suavizadas, onde um píxel de bordo que devia ler-se azul-claro em 148,171,237 saiu quase preto em 16,39,89. De JPG para PNG a conversão é sem perdas, e é exatamente esse o problema: não recupera nada e conserva os artefactos JPEG existentes num ficheiro muito maior. A nossa fotografia de 1600 × 900 em qualidade 75 pesava 314 890 bytes; convertê-la para PNG deu 1 501 885 bytes, 4,76 vezes mais, idêntica píxel a píxel. Em qualidade 30 a razão chegou a 11,44. Quanto pior o JPEG, mais absurda a conversão. E se a imagem for texto colorido em vez de uma fotografia, nenhum dos sentidos o salva: o JPEG guarda por omissão os seus dois canais de cor a metade da resolução, o que custou à nossa faixa de texto azul seis vezes e meia o erro da faixa preta idêntica.

Os dois sentidos falham de forma oposta. PNG para JPG achata em silêncio a transparência sobre uma cor de fundo que o conversor escolhe — obtivemos branco com uma ferramenta e preto com outra no mesmo ficheiro. JPG para PNG não recupera nada e custou até 11,4 vezes os bytes.

Este não é um artigo sobre escolha de formato

Que formato deve ter uma imagem é outra pergunta, resolvida pelo seu carácter fotográfico ou chapado e pela necessidade de transparência; tratámo-la noutro sítio. Este artigo é sobre o que a conversão em si custa depois de decidido — e os dois sentidos entre PNG e JPG têm cada um uma falha concreta que nada tem a ver com qual era o formato certo.

As duas falhas são opostas, e é por isso que vale a pena aprendê-las juntas. PNG para JPG perde algo que o ficheiro tinha e não lho diz. JPG para PNG não perde nada, e é precisamente por isso que é tantas vezes a coisa errada a fazer.

PNG para JPG: o conversor escolhe a sua cor de fundo

O JPEG guarda três canais e nenhum quarto. O formato não tem onde registar que um píxel é transparente, pelo que o conversor tem de decidir que cor esse píxel se torna — e cada conversor decide de forma diferente, sem perguntar. Testámo-lo com um logótipo de 600 × 400 desenhado sobre transparência: 203 445 dos seus 240 000 píxeis são totalmente transparentes, 34 333 totalmente opacos e 2 222 ficam pelo meio, nas arestas suavizadas das formas.

Dois conversores, mesmo ficheiro, mesmo formato de destino, respostas opostas. A cadeia de imagem do sistema da Apple produziu branco: 95,31 % dos píxeis originalmente transparentes saíram exatamente a 255,255,255, sendo o resto halo JPEG junto às arestas. Uma tela de navegador — o mecanismo por trás de imensos conversores em linha — produziu preto: 94,82 % saíram exatamente a 0,0,0. Nenhum ofereceu escolha, e a diferença é invisível na pré-visualização de um explorador de ficheiros, porque essa pré-visualização assenta habitualmente num fundo claro onde a versão branca parece perfeita e a preta parece uma opção de desenho.

O tamanho do erro cifra-se com facilidade. Compusemos o original corretamente sobre branco — o que um designer teria querido — e comparámos. O JPEG achatado sobre preto difere desse resultado correto em 217,60 níveis em média em todo o enquadramento, porque 84,77 % do enquadramento é agora um retângulo preto em vez de nada. A versão achatada sobre branco difere em 0,32 níveis: no essencial, correta numa página branca. Numa página escura as duas trocam de papéis. A questão não é que o branco seja o correto; é que o conversor tomou uma decisão sobre o seu desenho e não a mencionou.

A orla é pior do que o retângulo

Uma caixa preta ou branca à volta de um logótipo é pelo menos evidente. Os estragos que chegam a produção estão nas margens. Esses 2 222 píxeis parcialmente transparentes são o antisserrilhado que faz curvas e tipografia parecerem suaves, e cada um deles é uma mistura ainda por resolver. Quando o conversor achata sobre a cor errada, misturam-se para essa cor em vez de para a da sua página.

Um píxel do nosso teste mostra-o exatamente. Nas coordenadas 244,59 a origem guarda a cor 28,76,217 — um azul forte — com um alfa de 120, ou seja 47 % de cobertura do píxel. Composto sobre branco, como previsto, deveria valer 148,171,237: um azul pálido e suave que alisa a curva. No JPEG achatado sobre preto vale 16,39,89: quase preto. No conjunto dos 2 222 píxeis de orla, o erro médio face à composição correta é de 141,04 níveis, contra 6,54 da versão achatada sobre branco. Ponha esse logótipo numa página branca: não fica só encaixotado, fica contornado por um halo escuro que nenhum redimensionamento ou reexportação tirará, porque já é o próprio dado de píxel.

JPG para PNG: sem perdas, e por isso inútil

É provavelmente a conversão inútil mais frequente da web, e vem de uma intuição de aparência razoável: o PNG é o formato sem perdas, logo pôr a imagem em PNG deveria protegê-la. E protege — de qualquer perda futura. Nada faz quanto à perda já ocorrida, porque essa perda não está guardada à parte. Os píxeis quantizados, aos blocos e com halo do JPEG são agora a imagem, e o trabalho do PNG é reproduzir exatamente o que lhe é dado.

Medimo-lo num ficheiro real. A fotografia de 1600 × 900 em qualidade 75 pesa 314 890 bytes. Convertida para PNG pesa 1 501 885 bytes — 4,76 vezes mais. Confirmámos que as duas são idênticas descodificando ambas para mapas de bits em bruto: 4 320 054 bytes cada, e o mesmo hash SHA-256. Nem um píxel melhorou; o ficheiro ficou simplesmente cinco vezes mais pesado de servir.

A razão piora à medida que o JPEG piora, e essa é a parte contraintuitiva. Em qualidade 90 a mesma fotografia pesa 426 601 bytes e o seu PNG 1 587 574 — uma penalização de 3,72 ×. Em qualidade 30 o JPEG são apenas 92 816 bytes, mas o PNG continua a ser 1 061 895 — uma penalização de 11,44 ×. A razão: o PNG comprime prevendo cada píxel a partir dos vizinhos, e um JPEG muito comprimido está cheio de arestas de blocos 8 × 8 e de halos que nenhum preditor antecipa. Está a pagar um milhão de bytes para guardar artefactos com precisão. Se uma plataforma exige PNG, dê-lhe PNG; caso contrário, esta conversão é uma fatura sem nada do outro lado.

O detalhe que torna o JPEG inadequado para texto colorido

O JPEG não codifica vermelho, verde e azul. Converte para um canal de brilho e dois canais de diferença de cor, e depois — por omissão — guarda os canais de cor a metade da resolução na horizontal e na vertical. É a subamostragem de croma, um bom compromisso numa fotografia, onde a cor muda devagar. É um mau compromisso onde a cor muda numa aresta dura, que é exatamente o que é o texto colorido.

Desenhámos uma folha de teste de 1000 × 360 com três faixas da mesma frase sobre branco: preto neutro, vermelho saturado, azul saturado. Em qualidade 75 o erro médio da faixa preta é de 0,365 níveis por píxel com um erro de croma exatamente nulo, porque texto cinzento não tem cor a perder. O erro da faixa vermelha é 1,265 com uma componente de croma de 0,862. O da faixa azul é 2,362 com uma componente de croma de 1,783 — seis vezes e meia o erro total da faixa preta, no mesmo ficheiro, com o mesmo ajuste e o mesmo tipo de letra. Contando apenas os píxeis que eram branco puro na origem, 6,8 % ficaram contaminados na faixa preta, 19,1 % na vermelha e 36,1 % na azul.

O que surpreende é que subir a qualidade quase não ajuda. Lemos os fatores de amostragem diretamente dos ficheiros: em qualidade 75 e em qualidade 90 o nosso codificador escreve a mesma disposição subamostrada, e só em qualidade 100 passa a cor em resolução plena. Assim, ir de 75 para 90 fez o ficheiro crescer de 80 122 para 98 578 bytes e melhorou a faixa azul de 2,362 para 2,116 — mais 23 % de bytes para 10 % melhor. A qualidade 100 corrige finalmente, levando a faixa azul a 0,143, com 213 085 bytes. O PNG da mesma página pesa 57 854 bytes e é exato. Quando a imagem é texto colorido, o cursor de qualidade não é o controlo que procura; é o formato.

Penalização, sem ganho de qualidade
O custo de converter um JPEG para PNG, medido na mesma fotografia de 1600 × 900 com quatro ajustes de qualidade — e no ficheiro de câmara de 3840 × 2160 de onde veio
JPEG de origemBytes do JPEGBytes do PNG após a conversãoPenalização, sem ganho de qualidade
1600 × 900 em qualidade 3092 8161 061 89511,44 ×
1600 × 900 em qualidade 50168 5971 290 2447,65 ×
1600 × 900 em qualidade 75314 8901 501 8854,76 ×
1600 × 900 em qualidade 90426 6011 587 5743,72 ×
3840 × 2160, original de qualidade de câmara5 617 70310 590 3901,89 ×
JPG para PNGConverte imagens JPG/JPEG em PNG sem perdas.Experimentar a ferramenta

Perguntas frequentes

Porque é que o meu logótipo ficou com uma caixa branca à volta?
Porque converteu um PNG com transparência para JPG, e o JPEG não tem canal alfa, pelo que o conversor compôs a zona transparente sobre uma cor de fundo escolhida por ele. O nosso escolheu branco numa ferramenta e preto noutra, no ficheiro idêntico. A correção é achatar por si mesmo o desenho sobre a cor da página onde vai ficar antes de converter — ou ficar com o PNG, se a transparência é o essencial.
Converter um JPG para PNG melhora a qualidade?
Não pode. Convertemos um JPEG de qualidade 75 para PNG e descodificámos ambos para mapas de bits em bruto: idênticos byte a byte, mesmo hash SHA-256. A única coisa que mudou foi o tamanho, de 314 890 para 1 501 885 bytes. A conversão é realmente sem perdas, e é esse o ponto — sem perdas significa que copia o que lhe deram, incluindo cada aresta de bloco e cada halo que o JPEG já continha.
Quando é que converter JPG para PNG é mesmo o acertado?
Quando a razão diz respeito ao passo seguinte e não à imagem. Um intermédio sem perdas enquanto edita, para que gravar repetidamente não requantize a imagem de cada vez. Uma ferramenta, gráfica ou plataforma que não aceita outra coisa. Um ficheiro que vai recortar e ao qual acrescentará transparência real, coisa que o JPEG não consegue guardar. Em cada um desses casos o PNG é um ficheiro de trabalho, não um entregável — publique o JPEG, ou melhor um WebP, quando terminar.
Posso subir a qualidade do JPEG para corrigir texto colorido desfocado?
Mal, e não pela razão que esperaria. A desfocagem do texto colorido vem da subamostragem de croma, que a maioria dos codificadores mantém ligada até ao topo da escala de qualidade. Lemos os fatores de amostragem dos nossos próprios ficheiros: as qualidades 75 e 90 usam a mesma cor subamostrada, pelo que subir o ajuste fez o ficheiro crescer 23 % e melhorou a faixa de texto azul apenas 10 %. A qualidade 100 codifica enfim a cor em resolução plena e corrige mesmo — com 213 085 bytes contra 57 854 da mesma página em PNG. Use PNG.
A transparência perdeu-se mesmo ou está apenas escondida?
Perdida mesmo. O JPEG tem três canais e nenhum quarto onde esconder o que quer que seja. Uma vez escrito o ficheiro, um píxel antes transparente é um píxel opaco vulgar da cor que o conversor escolheu, e é indistinguível de um píxel que o designer tenha pintado dessa cor de propósito. Reconverter o JPEG para PNG devolve-lhe um canal alfa, mas totalmente opaco em todo o lado. Guarde o PNG original.

Artigos que podem interessar-lhe

Todos os guias
ComparaçãoJPEG, PNG, WebP ou AVIF: que formato e porquêDuas propriedades decidem o formato — fotográfica ou de tons chapados, e se precisa de alfa ou de animação. Tudo o resto decorre daí. Com os tamanhos medidos das mesmas duas imagens nos quatro formatos.GuiaFavicons: que tamanhos precisa realmente em 2026Cinco ficheiros cobrem todos os consumidores que existem: o separador, o favorito, o mosaico afixado, o ecrã inicial Android e o ecrã inicial iOS. As listas de vinte ficheiros são uma matriz de navegadores morta — com medições do que um ícone de 16 píxeis consegue e não consegue conter.ExplicaçãoLimpar os metadados de uma fotografia: o que sai mesmoUm JPEG pode transportar seis blocos de metadados distintos, não um. Construímos um ficheiro com todos eles — coordenadas, número de série da câmara, miniatura escondida, XMP, IPTC, comentário —, passámo-lo pelo limpador e lemos a saída byte a byte para ver o que sobrevivia.TutorialComo comprimir uma imagem sem perder qualidadeImagens mais pequenas carregam mais depressa e posicionam melhor. Eis como reduzir uma imagem com critério — formato, resolução e nível de compressão — sem perda visível.ComparaçãoWebP vs JPG vs PNG: que formato de imagem usar?JPG, PNG e WebP vencem em casos diferentes. Veja quando usar cada um para o melhor equilíbrio entre qualidade, tamanho e compatibilidade.ExplicaçãoMarca de água: o que protege e o que não protegeUma marca visível vive nos píxeis, por isso sobrevive a toda a cópia — e degrada a imagem para todo o espectador honesto ao mesmo tempo. Medido: quanto custa uma marca de canto, quanto custa uma marca em mosaico, e como cada uma se compara ao crédito nos metadados, às Content Credentials e à marca de água invisível.

Ferramentas relacionadas

Fontes

Detetaste um erro neste artigo?