Otimizador de SVG

Limpe o código do seu SVG e reduza o tamanho do ficheiro sem alterar o elemento gráfico.

Cole o código SVG e depois clique em otimizar.

O seu código SVG é otimizado diretamente no seu navegador. Nada é enviado para o BroBroGo.

Perguntas Frequentes

O que é removido durante a otimização?

Ele remove comentários, metadados, namespaces de editores, espaçamentos extras de atributos, namespaces não utilizados e simplifica cores para formatos equivalentes mais curtos. A viewBox, os IDs, os rótulos e a geometria são mantidos intactos.

A ferramenta consegue otimizar qualquer ficheiro SVG?

Ele processa códigos SVG inline normais. Ficheiros SVG com declarações de tipo de documento (DOCTYPE) ou entidades personalizadas são bloqueados porque podem tornar a análise insegura. Remova essas declarações e tente novamente.

A otimização altera a aparência do gráfico?

O otimizador evita reescrever caminhos (paths), renomear IDs, remover a viewBox e arredondar excessivamente a precisão numérica. Se o seu SVG depende de comentários ou metadados para o seu fluxo de design, guarde uma cópia do original.

Funcionamento do Otimizador de SVG

O Otimizador de SVG é uma ferramenta concebida para limpar e reduzir o tamanho do código de ficheiros SVG sem alterar a aparência visual do elemento gráfico. O processo consiste em colar o código SVG diretamente na área de entrada, onde a ferramenta analisa a estrutura XML e remove componentes redundantes ou desnecessários que acumulam bytes inúteis. Após o processamento, o utilizador obtém uma comparação detalhada do tamanho do ficheiro e pode copiar ou descarregar o código resultante.

Todo o processamento é executado localmente. O seu código SVG é otimizado diretamente no seu navegador e nada é enviado para o BroBroGo.

O Impacto do Tamanho do SVG no Desempenho Web

Os ficheiros SVG (Scalable Vector Graphics) são baseados em XML, o que significa que são compostos por texto legível que descreve formas, caminhos, cores e coordenadas. Em projetos de desenvolvimento web moderno, a utilização de gráficos vetoriais inline é uma prática comum para ícones e ilustrações devido à sua capacidade de escala infinita sem perda de definição.

No entanto, os programas de design gráfico exportam frequentemente metadados adicionais, comentários e estruturas redundantes que aumentam o peso do ficheiro. Reduzir o tamanho destes ficheiros tem um impacto direto na velocidade de carregamento das páginas web. Menos bytes transferidos resultam numa renderização mais rápida do Document Object Model (DOM), melhorando a experiência do utilizador e os indicadores de desempenho técnico do sítio web.

Elementos Removidos vs. Elementos Preservados

A otimização realizada por esta ferramenta segue regras estritas de segurança para garantir que o ficheiro resultante não perde integridade visual ou funcional.

O que é removido durante a otimização:

  • Comentários e metadados: Notas de desenvolvimento e informações de criação geradas por software de terceiros.
  • Namespaces de editores: Prefixos e referências XML proprietárias de ferramentas de design (como Inkscape ou Adobe Illustrator) que não têm utilidade para os navegadores web.
  • Espaçamentos extras de atributos: Espaços em branco redundantes dentro das tags XML.
  • Namespaces não utilizados: Declarações de esquemas XML que não estão a ser invocadas no documento.
  • Cores equivalentes mais curtas: Conversão de códigos de cores para as suas representações hexadecimais ou textuais mais curtas (por exemplo, convertendo #ffffff para #fff ou nomes de cores equivalentes).

O que é mantido intacto:

  • viewBox: O atributo essencial que define a proporção e a área de exibição do SVG.
  • IDs e rótulos: Identificadores de elementos que podem ser necessários para estilização CSS ou manipulação via JavaScript.
  • Geometria: As coordenadas exatas das formas.
  • Caminhos (paths) e precisão: O otimizador evita reescrever caminhos (paths), renomear IDs, remover a viewBox e arredondar excessivamente a precisão numérica, prevenindo distorções visuais.

Regras de Validação e Mensagens de Erro

Para garantir a estabilidade do navegador e a segurança do sistema, a ferramenta aplica validações rigorosas ao código introduzido:

  • Entrada vazia: Se tentar otimizar sem introduzir dados, a ferramenta exibe a mensagem "Cole o código SVG primeiro.".
  • Estrutura inválida: Se o código colado não contiver uma estrutura XML de SVG válida, surge o aviso "Nenhum elemento <svg> foi encontrado.".
  • Ficheiros excessivamente grandes: O SVG deve respeitar um limite de comprimento de caracteres. Se exceder esse limite, a ferramenta mostra o erro "Este SVG é demasiado grande para esta ferramenta. Mantenha-o abaixo de {max} caracteres.".
  • Tempo limite de execução: Se o processo de otimização demorar mais de 15 segundos, a operação é interrompida com o aviso "O processo demorou muito tempo e foi interrompido — tente um SVG mais pequeno.".
  • Ausência de ganhos de tamanho: Se o código já estiver totalmente otimizado segundo as regras de segurança, a ferramenta indica "Otimizado. Nenhuma redução de tamanho foi obtida com as regras de limpeza segura ativas.".
  • Erros genéricos: Em caso de falha imprevista na análise do código, é exibida a mensagem "Não foi possível otimizar este SVG.".

Qualquer ação de limpeza ou alteração no campo de entrada interrompe imediatamente qualquer processo de otimização que esteja a decorrer nesse momento.

Segurança e Entidades XML

Uma das regras mais importantes desta ferramenta é o bloqueio de ficheiros SVG que contenham declarações de tipo de documento (DOCTYPE) ou entidades personalizadas.

A inclusão de DOCTYPE e entidades externas em ficheiros XML está historicamente associada a vulnerabilidades de segurança, tais como ataques de XML External Entity (XXE). Estes ataques tentam forçar o analisador XML a ler ficheiros locais ou a efetuar pedidos de rede indesejados. Para mitigar este risco e garantir um ambiente de processamento seguro no navegador, qualquer SVG que utilize estas declarações é bloqueado, exibindo o erro "Este SVG usa um tipo de documento (DOCTYPE) ou entidade personalizada. Remova-os antes de otimizar.".

Perguntas Frequentes

O que é removido durante a otimização? Ele remove comentários, metadados, namespaces de editores, espaçamentos extras de atributos, namespaces não utilizados e simplifica cores para formatos equivalentes mais curtos. A viewBox, os IDs, os rótulos e a geometria são mantidos intactos.

A ferramenta consegue otimizar qualquer ficheiro SVG? Ele processa códigos SVG inline normais. Ficheiros SVG com declarações de tipo de documento (DOCTYPE) ou entidades personalizadas são bloqueados porque podem tornar a análise insegura. Remova essas declarações e tente novamente.

A otimização altera a aparência do gráfico? O otimizador evita reescrever caminhos (paths), renomear IDs, remover a viewBox e arredondar excessivamente a precisão numérica. Se o seu SVG depende de comentários ou metadados para o seu fluxo de design, guarde uma cópia do original.

Como posso ver o espaço poupado após a otimização? Após uma otimização bem-sucedida, a ferramenta apresenta as métricas de tamanho no painel de estatísticas. Verá o tamanho original em bytes em "Original", o tamanho final em "Resultado" e a poupança exata em "Economizado", acompanhada pela mensagem "Otimizado — {pct}% mais pequeno ({saved} economizados).".