Um SVG não tem pixels, então isso é renderização, não conversão
Todos os outros conversores deste site trabalham com pixels que já existem. Este faz algo diferente, e essa diferença é o motivo pelo qual vale a pena ler esta página. Um SVG não contém nenhuma imagem em si. Ele armazena instruções: desenhe um círculo aqui, preencha este caminho com aquele gradiente, coloque texto nestas coordenadas. Transformá-lo em um PNG significa executar essas instruções no tamanho que você escolher. Nada é esticado e nada é adivinhado, pois não existe uma grade de pixels original para esticar ou deduzir.
Por que você provavelmente precisa do PNG
O formato é excelente, mas quase nada o aceita. Clientes de e-mail não exibem SVG. O Office dificulta quando você tenta inserir um. Redes sociais e a maioria dos formulários de upload rejeitam diretamente, e softwares fora do mundo do design tendem a tratá-lo como um arquivo de texto, porque tecnicamente é isso mesmo. PNG é a versão que todos aceitam.
Grande não custa nada aqui
Ampliar uma fotografia inventa pixels que nunca foram capturados, por isso ela fica borrada em 2x e vira uma massa em 10x. Renderizar um vetor não tem esse limite. Um ícone de 24 pixels renderizado em 1024 pixels não é um ícone de 24 pixels ampliado; é o mesmo desenho executado novamente em 1024, com cada curva e borda calculada para esse tamanho. Testamos exatamente isso: um ícone de 24 por 24 voltou em 1024 por 1024 com as cores idênticas aos valores originais, byte por byte, e bordas suaves com antialiasing em vez de degraus.
A dica prática é essa. Renderize no maior tamanho que você realmente vai usar, não no menor, porque o PNG que você recebe é uma grade fixa a partir daí. Fazer maior só custa alguns milissegundos.
Você escolhe o tamanho, ou o arquivo escolhe
Digite uma largura e o desenho será ajustado a ela mantendo as proporções. Peça para um logo 2:1 em 400 por 400 e você recebe um 400 por 200 nítido, nunca um quadrado achatado. Existem predefinições de um clique em 256, 512, 1024 e 2048, e uma opção Original que renderiza no tamanho que o próprio SVG declara. Em um arquivo que declara 200 por 100, Original retorna exatamente 200 por 100. O limite é de 16.384 pixels por lado e 64 megapixels no total, o que cobre uma renderização de 8000 por 8000.
Transparência, inclusive parcial
PNG possui um canal alfa real, então um logo com fundo transparente volta com fundo transparente, pronto para ser usado em slides ou páginas de produto sem uma caixa branca ao redor. O que separa um bom renderizador de um descuidado é a transparência parcial: sombras suaves, bordas esmaecidas, qualquer coisa com opacidade reduzida. Em uma forma declarada com 50 por cento de opacidade, a saída apresentou valor alfa de 128, que é exatamente metade. Toda renderização voltou como uma imagem RGBA verdadeira. Se preferir achatar a transparência, basta trocar o fundo para uma cor sólida e escolher o tom exato no seletor de cores.
Texto e gradientes, os dois pontos que geralmente falham
A renderização de SVG no servidor falha em dois pontos previsíveis. Fontes somem, então o texto desaparece ou aparece com a fonte errada. E gradientes definidos uma vez e referenciados por id não são resolvidos, então as formas voltam chapadas ou pretas. Conferimos ambos. O texto foi renderizado com bordas limpas e suavizadas, e um gradiente linear referenciado com url() apareceu corretamente de uma cor à outra. Se um arquivo pedir uma fonte que o servidor não tem, uma substituta é usada e o resultado avisa, em vez de deixar você perceber depois.
Enviar o SVG de outra pessoa é seguro aqui
Um SVG pode legalmente conter JavaScript e apontar para recursos externos na internet. Por isso provedores de e-mail bloqueiam o formato, e é um motivo real para ter cuidado com arquivos enviados por desconhecidos. A renderização aqui é feita por um motor vetorial dedicado, não por um navegador: scripts nunca são executados e referências externas nunca são buscadas. Nada dentro do arquivo pode rodar, se conectar ou ler qualquer coisa. O que você recebe de volta é o estado estático real do desenho, e por isso animações são renderizadas apenas no primeiro quadro, sem movimento.
Rápido e reproduzível
O clássico tigre do Ghostscript, 94,5 KB de caminhos bézier densos e o teste de tortura usual para renderizadores de SVG, foi renderizado em um PNG de 512 pixels em 53 milissegundos. Renderizar o mesmo arquivo duas vezes gera saídas idênticas byte a byte, então o resultado pode ser reproduzido exatamente, não aproximadamente. Arquivos comprimidos .svgz são lidos diretamente, e o formato é detectado pelos próprios bytes do arquivo, então um arquivo renomeado ou sem extensão ainda é renderizado.
Um conjunto de ícones de uma vez só
Vários arquivos são renderizados com as mesmas configurações e retornam em um único ZIP com seus nomes originais. Três arquivos diferentes chamados icon.svg voltam como icon.png, icon_1.png e icon_2.png, em vez de dois deles sumirem silenciosamente. Um arquivo danificado ou que não seja SVG no lote é ignorado e listado no resultado, em vez de travar todo o resto.
O que você recebe
- Um PNG renderizado no tamanho escolhido, não uma cópia ampliada de um pequeno
- Proporções travadas, então nada volta esticado ou achatado
- Alfa completo, incluindo formas semitransparentes e sombras suaves, ou qualquer cor de fundo que você escolher
- Texto e gradientes renderizados em vez de descartados, com substituições de fonte informadas
- Nenhum script executado e nenhuma referência externa buscada, então um SVG desconhecido é seguro para enviar
- Sem conta, sem marca d'água, e arquivos excluídos do servidor após uma hora
E agora?
Uma renderização de 4000 pixels é um arquivo grande, então Comprimir PNG costuma ser o próximo passo antes de usá-lo em uma página, e PNG para WebP leva ainda mais longe para a web. Se você também vai manter o vetor, Comprimir SVG remove o lixo do editor antes.