Optimizador de SVG Online
Optimiza y minifica archivos SVG. Reduce el tamaño sin cambiar la apariencia visual.
Qué puedes hacer
Optimiza SVG para producción web
100% privado
Tu SVG se optimiza en tu navegador. Nunca se sube a ningún servidor.
Hasta 90% más pequeño
Elimina el bloat de Illustrator, Inkscape y Figma. Solo queda lo esencial.
Apariencia preservada
Las optimizaciones son seguras: la apariencia visual no cambia en la gran mayoría de los casos.
Listo para producción
Descarga el SVG optimizado e insértalo directamente en tu HTML o CSS.
Cómo funciona
Tres pasos, sin complicaciones
Sube tu archivo SVG
Arrastra o selecciona tu archivo .svg exportado de Illustrator, Inkscape, Figma o cualquier otro editor.
Optimización automática
El SVG se limpia y minifica: se eliminan metadatos innecesarios, comentarios, atributos redundantes y se optimizan los paths.
Descarga el SVG optimizado
Compara el tamaño antes y después. Descarga el SVG listo para producción con un solo clic.
Preguntas frecuentes
¿Tienes dudas?
En la gran mayoría de los casos, no. Las optimizaciones seguras que realiza la herramienta (eliminación de metadatos, comentarios, elementos ocultos, atributos redundantes y simplificación de paths sin pérdida de precisión) no afectan la apariencia visual. Sin embargo, existe un pequeño conjunto de optimizaciones que pueden causar cambios en casos edge: la reducción de precisión decimal en coordenadas puede afectar levemente la forma de paths muy detallados (aunque visualmente imperceptible en la mayoría de los casos), y la eliminación de ciertos atributos CSS puede afectar SVGs con estilos complejos. Para SVGs que se usarán como iconos simples o ilustraciones estáticas, la optimización es completamente segura. Para SVGs con animaciones CSS o JavaScript que dependen de IDs o clases específicos, se recomienda revisar el resultado antes de usarlo en producción.
La optimización de SVG elimina todo aquello que es innecesario para la renderización visual. En la categoría de metadatos innecesarios: bloques <?xml version='1.0'?> cuando no son necesarios, declaraciones DOCTYPE, comentarios (excepto los de licencia que algunas organizaciones requieren preservar), elementos metadata de XML y los namespaces de Inkscape (inkscape:, sodipodi:), Adobe Illustrator (ai:, i:) y CorelDRAW. En la categoría de atributos redundantes: atributos con valores predeterminados (como fill='black' cuando black ya es el valor predeterminado), atributos de estilo que pueden consolidarse en el atributo style o en CSS. En la categoría de geometría: paths con comandos redundantes (moveto seguido inmediatamente de otro moveto), subpaths vacíos, y transformaciones identidad (transform='translate(0,0)'). La optimización de paths convierte curvas de Bézier a formas más cortas cuando es posible y reduce la precisión decimal de coordenadas.
El ahorro varía enormemente dependiendo del origen del SVG. Los SVGs exportados de Adobe Illustrator son notoriamente inflados: pueden contener decenas de kilobytes de metadatos de la aplicación, capas ocultas, definiciones no usadas y paths sin optimizar. Un ícono simple exportado de Illustrator de 50 KB puede reducirse a 3-5 KB después de optimización (reducción del 90%+). Los SVGs de Figma son más limpios pero aún tienen room for improvement: reducciones del 30-50% son comunes. Los SVGs de Inkscape tienen metadatos específicos de la aplicación (namespace sodipodi y inkscape) que suman peso innecesario para producción: reducciones del 40-60% son típicas. Para SVGs ya optimizados manualmente, las ganancias son menores (10-20%). En promedio, SVGO reporta una reducción media del 55-65% en sus benchmarks con SVGs de prueba del mundo real.
Absolutamente. Los SVGs sin optimizar tienen impacto directo en el rendimiento web. Un SVG de 80 KB vs uno optimizado de 8 KB representa 10x menos datos que el navegador debe descargar, parsear y renderizar. El impacto es especialmente notable en dispositivos móviles con conexiones lentas. Para iconos SVG (los más comunes en la web), el tamaño óptimo después de optimización debería ser inferior a 1 KB para iconos simples y inferior a 10 KB para ilustraciones complejas. Además de la reducción de tamaño directa, los SVGs optimizados se comprimen mejor con gzip o Brotli (los algoritmos de compresión HTTP), porque los archivos más limpios tienen menor entropía. Herramientas de auditoría de rendimiento como Lighthouse de Google penalizan los assets no optimizados, incluyendo SVGs sobredimensionados, en sus puntuaciones de Performance.
Sí, ciertas optimizaciones agresivas pueden romper SVGs con interactividad. Los casos principales son: (1) Eliminación de IDs: si un SVG tiene animaciones CSS o JavaScript que referencian elementos por su ID (document.getElementById o CSS animation con keyframes ligados a IDs), eliminar esos IDs romperá la funcionalidad. (2) Eliminación de clases: similar al caso anterior con clases CSS. (3) Colapso de grupos: fusionar grupos <g> puede cambiar el orden de renderizado o eliminar puntos de referencia para animaciones. (4) Inlining de estilos: convertir clases CSS a atributos de estilo inline puede interferir con CSS externo que apunta a esas clases. Para SVGs animados o interactivos, la recomendación es usar un perfil de optimización conservador que preserve IDs y clases, o revisar manualmente el resultado.
SVGO (SVG Optimizer) es la herramienta de optimización de SVG más usada en el ecosistema JavaScript/Node.js. Fue creada por Kir Belevich en 2012 y está disponible como paquete npm (npm install -g svgo). SVGO usa una arquitectura de plugins: cada tipo de optimización es un plugin independiente que puede activarse o desactivarse individualmente. Los plugins se organizan en dos categorías: preset-default (plugins activados por defecto, considerados seguros) y plugins opcionales (más agresivos, desactivados por defecto). SVGO v3 (lanzado en 2022) es la versión actual, con soporte completo para SVG 2.0 y optimizaciones mejoradas. La herramienta se integra en los build systems más populares: existe svgo-loader para webpack, @svgr/webpack para React (que usa SVGO internamente), vite-plugin-svgo para Vite, y plugins para Rollup y esbuild. En 2020, Jake Archibald creó SVGOMG, una interfaz web para SVGO que permite visualizar el resultado y ajustar los plugins interactivamente.
Optimización de SVG: SVGO, paths, viewBox y rendimiento web
El formato SVG (Scalable Vector Graphics) fue desarrollado por la W3C y se convirtió en recomendación oficial en 2001 con SVG 1.0, aunque su uso masivo en la web llegó con HTML5 y el soporte nativo en todos los navegadores principales alrededor de 2012. SVG 1.1 (segunda edición, 2011) es la versión más soportada actualmente. SVG 2.0 está en desarrollo activo en el W3C con soporte parcial en navegadores modernos. La principal ventaja de SVG sobre formatos raster como PNG o JPG es su independencia de resolución: un SVG de 1 KB se ve perfectamente en una pantalla de 72 DPI, en un iPhone Retina de 458 DPI, y en una pantalla 8K de 220 DPI, sin pixelación. Esto es especialmente importante en el ecosistema de pantallas con diferentes densidades de píxeles (DPR, Device Pixel Ratio) que dominan el mercado desde 2012. Los SVGs generados por herramientas de diseño contienen cantidades significativas de datos innecesarios: Adobe Illustrator incluye su propio namespace XML (xmlns:ai), datos de la sesión de edición en elementos <foreignObject>, capas de Illustrator como grupos con atributos proprietarios, y en versiones antiguas incluso embebía imágenes raster de preview. Inkscape añade los namespaces inkscape: y sodipodi:, que incluyen información de la interfaz de usuario del editor (posición de la vista, zoom, guías) completamente innecesaria para la renderización. Figma exporta SVGs más limpios pero incluye elementos de layout de Figma y a veces atributos data- personalizados.
La optimización de paths SVG es el tipo de optimización con mayor impacto en el tamaño de archivo para SVGs de ilustración. El formato de paths SVG usa una mini-lenguaje con comandos como M (moveto), L (lineto), C (curveto con Bézier cúbica), Q (curveto con Bézier cuadrática), A (arc), Z (closepath) y sus variantes en coordenadas relativas (m, l, c, q, a, z). Los editores de diseño exportan paths con precisión excesiva: coordenadas con 6-8 decimales (ej: M 123.456789 234.567890) cuando en la práctica 1-2 decimales son suficientes para una calidad visual indistinguible. Reducir la precisión decimal de 6 a 1 puede reducir el tamaño del path en un 60-70% sin cambio visual perceptible. La fusión de paths (cuando múltiples paths con el mismo estilo son adyacentes) y la simplificación de Bézier (reemplazar curvas complejas por aproximaciones más simples) son otras técnicas importantes. El atributo viewBox es crítico en SVG optimization: define el sistema de coordenadas interno del SVG y debe preservarse siempre. Un SVG sin viewBox no escala correctamente con CSS. La herramienta de optimización preserva siempre el viewBox intacto. También es importante preservar los atributos xmlns: necesarios (principalmente xmlns='http://www.w3.org/2000/svg') mientras se eliminan los namespaces de aplicaciones específicas.
En el contexto del desarrollo web moderno, los SVGs optimizados tienen tres usos principales: iconos en formato sprite, ilustraciones inline en HTML, e imágenes de fondo en CSS. Para iconos, la práctica de SVG sprites (combinar múltiples iconos en un solo archivo SVG con elementos symbol y referenciados con use xlink:href) fue popularizada por Chris Coyier en CSS-Tricks alrededor de 2012 y sigue siendo relevante para sistemas de iconos de gran escala. Frameworks como Heroicons (Tailwind CSS), Feather Icons, Lucide React y Phosphor Icons distribuyen sus iconos como SVGs optimizados con tamaños menores a 1 KB. Para ilustraciones inline, insertar SVG directamente en el HTML permite manipulación con CSS y JavaScript, transiciones de color con CSS custom properties (variables CSS), y animaciones con CSS o SMIL. La decisión entre usar SVG como <img src='imagen.svg'>, como <svg> inline, o como background-image en CSS tiene implicaciones de rendimiento: el SVG como img se cachea por el navegador pero no puede manipularse con CSS; el SVG inline no se cachea pero es completamente manipulable. SVGO se integra en los bundlers modernos: Vite, usando el plugin vite-plugin-svgr, puede importar SVGs como componentes React ya optimizados con SVGO en el momento del build, eliminando la necesidad de optimización manual en el flujo de trabajo de desarrollo.