Optimizador SVG

Optimiza y minifica tus archivos SVG eliminando comentarios, metadatos y espacios innecesarios.

Vista previa

Acerca de la optimización SVG

Los archivos SVG exportados desde Illustrator, Figma o Inkscape suelen contener metadatos, comentarios, atributos propios del editor y espacios superfluos que aumentan el tamaño del archivo sin afectar al resultado visual. Optimizar un SVG puede reducir su tamaño entre un 20 y un 60 %, lo que mejora los tiempos de carga. Esta herramienta aplica optimizaciones seguras que preservan la apariencia visual.

Cómo funciona

  1. Pega o importa un SVG: introduce el marcado SVG directamente o importa un archivo .svg exportado desde Illustrator, Figma o Sketch.
  2. Configura las pasadas de optimización: elige qué optimizaciones aplicar, eliminación de comentarios, retirada de metadatos, simplificación de rutas y normalización del viewBox.
  3. Optimiza: la herramienta ejecuta las pasadas elegidas y muestra el porcentaje de reducción de tamaño.
  4. Descarga o copia: guarda el SVG optimizado o copia el marcado para pegarlo en tu código.

¿Por qué optimizar tus SVG?

Los archivos SVG exportados desde herramientas de diseño están llenos de datos innecesarios, metadatos de editor, declaraciones de estilo en línea con valores por defecto, grupos vacíos, atributos de transformación redundantes y comentarios. Este exceso aumenta el tamaño sin cambiar nada del renderizado. SVGO (el optimizador SVG estándar del sector usado aquí) suele reducir el tamaño entre un 50 y un 80 % preservando un renderizado exacto al píxel. SVG más pequeños cargan más rápido, se integran más rápidamente en HTML y reducen el ancho de banda, especialmente importante para sistemas de iconos que cargan decenas de SVG por página.

Optimizaciones aplicadas

Breve historia de SVG y SVGO

Scalable Vector Graphics nació de una competencia entre dos propuestas del W3C: Precision Graphics Markup Language (PGML) de Adobe, IBM, Netscape y Sun, y Vector Markup Language (VML) de Microsoft. Ambos fueron presentados en 1998; el compromiso del W3C se convirtió en SVG, recomendado como SVG 1.0 en septiembre de 2001. Internet Explorer se negó notoriamente a incluir soporte SVG hasta IE9 (2011), mientras que Firefox, Safari y Opera lo soportaron desde mediados de los 2000. SVG 1.1 apareció en 2003, con una segunda edición en 2011. SVG Tiny 1.2 apuntó a dispositivos móviles en 2008. SVG 2 comenzó a redactarse alrededor de 2016 pero se estancó; hoy sigue siendo un Candidate Recommendation Draft (última modificación en 2018), con los navegadores enviando piezas individualmente. La optimización llegó después. SVGO fue creado por Kir Belevich (svg-go) y publicado por primera vez en GitHub en octubre de 2012, escrito en JavaScript. Se convirtió en el estándar de facto, integrado en webpack-loader, Vite, Sketch, plugins de exportación de Figma, y la interfaz web SVGOMG de Jake Archibald (equipo Chrome) lanzada en 2015. SVGO 3 (lanzado en 2023) modernizó la base de código. Esta herramienta implementa un subconjunto seguro de los plugins más impactantes de SVGO, ejecutándose enteramente en tu navegador.

Lo que realmente hace un optimizador SVG

Dónde importa la optimización SVG

Errores de optimización que rompen SVGs

Más preguntas frecuentes

¿Cuánto puede realmente ahorrar la optimización SVG?

Depende mucho de la fuente. Las exportaciones de Adobe Illustrator suelen reducirse en 60-80 % en la primera pasada, principalmente por eliminación de metadatos, namespaces de editor y reducción de precisión decimal. Las exportaciones de Figma son más limpias de fábrica (típicamente 20-40 % de ahorro). ¿SVG escrito a mano por un desarrollador? Suele ser 5-15 %, ya que no hay mucho que eliminar. El logo de Wikipedia, caso extremo de bloat Illustrator, pasó de 39 KB a 11 KB. Un icono típico 24×24 de Figma baja de 1,4 KB a 0,6 KB.

¿Cuándo debería poner SVG inline vs usarlo como archivo externo?

Inline (<svg>...</svg> en HTML) para iconos pequeños (bajo 2 KB), contenido crítico sobre la línea de flotación, y en cualquier lugar donde necesites CSS para estilizar el SVG (p. ej. currentColor, estados hover, modo oscuro). Archivo externo (<img src="icon.svg"> o background-image CSS) para iconos idénticos usados repetidamente (el navegador cachea), ilustraciones más grandes, contenido que no necesita temática CSS. Sprite SVG (archivo único con múltiples elementos <symbol>, referenciados por <use>) fue el patrón de sistema de iconos de 2014-2019, ahora largamente reemplazado por componentes inline-svg en React/Vue/Svelte.

¿Hay riesgos de seguridad en SVG no optimizados?

Sí. SVG puede incrustar etiquetas <script> y manejadores de eventos onload, onclick; los SVG subidos por usuarios son un vector XSS. SVG puede referenciar recursos externos vía <image href="...">, filtrando la IP del espectador. Las fuentes SVG (deprecadas pero aún parseable) tenían históricamente desbordamientos de buffer. Un buen optimizador elimina <script> y manejadores de eventos como parte de la limpieza; si aceptas subidas SVG de usuarios, pásalos por un saneador endurecido (DOMPurify con perfil SVG) antes de servir.

¿Puedo optimizar SVG usando la línea de comandos?

Sí. npx svgo input.svg -o output.svg usa la biblioteca canónica SVGO. Configura plugins vía svgo.config.js. Integraciones CI: imagemin-svgo en webpack, vite-plugin-svgo, GitHub Action antfu/svg-opt. Para optimización por lotes: svgo -f ./icons -o ./icons-optimised. La herramienta de navegador aquí es más rápida para casos puntuales y funciona sin Node instalado.

¿Se envía mi SVG a un servidor cuando optimizo aquí?

No. La optimización corre enteramente en tu navegador vía JavaScript sobre el markup SVG que pegas. Abre la pestaña Network en DevTools mientras optimizas; verás cero peticiones salientes. Seguro para logos propietarios, diseños de iconos no lanzados, SVG corporativos internos, y cualquier cosa sujeta a NDA.

Herramientas relacionadas