Otimizador de SVG
Otimiza e minifica ficheiros SVG online com o SVGO, no teu navegador. Escolhe uma predefinição, compara visualmente e vê a poupança, com e sem gzip.
Plugins
Remover o viewBox impede o desenho de se adaptar ao tamanho, e encurtar ou remover IDs estraga as ligações de CSS, JavaScript, <use> ou âncoras que lhes façam referência. Mantém a predefinição Segura para SVG usados em código, sprites ou animações.
- Tamanho original
- Tamanho otimizado
- Poupança
- Com gzip
Como otimizar um SVG
- Larga um ficheiro SVG na zona de largar ou clica nela para escolher um. Também podes colar o código na caixa Código SVG.
- Escolhe uma Predefinição: Segura, Equilibrada (a predefinida) ou Máxima. A lista Plugins mostra exatamente que passos cada predefinição ativa.
- Ajusta se for preciso: a Precisão decimal (de 0 a 8 algarismos), Várias passagens e Formatar (código indentado) se quiseres código legível. Assim que alteras um plugin, a precisão ou as passagens, a predefinição passa a Personalizada.
- Clica em Otimizar SVG. Um ficheiro largado é otimizado de imediato e, depois de haver um resultado, cada alteração das definições volta a executar a otimização automaticamente.
- Confirma os valores Tamanho original, Tamanho otimizado, Poupança e Com gzip e compara os dois desenhos lado a lado.
- Clica em Copiar para copiar o Código SVG otimizado, ou em Transferir SVG otimizado para o guardar como
name.min.svg(com o nome do teu ficheiro).
A otimização é feita pelo SVGO 4, o otimizador de SVG de código aberto (MIT) de referência, usado na maioria das ferramentas de build para a web. A sua versão para navegador é carregada no primeiro clique e corre inteiramente no teu dispositivo: o teu SVG nunca é enviado.
Porque é que os SVG dos programas de design são tão pesados
Um SVG exportado do Illustrator, Inkscape, Figma ou Sketch traz muito mais do que o desenho. Os editores acrescentam os seus próprios namespaces e atributos (nomes de camadas, guias, definições de exportação), um bloco <metadata>, comentários como «Generator: Adobe Illustrator», coordenadas com seis ou mais casas decimais, grupos que contêm um único elemento e cores escritas por extenso como #ffffff. Nada disto muda o que o navegador desenha. O SVGO remove tudo isso, arredonda os números, reescreve os dados dos caminhos com comandos mais curtos, encurta as cores e funde ou desfaz elementos redundantes. Uma redução de 40 a 60 % é comum em ícones e ilustrações exportados.
Predefinições e plugins arriscados
- Segura executa a predefinição padrão do SVGO, mas mantém os IDs, os
<desc>, os caminhos separados e as regras<style>, com 3 casas decimais e uma passagem. Usa-a para SVG referenciados a partir de CSS ou JavaScript, sprites e animações. - Equilibrada é a predefinição padrão do SVGO, com 3 casas decimais e várias passagens. Serve para a maioria dos ícones e ilustrações mostrados como imagens.
- Máxima acrescenta Remover
, Remover scripts e atributos de eventos, Remover width/height (manter viewBox) e Substituir xlink:href por href, com 2 casas decimais e várias passagens.
Nenhuma predefinição remove o viewBox. Remover viewBox existe apenas para casos especiais: sem ele, o desenho deixa de se adaptar ao tamanho que lhe dás em CSS.
Fica a saber o que os outros plugins podem estragar:
- Encurtar e remover IDs não usados muda o nome de IDs como
#icon-homeparaa. Qualquer seletor CSS, consulta JavaScript, referência de sprite<use href="#…">, âncora de página ou animação SMIL/CSS que aponte para o nome antigo deixa de funcionar. - Remover
e Remover apagam o nome e a descrição acessíveis. Mantém-nos em ícones e gráficos com significado que os leitores de ecrã têm de anunciar. - Uma Precisão decimal baixa pode deformar ícones pequenos: as curvas ondulam e os contornos deslocam-se. Verifica sempre a comparação visual; 3 é um valor por omissão seguro.
- Fundir caminhos junta caminhos adjacentes num só, por isso um efeito de hover ou uma animação que visava um único caminho perde o seu alvo.
Dicas
- Guarda uma cópia mestre não otimizada para edição; trata o
.min.svgcomo código compilado. - Ativa o gzip ou o brotli no teu servidor: formatos de texto como o SVG comprimem muito bem, e o valor Com gzip mostra o que os visitantes transferem realmente (aparece quando o teu navegador suporta
CompressionStream). - Um SVG incorporado no HTML pode ser estilizado com CSS e animado, mas não é guardado em cache à parte; um SVG num
<img>é guardado em cache, mas não pode ser estilizado a partir da página.
Perguntas frequentes
O meu SVG é enviado para um servidor?
Não. O SVGO corre no teu navegador. A única transferência é o próprio código do otimizador, da primeira vez que otimizas.
Porque é que a pré-visualização é mostrada como imagens?
O SVG é um formato de documento que pode conter JavaScript e carregar ficheiros externos. As duas pré-visualizações são apresentadas como <img> a partir de URL blob locais e, nesse modo, os navegadores nunca executam scripts nem obtêm recursos externos, por isso pré-visualizar aqui um SVG de origem duvidosa é seguro. O código otimizado continua a conter os scripts que existirem, a menos que Remover scripts e atributos de eventos esteja ativo (está na predefinição Máxima).
O meu SVG otimizado deixou de se adaptar ao tamanho. O que aconteceu?
O viewBox foi provavelmente removido, ou por Remover viewBox ou antes, por outra ferramenta. Volta a otimizar o original com esse plugin desativado.
Porque é que o meu sprite de ícones ou a minha animação deixou de funcionar?
Encurtar e remover IDs não usados ou Fundir caminhos alteraram os elementos a que o teu código faz referência. Usa a predefinição Segura, que mantém ambos.
O ficheiro otimizado não é mais pequeno. Porquê?
O SVG provavelmente já está minificado. Experimenta Máxima ou uma Precisão decimal mais baixa, e desativa Formatar (código indentado).
Ferramentas relacionadas
- SVG para PNG Converte SVG para PNG, JPG ou WebP no teu navegador, com qualquer largura, altura, escala ou DPI e fundo transparente ou de cor. Em lote e ZIP, sem envio.
- Converter imagem em SVG (vetorizar) Converte um logótipo ou desenho PNG ou JPG em caminhos vetoriais SVG no teu navegador. Predefinições, número de cores e filtro de manchas, sem envio.
- Comprimir imagens Comprime imagens JPG, PNG e WebP com um cursor de qualidade, compara os tamanhos antes e depois e processa fotos em lote, sem as enviar.
- Formatador e minificador de CSS Formata CSS desarrumado com uma indentação limpa ou minifica-o com o csso, e vê o tamanho antes e depois. Corre no navegador; nada é enviado.