Por que criamos
Todo projeto front-end acaba precisando de ícones próprios. Designers exportam arquivos SVG, e desenvolvedores gastam tempo renomeando atributos, removendo metadados do editor e envolvendo a marcação em componentes. Os conversores online existentes muitas vezes enviam seus arquivos para um servidor, mostram anúncios entre as etapas ou só suportam React.
O SvgJsx roda inteiramente no seu navegador, suporta os frameworks que as equipes realmente usam e gera código que segue as convenções atuais, para que o resultado possa ir para o commit sem limpeza manual.
Como funciona
O conversor inclui um pequeno parser XML escrito em TypeScript. Ele monta uma árvore a partir do seu SVG, aplica as etapas de limpeza escolhidas, como remover metadados, arredondar números ou trocar cores por currentColor, e imprime a árvore como JSX, template do Vue ou componentes do react-native-svg. Esse código é coberto por testes automatizados para cada opção e para entradas malformadas.
O site é gerado de forma estática e servido por uma CDN. Não há backend, banco de dados nem sistema de contas.
Princípios
O projeto segue alguns princípios simples:
- Privacidade em primeiro lugar: seu SVG nunca sai do seu dispositivo.
- Resultado legível: código formatado e só com os imports necessários.
- Seguro por padrão: scripts e manipuladores de evento inline são removidos.
- Disponível em sete idiomas: inglês, chinês, espanhol, alemão, francês, japonês e português.