Principais Características do Nosso Formatador SVG
- **Modo embelezar** com indentação inteligente, quebra de linha e alinhamento de atributos
- **Modo minificar** que remove espaços em branco, comentários e metadados redundantes
- Formatação estilo Prettier e otimização estilo SVGO por baixo dos panos
- Estilo de indentação configurável (espaços ou tabulações) e tamanho da indentação
- Coluna de quebra opcional para manter caminhos e atributos longos organizados
- Estilo consistente de fim de linha (LF / CRLF) para diffs limpos entre sistemas operacionais
- Arraste e solte arquivos `.svg` de até 5 MB ou cole marcação SVG inline
- Processamento 100% no lado do cliente — sua arte nunca sai do navegador
- Cópia com um clique ou download da saída formatada (`.formatted.svg`) ou minificada (`.min.svg`)
- Interface responsiva que funciona bem em laptops, desktops e tablets
🔧 Como Format ou Minificar SVG: Guia Rápido for svg-formatter
1. Cole ou Carregue SVG
📥 Arraste e solte seu arquivo `.svg` ou cole a marcação SVG bruta no editor. A ferramenta detecta automaticamente o conteúdo padrão `image/svg+xml`.
2. Escolha Format ou Minificar
✨ Selecione **Format** para marcação legível por humanos (ótimo para revisões e controle de versão) ou **Minificar** para o menor tamanho de arquivo possível.
3. Ajuste as Opções de Formatação
⚙️ Ajuste **Estilo de Indentação** (espaços ou tabs), **Tamanho da Indentação** e opcional **Quebra / Comprimento da Linha**. Estes mapeiam diretamente para as configurações do formatador subjacente.
4. Visualize e Exporte
👀 Inspecione o código SVG otimizado, teste-o rapidamente em seu projeto, depois copie para sua área de transferência ou baixe o resultado como um novo arquivo `.svg`.
Detalhes Técnicos
Motor de Embelezamento (Modo Format)
O modo Format usa um motor estilo Prettier ajustado para marcação XML SVG. Foca na legibilidade e diffs estáveis e previsíveis.
| Aspecto | Comportamento | Notas |
|---|---|---|
| Estilo de Indentação | Espaços ou Tabs | Configurável via **Estilo de Indentação** (mapeia para `indentStyle`). |
| Tamanho da Indentação | 1–8 espaços | Controla a largura do aninhamento ao usar espaços (mapeia para `indentSize`). |
| Quebra / Comprimento da Linha | 0–120 colunas | `0` desativa a quebra; caso contrário, linhas longas são quebradas na coluna escolhida (mapeia para `wrapLineLength`). |
| Fim de Linha | LF (`\n`) ou CRLF (`\r\n`) | Mantém os finais de linha consistentes entre sistemas operacionais (mapeia para `endOfLine`). |
| Idioma de Saída | SVG em estilo XML | Mantém a estrutura XML compatível com SVG para incorporação segura. |
Pipeline de Minificação (Modo Minificar)
O modo Minificar utiliza um pipeline inspirado no SVGO, focado na redução de tamanho enquanto preserva a saída visual.
| Passo | Descrição | Impacto |
|---|---|---|
| Remover comentários | Remove nós de comentário `<!-- ... -->` que não afetam a renderização. | Arquivos menores, diffs mais limpos. |
| Eliminar espaços em branco redundantes | Comprime espaços, tabulações e quebras de linha desnecessários. | Grandes ganhos para SVGs exportados de editores verbosos. |
| Aparar metadados | Remove opcionalmente nós de metadados que não afetam a renderização quando seguro. | Bom para ativos de produção públicos. |
| Normalizar atributos | Simplifica e reordena atributos de forma estável. | Saída mais compacta, melhor capacidade de cache. |
Codificação e Compatibilidade
A saída é SVG UTF-8 compatível com navegadores e ferramentas modernas, alinhada com a especificação SVG 2.
Desempenho e Limites (Navegador de Desktop Típico)
| Tipo de Arquivo | Tamanho de Entrada | Tempo de Embelezamento | Tempo de Minificação | Redução de Tamanho Típica |
|---|---|---|---|---|
| Ícone | 5 KB | ⚡ < 15 ms | ⚡ < 20 ms | ≈ 25–40% |
| Ilustração | 100 KB | ⚡ < 60 ms | ⚡ < 90 ms | ≈ 40–55% |
| Gráfico Herói | 500 KB | ⏱️ < 300 ms | ⏱️ < 450 ms | ≈ 50–60% |
Alternativas de CLI para Usuários Avançados
Prefere fluxos de trabalho em terminal ou integração com CI? Combine Prettier e SVGO para comportamento similar a esta ferramenta:
Linux / 🍎 macOS
Embelezar SVG com Prettier
npx prettier --parser xml --print-width 80 --tab-width 2 --write input.svgAplica indentação consistente e quebra de linha ao seu markup SVG.
Minificar SVG com SVGO
npx svgo input.svg -o input.min.svgRemove comentários, metadados e espaços em branco redundantes para arquivos menores.
Windows (PowerShell ou CMD)
Formatar SVG usando xmlstarlet (via WSL ou nativo)
xmlstarlet fo --indent-spaces 2 input.svg > pretty.svgFormata SVG/XML com indentação de 2 espaços.
Minificar SVG com SVGO (sem instalação global)
npx svgo input.svg -o min.svgExecuta SVGO diretamente via `npx` para otimizações pontuais.
Aplicações Práticas
Desempenho Web & Bundles Frontend
- Reduzir payloads SVG em sistemas de design, conjuntos de ícones e sprite sheets.
- Inserir SVG minificado em HTML/CSS para economizar requisições HTTP extras.
- Melhorar Core Web Vitals reduzindo ilustrações herói em páginas de destino.
<img src="/assets/hero.min.svg" alt="Gráfico herói otimizado" />.icon-check { background-image: url('data:image/svg+xml;utf8,<svg ...>'); }Entrega de Design & Controle de Versão
- Embelezar SVG exportado antes da revisão de código para tornar diffs legíveis.
- Manter um `.formatted.svg` para colaboração e um `.min.svg` para produção.
- Impor indentação consistente e ordenação de atributos em um sistema de design.
Mobile, Emails & Aplicativos Híbridos
- Minificar SVGs inline em emails HTML para campanhas mais leves.
- Reduzir tamanho do bundle de aplicativo em React Native / Capacitor / Ionic ao enviar muitos ícones.
- Economize largura de banda para usuários em conexões lentas ou com franquia limitada.
❓ Frequently Asked Questions
❓O que é formatação SVG?
📏A minificação alterará a aparência do meu SVG?
🔒Meu SVG é enviado para um servidor?
🚀Quanto tamanho a minificação pode economizar?
⚠️Remover `<metadados>` ou comentários pode quebrar meu fluxo de trabalho?
Pro Tips
Mantenha um `icon.formatted.svg` não minificado no seu repositório para diffs limpos, então gere `icon.min.svg` como parte do seu passo de build.
Sempre inclua elementos `<title>` e `<desc>` significativos antes da minificação para manter seus SVGs acessíveis a leitores de tela.
Combine minificação SVG com compressão HTTP (Gzip/Brotli) para economizar ainda mais bytes em ilustrações e gráficos pesados.
Para conjuntos de ícones, considere uma estratégia de sprite: minifique uma vez, então referencie ícones via `<use>` em vez de duplicar código SVG em todos os lugares.
Additional Resources
Other Tools
- Embelezador CSS
- Embelezador HTML
- Embelezador Javascript
- Embelezador PHP
- Seletor de Cores
- Extrator de Sprites
- Decodificador Base64
- Codificador Base64
- Formatador Csharp
- Formatador CSV
- Dockerfile Formatter
- Formatador Elm
- Formatador ENV
- Formatador Go
- Formatador GraphQL
- Formatador HCL
- Formatador INI
- Formatador JSON
- Formatador LaTeX
- Formatador Markdown
- Formatador Objective-C
- Php Formatter
- Formatador Proto
- Formatador Python
- Formatador Ruby
- Formatador Rust
- Formatador Scala
- Formatador de Script Shell
- Formatador SQL
- Formatador Swift
- Formatador TOML
- Typescript Formatter
- Formatador XML
- Formatador YAML
- Formatador Yarn
- Minificador CSS
- Html Minifier
- Javascript Minifier
- Minificador JSON
- Minificador XML
- Visualizador de Cabeçalhos HTTP
- PDF para Texto
- Testador de Regex
- Verificador de Classificação SERP
- Consulta Whois