Pular para o conteúdo principal
PulsarKit

Converter SVG para PNG

Converta arquivos SVG para PNG em qualquer escala ou em um tamanho exato em pixels, no seu navegador. Scripts e links externos são removidos antes de o desenho começar.

Solte seus arquivos aqui

.svg · até 10 MB

Como Converter para PNG

  1. 1

    Arraste e solte seus arquivos SVG

    Até 100 arquivos de uma vez. Antes de qualquer outra etapa, cada um é verificado para confirmar que contém marcação SVG de verdade.

  2. 2

    Defina a escala ou o tamanho exato

    Multiplique o tamanho original do desenho por um fator de 0,5 a 10, ou digite a largura exata de que precisa e deixe a altura acompanhar a proporção.

  3. 3

    Baixe os arquivos PNG

    Um arquivo volta como PNG; vários voltam em um ZIP. O cartão do resultado mostra o tamanho em pixels que você realmente obteve.

Escala, não reamostragem

Um SVG não tem pixels: tem instruções para desenhar formas. Por isso, um PNG gerado em 4× não é uma imagem pequena ampliada; cada curva é desenhada de novo no tamanho maior, e as bordas continuam nítidas. Esta ferramenta aproveita isso: antes da renderização, a largura e a altura do elemento raiz são reescritas para o tamanho em pixels que você pediu, e o navegador rasteriza os caminhos vetoriais direto na resolução final, em vez de ampliar em um canvas um bitmap pequeno já pronto. A escala padrão de 2 existe para o caso mais comum: um logo desenhado para uma tela comum que precisa continuar bom em uma tela Retina. O modo de pixels exatos serve para quando uma plataforma exige um número específico, como um ícone de app de 1024×1024 ou uma prévia para redes sociais de 1200×630.

Por que scripts e links externos são removidos

SVG é XML, e XML pode conter mais do que desenhos. Um arquivo de outra pessoa pode trazer um elemento <script>, atributos de evento como onload, um foreignObject com um documento HTML inteiro ou referências a imagens e fontes em outro servidor. Abrir um arquivo desses sem cuidado executaria o código de outra pessoa na sua aba, ou avisaria em silêncio um servidor remoto de que você o abriu, e quando. Aqui, cada arquivo passa primeiro pelo DOMPurify com o perfil SVG e depois por uma segunda passagem nossa, que remove todo href, xlink:href e url() de CSS que não aponte para uma âncora dentro do mesmo arquivo ou para um URI data: incorporado. Fontes e imagens incorporadas como URI data: são mantidas e aparecem normalmente. Tudo o que é removido entra na contagem, então dá para saber por que parte de um desenho saiu em branco.

Transparência e fundo

O PNG aceita canal alfa; por isso, por padrão, as áreas que o seu SVG não pinta ficam transparentes, que é o que você quer para um logo que vai ficar sobre um cabeçalho colorido. Se o destino não lida com transparência, escolha branco ou uma cor personalizada: o fundo é preenchido antes de o desenho ser colocado por cima, em uma única passagem, sem halo nas bordas.

Seu arquivo fica no seu dispositivo

Leitura, limpeza de segurança, renderização e codificação em PNG acontecem dentro desta aba do navegador. Nada é enviado e nada fica guardado. É a etapa de limpeza que torna seguro fazer tudo isso localmente: quando o seu SVG chega à página, ele já não consegue executar código nem acessar a rede.

Perguntas frequentes

Por que meu PNG fica borrado em escala alta?

Não deveria, porque o vetor é renderizado de novo no tamanho final, e não esticado. Se ainda assim ficar sem nitidez, o SVG provavelmente contém um bitmap incorporado (uma imagem em URI data:) em vez de caminhos vetoriais de verdade; esse bitmap tem resolução fixa, e ampliá-lo não acrescenta detalhes. Abra o arquivo de origem em um editor para ver se as formas são caminhos ou uma única imagem incorporada.

O que acontece com os scripts dentro do meu SVG?

Eles são removidos antes da renderização, junto com atributos de evento como onload e onclick e qualquer bloco foreignObject. Nada do arquivo é executado, em momento nenhum. Isso não é opcional nem uma configuração: aqui não existe nenhum caminho no código que renderize um SVG sem limpá-lo antes.

Por que as imagens externas do meu SVG não aparecem?

Qualquer referência a um endereço http://, https:// ou // relativo ao protocolo é removida, porque buscá-lo avisaria aquele servidor de que você abriu o arquivo. Só sobrevivem referências a um id dentro do mesmo documento e URIs data: incorporados. Se você precisa dessas imagens no resultado, incorpore-as primeiro ao SVG como URIs data: e depois converta.

Como obter um tamanho exato em pixels?

Mude o tamanho de saída para “Pixels exatos” e digite a largura. Deixe a altura em 0, e ela é calculada pela proporção do desenho, sem nada ficar achatado; digite uma altura se quiser, de propósito, esticar a imagem até uma caixa fixa. Os dois lados têm limite de 16.384 pixels, que é o máximo de um canvas no navegador.

A transparência é mantida?

Sim, por padrão. As áreas sem pintura saem com alfa 0 no PNG. Escolha branco ou uma cor personalizada em “Fundo” se precisar de um fundo sólido, já que alguns programas antigos e clientes de e-mail mostram as áreas transparentes do PNG em preto.

E se o meu SVG não tiver viewBox?

Nesse caso, os atributos de largura e altura definem o tamanho intrínseco. Se eles também faltarem, vale o padrão da especificação SVG, 300×150, e a escala é aplicada sobre ele. É o mesmo tamanho que um navegador daria ao arquivo, então o resultado corresponde ao que você veria abrindo o SVG diretamente.

Quantos arquivos posso converter de uma vez?

Até 100, com 10 MB cada um e 200 MB no total. Todos usam as mesmas configurações e são renderizados um depois do outro; um arquivo com falha não cancela os demais, e tudo o que deu certo volta em um único ZIP.

O arquivo é enviado para um servidor?

Não. A limpeza e a renderização rodam no seu navegador. Não há upload, nem fila, nem cópia guardada; basta fechar a aba para não sobrar nada.

Guias

Ferramentas relacionadas