PNG vs SVG
PNG e SVG são ambos muito usados e escolhidos por razões diferentes. Esta página põe-nos frente a frente nas coisas que decidem entre eles, e liga aos conversores para as duas direcções — todos eles a correr no seu navegador, sem que o ficheiro seja alguma vez enviado.
A resposta curta
Não são duas maneiras de fazer a mesma coisa. Um PNG é uma grelha de pixels de tamanho fixo; um SVG é a descrição de formas sem tamanho nenhum. Para um logótipo, um ícone ou um diagrama — tudo o que é desenhado em vez de fotografado — o SVG é simplesmente a resposta certa, porque o mesmo ficheiro está nítido a dezasseis pixels e num cartaz impresso e normalmente pesa menos do que qualquer PNG do mesmo motivo.
Para uma fotografia, o SVG não é opção em nenhum sentido útil. Não há formas para descrever, e vectorizar uma produz um ficheiro enorme que fica pior do que aquilo de onde veio. O SVG traz ainda uma consideração de segurança que o PNG não tem: é um documento que pode conter scripts, pelo que um SVG de origem desconhecida merece o cuidado que daria a um ficheiro HTML.
Se tem um logótipo como PNG e o quer como SVG, a resposta honesta é normalmente voltar a quem o desenhou. Vectorizar dá-lhe formas que aproximam os pixels, não as formas que o designer de facto desenhou, e a diferença salta à vista no momento em que alguém o amplia ou tenta mudar-lhe a cor.
Lado a lado
| Propriedade | PNG | SVG |
|---|---|---|
| Compressão | Sem perdas | Nenhuma, guardado como está |
| Cor | 8 bits por canal | Formas, não pixels |
| Transparência | Canal alfa completo | Canal alfa completo |
| Animação | Não | Sim |
| Mantém o EXIF | Sim | Não |
| Suporte dos navegadores | Todos os navegadores desde 1997 | Chrome 4, Firefox 3, Safari 3.2 |
| Tamanho de uma fotografia | De 3 a 5 vezes um JPG | Não é um formato para fotografias |
| Publicado | 1996 | 2001 |
Onde diferem de facto
- Comprimem de forma diferente, e é essa a diferença por trás de quase todas as outras: um guarda cada pixel exactamente como o recebeu, o outro descarta detalhe para ser menor e não o consegue repor.
- Só SVG guarda mais do que um fotograma. Converter uma animação para o outro fica com o primeiro fotograma e descarta o resto, em silêncio.
- Guardam a cor de maneiras fundamentalmente diferentes, e é por isso que um lida bem com fotografias e o outro com arte lisa, e por que forçar qualquer um para o terreno do outro corre mal.
- SVG não tem resolução nenhuma: descreve formas em vez de pixels, pelo que fica nítido em qualquer tamanho enquanto o outro tem de escolher um e viver com ele.
- Só PNG leva definições de captura, datas e campos de direitos de autor. Converter para longe dele deixa-os cair sem o dizer.
- O suporte dos navegadores não é igual. PNG é lido em todo o lado, e há anos; o outro ou é mais recente ou, num caso, não é lido por navegadores de todo.
- Separam-nos 5 anos, e boa parte do que os distingue é o que se tinha aprendido pelo meio.
O que costuma correr mal
- Converter uma animação para o formato fixo guarda o primeiro fotograma e descarta o resto, sem avisar. É o erro mais fácil de cometer aqui e o mais fácil de não notar, porque o resultado abre perfeitamente.
- Definições de captura, datas e campos de direitos de autor não sobrevivem à ida para o formato que não tem onde os pôr. Se a atribuição interessa, verifique a saída em vez de a presumir, porque a perda é silenciosa.
Qual escolher
- Escolha PNG quando
- Escolha PNG para fotografias, capturas de ecrã e qualquer imagem captada em vez de desenhada — e onde um ficheiro tenha de ser uma imagem simples sem código lá dentro.
- Escolha SVG quando
- Escolha SVG para logótipos, ícones, diagramas e gráficos, e sobretudo onde a mesma arte tenha de aparecer em tamanhos muito diferentes.
Converter entre os dois
Perguntas frequentes
- Posso converter um PNG num SVG a sério?
- Só vectorizando, que é uma aproximação e não uma conversão. Resulta num logótipo com poucas cores lisas e falha numa fotografia. Se a arte existe algures em vectores — no ficheiro de desenho de onde veio — exportar de lá é a única forma de obter um SVG genuíno.
- Qual é melhor, PNG ou SVG?
- Nenhum, em geral — se um fosse simplesmente melhor, o outro teria desaparecido. São bons em coisas diferentes, e a resposta curta acima diz qual em quê. A pergunta útil é o que o ficheiro tem de fazer a seguir: ser editado, ser publicado, ser aberto por outra pessoa, ou caber dentro de um limite de tamanho.
- Converter entre eles perde alguma coisa?
- Depende da direcção. Converter para um formato que guarda tudo não perde nada mas também não recupera nada; converter para um que descarta detalhe perde um pouco de cada vez. A tabela acima diz qual destes dois faz o quê.
- Posso converter de volta depois?
- O ficheiro converte-se de volta, mas se volta inalterado depende da direcção. Entre dois formatos que guardam tudo, uma ida e volta é sem perdas. Onde um dos dois descarta detalhe, esse detalhe desapareceu e a viagem de regresso não o pode inventar.
- Posso usar os dois?
- Numa página web, muitas vezes sim, e normalmente é a resposta certa: sirva o formato moderno mais pequeno e indique um mais antigo como alternativa, para que cada navegador leve o que entende. Para um ficheiro que entrega a uma pessoa, escolha um — aquele que ela consiga abrir.
- Qual é que o meu software suporta?
- A tabela lado a lado acima diz que navegadores leem cada um, que é a parte que mais varia. O suporte em computador é mais difícil de resumir em geral e costuma andar anos atrás dos navegadores, pelo que se o ficheiro vai para outra pessoa, o mais antigo e mais amplamente lido dos dois é a escolha mais segura.
- Converter entre eles é grátis?
- Sim, sem conta e sem limite de quantos ficheiros converte. Todos os conversores ligados a partir desta página correm no seu navegador: o ficheiro é lido do seu dispositivo, convertido por código a correr nele, e devolvido como transferência.
- O meu ficheiro é enviado?
- Não. Aqui não existe servidor de conversão nenhum para onde o enviar, e não há serviço de terceiros envolvido. Pode confirmá-lo você mesmo: abra as ferramentas de programador do navegador, mude para o painel de Rede sem filtro, e faça uma conversão — nenhum pedido leva o seu ficheiro.