Optimizador de SVG
Un SVG exportado desde Figma, Illustrator o Sketch es XML correcto, pero llega cargado de cosas que un navegador nunca dibuja: metadatos del editor, un comentario del generador, grupos que envuelven una sola ruta, coordenadas con cinco decimales y colores escritos en su forma larga. Este optimizador lo elimina todo de un solo pegado. Sueltas el marcado y recuperas el SVG equivalente más pequeño, con los tamaños original, optimizado y gzip mostrados en paralelo y una vista previa en vivo de ambos para confirmar que la forma quedó intacta. Cuando una pasada se lleva algo por delante —un id al que apunta tu hoja de estilos, un sprite que nada dentro del archivo referencia— te lo dice, en lugar de dejar que lo descubras más tarde. Es el motor svgo ejecutándose por completo en tu navegador, así que nada de lo que pegas sale de la pestaña.
Resumen
Un optimizador de SVG solo merece la pena si puedes confiar en la salida y ver la ganancia. Este está construido en torno a ambas cosas: compresión precisa que puedes publicar, junto a los números y la vista previa que prueban que fue seguro.
- 01
Optimización basada en árbol
El SVG se analiza en un árbol de elementos real antes de cambiar nada, así que los metadatos, los prólogos XML, los comentarios del generador, los grupos vacíos y los atributos redundantes se van, los colores se acortan, los valores por defecto se descartan y los datos de ruta se reescriben más compactos: decenas de transformaciones y el dibujo queda idéntico. No hay un frágil buscar y reemplazar que se rompa con un degradado o una transformación anidada.
- 02
Te dice lo que se llevó por delante
El preset por defecto borra cada id que nada dentro del archivo referencia y renombra el resto, lo cual está bien para un icono y mal para un logotipo que tu CSS estiliza o un sprite cuyo
<use>vive en la página. Todo lo que quede apuntando a la nada se lista bajo la salida, y Conservar IDs desactiva ese comportamiento de un clic. - 03
Un control de precisión que puedes ajustar
Las coordenadas exportadas con cinco decimales rara vez se necesitan. Redúcelas para achicar los datos de ruta y usa la vista previa en paralelo para detenerte en cuanto el detalle empiece a difuminarse.
- 04
Salida lista para responsive
Opcionalmente quita los atributos width y height para que el SVG herede el tamaño de la caja que lo contiene, la elección habitual para iconos e ilustraciones en línea que necesitan escalar.
- 05
Un desglose de tamaño fiable
Los tamaños original, optimizado y gzip se actualizan a medida que editas, junto al porcentaje exacto ahorrado. La cifra gzip es la que coincide con lo que viaja por la red.
- 06
Míralo antes de publicarlo
Cambia la salida a Vista previa y el SVG original y el optimizado se renderizan juntos sobre un damero, así una ruta de recorte rota o un relleno perdido resultan obvios antes de copiar el resultado. Cada lado se renderiza como su propia imagen, lo que impide que sus ids se mezclen y hace que un SVG que no escribiste no pueda ejecutar sus scripts ni descargar nada de lo que referencie.
Cómo usarla
Pasa de una exportación de editor inflada a un SVG esbelto y listo para producción en unos pocos pasos, con el ahorro y una vista previa siempre delante.
- 01
Pega tu SVG en el panel de entrada, o usa Subir para cargar un archivo .svg directamente desde el disco.
- 02
Elige tus opciones. Deja Multipaso activado para el resultado más pequeño, activa Conservar IDs cuando algo fuera del archivo apunte a un id o cuando el archivo sea un sprite, y activa Quitar ancho/alto cuando quieras que el icono escale a su contenedor.
- 03
Cambia la salida a Vista previa para confirmar que el SVG optimizado se renderiza exactamente como el original, lee lo que aparezca listado bajo la salida y luego mira el desglose de tamaño para ver la ganancia.
- 04
Copia el SVG optimizado o descárgalo como archivo .svg, y colócalo en tu marcado, hoja de sprites o componente.
Detalles
Los detalles que hacen la salida segura de publicar y rápida de confiar.
- Construido sobre svgo, el optimizador de SVG estándar que trabaja sobre un árbol analizado y no por sustitución de texto, usando el mismo preset que las herramientas de build adoptan por defecto.
- Cada vista previa se renderiza como una imagen en lugar de inyectarse en la página, así que un SVG que no escribiste no puede ejecutar sus scripts, no puede descargar nada de lo que referencie y no puede tomar prestados los degradados de la otra vista previa a través de un id compartido.
- El tamaño gzip se mide con la compresión integrada en tu navegador, así que la cifra refleja lo que un servidor real enviaría.
- La optimización se ejecuta mientras editas, un instante después de que dejas de teclear, así que una ilustración vectorizada grande nunca bloquea el editor a mitad de pulsación.
- Un error de análisis se muestra en el sitio con su mensaje, y una optimización que volvió vacía se señala en lugar de presentarse como un ahorro del 100%.
- Nada se sube ni se registra. El SVG que pegas, incluidos activos de marca sin publicar, permanece en tu navegador y desaparece al cerrar la pestaña.
Casos de uso
Dónde compensa reducir un SVG a lo esencial.
-
Iconos y logotipos en línea
Los SVG incrustados directamente en HTML o en un componente viajan en cada carga de página. Optimizarlos recorta el marcado que un navegador debe analizar y los bytes que debe descargar, en los activos que los usuarios ven primero.
-
Hojas de sprites de iconos
Un sprite que apila decenas de iconos multiplica cada byte desperdiciado. Activa antes Conservar IDs: el
<use>que saca un icono de la hoja vive en tu página, no en el archivo, así que sin él el optimizador no tiene motivo para creer que algún símbolo haga falta. -
CSS y data URIs
Cuando un SVG se incrusta como imagen de fondo o data URI, cada carácter cuenta y no puede comprimirse con gzip por separado. Un origen más pequeño es la única palanca que tienes.
-
Entrega de diseño a código
Las exportaciones directas de Figma, Illustrator o Sketch arrastran la mayor basura. Pásalas por aquí antes de que entren en el repositorio para que tus componentes partan de un marcado limpio.
Ver también
¿Necesitas un SVG de partida en lugar de reducir uno? Genera uno con el Generador de patrones SVG, y cuando el icono va destinado a una pestaña del navegador, conviértelo a todos los tamaños necesarios con el Generador de favicon.
Adónde van realmente los bytes de un SVG
Optimizar un SVG no es lo mismo que la compresión gzip, y no es ofuscación. Elimina marcado que un navegador no necesita mientras mantiene la imagen renderizada idéntica. Esto es lo que se va, y por qué es seguro.
-
Metadatos del editor y comentarios
Las herramientas de diseño incrustan comentarios del generador, prólogos XML, espacios de nombres privados y nombres de capa como ids. Nada de eso llega a la imagen renderizada, así que todo se elimina, salvo los comentarios reales que elijas conservar. Los ids son el punto a pensar: son invisibles para el renderizador pero no para la hoja de estilos, el script o el sprite que quizá los esté usando desde fuera del archivo.
-
Grupos envolventes y nodos vacíos
Las exportaciones suelen envolver una sola forma en una o más etiquetas
<g>que no llevan transformación ni estilo. Estas se colapsan en su hijo, y los contenedores y definiciones realmente vacíos se descartan por completo. -
Números demasiado precisos
Una coordenada escrita como 16.00000 significa lo mismo que 16, y 13.847221 rara vez necesita más de un par de decimales en pantalla. Redondear los datos de ruta y coordenadas suele ser el mayor ahorro individual en un icono.
-
Colores en forma larga y valores por defecto
Un hex de seis dígitos como #FFFFFF se reduce a #fff o a la palabra clave, y los atributos fijados en su valor por defecto se eliminan porque el renderizador ya los asume.
-
Datos de ruta compactos
El atributo d de una ruta puede reescribirse con comandos relativos, segmentos fusionados y separadores omitidos para expresar exactamente la misma curva con muchos menos caracteres.
-
Por qué gzip es la cifra que cuenta
Los servidores envían SVG comprimido con gzip o brotli, que ya colapsan el espacio en blanco repetido. Optimizar sigue ayudando, porque elimina lo que la compresión no puede y entrega una entrada más limpia al compresor, pero juzga la ganancia real por el tamaño gzip y no por los bytes crudos.
Buenas prácticas
Hábitos que mantienen los SVG optimizados pequeños e intactos visualmente.
- Comprueba siempre la vista previa tras optimizar, sobre todo al bajar la precisión, y lee lo que la herramienta liste bajo la salida. El redondeo es donde un ajuste agresivo puede distorsionar curvas sutilmente, y un id descartado es la clase de rotura que la vista previa no puede mostrarte.
- Juzga la ganancia por el tamaño gzip, ya que es lo que el servidor transfiere realmente. Un gran ahorro en crudo puede reducirse a poco una vez aplicada la compresión de transporte.
- Quita width y height cuando el SVG deba escalar a su contenedor, pero consérvalos para imágenes que necesiten un tamaño intrínseco fijo, como el correo o algunos embeds sociales.
- Conserva el viewBox. Es lo que permite a un SVG escalar limpiamente, y esta herramienta lo preserva por defecto. No lo quites por unos pocos bytes extra.
- Activa Conservar IDs siempre que el SVG sea un sprite, lo estilice una hoja de estilos externa o lleve un aria-labelledby. Cuesta un pequeño porcentaje y salva las referencias que el preset por defecto no tiene manera de conocer.
- Optimiza como un paso de build o de entrega y confirma el resultado, pero mantén el origen editable en tu herramienta de diseño. Los datos de ruta optimizados no están pensados para editarse a mano.
Limitaciones
Lo que esta herramienta hace, y lo que deja a otros pasos.
- Optimiza un único documento SVG. No construye hojas de sprites, no empaqueta archivos referenciados ni inserta imágenes y fuentes externas.
- No rasteriza un SVG a PNG ni convierte entre formatos. Combínalo con el conversor de imágenes cuando necesites un mapa de bits.
- Los scripts y la interactividad dentro de un SVG se preservan pero no se analizan, y nunca se ejecutan: la vista previa renderiza cada archivo como una imagen, así que nada de lo que contiene corre aquí. La optimización apunta al dibujo, no al comportamiento del JavaScript incrustado.
- Un documento mal formado que no puede analizarse se informa en lugar de repararse, así que una entrada muy dañada no producirá una salida parcial.
Preguntas frecuentes
Preguntas frecuentes sobre optimizar SVG, qué cambia y cuándo usarlo.
¿Optimizar cambiará el aspecto de mi SVG?
Con los ajustes por defecto, no. El optimizador solo elimina marcado que un navegador no dibuja y reescribe valores a formas más cortas que significan lo mismo, así que la imagen es idéntica. Lo único a vigilar es el control de Precisión: redondear demasiado las coordenadas puede distorsionar el detalle fino, que es exactamente para lo que está la vista previa en paralelo. Baja la precisión mientras observas la vista previa y detente antes de que algo se difumine.
¿Cuál es la diferencia entre optimizar y aplicar gzip a un SVG?
Trabajan juntos. Optimizar edita el propio marcado SVG, eliminando metadatos, grupos vacíos y números demasiado precisos que un compresor no puede saber que son innecesarios. Luego gzip o brotli comprime lo que envías, colapsando la repetición en la red. Quieres ambos: optimiza primero para la entrada más limpia, luego deja que el servidor la comprima para el transporte. Juzga la ganancia real por la cifra gzip que se muestra aquí.
¿Debería quitar los atributos width y height?
Depende de cómo se use el SVG. Quitarlos y conservar el viewBox permite que el SVG escale con fluidez al contenedor que lo aloja, que es lo que normalmente quieres para iconos e ilustraciones en línea. Consérvalos cuando la imagen necesite un tamaño intrínseco fijo, como algunos clientes de correo o embeds sociales que ignoran el viewBox. La herramienta siempre preserva el viewBox de cualquier modo.
¿Cuánto se reducirá mi SVG?
Depende por completo de cómo se exportó. Los archivos directos de Figma, Illustrator o Sketch arrastran la mayor holgura y a menudo pierden de un tercio a dos tercios de su tamaño crudo, mientras que un icono ya optimizado puede recortar poco. Con gzip en juego el porcentaje se encoge, porque la compresión ya había recuperado gran parte del espacio en blanco, y por eso la cifra gzip es la honesta.
¿El viewBox es seguro? Oí que quitarlo rompe el escalado.
Aquí es seguro. El viewBox es lo que hace a un SVG independiente de la resolución, así que esta herramienta lo conserva por defecto y nunca lo quita. Solo los atributos fijos width y height son opcionales de eliminar, y hacerlo en realidad mejora el escalado en lugar de perjudicarlo.
¿Puedo optimizar un SVG con degradados, filtros o animación?
Sí. Los degradados, filtros, rutas de recorte, máscaras y la animación SMIL o CSS se leen y se preservan. Una definición a la que algo del archivo apunta se conserva junto con la referencia que la nombra. Eso sí: ese id suele renombrarse a algo corto como a, invisible dentro del archivo pero relevante si insertas varios SVG optimizados en una misma página o si te diriges al id desde fuera. Conservar IDs deja los nombres tal cual.
¿Por qué mi hoja de sprites volvió vacía?
Porque un <symbol> que nada usa dentro del mismo archivo le parece peso muerto al optimizador, y un sprite de iconos está hecho exactamente de eso: los <use> que sacan los iconos viven en tu página, no en la hoja. Activa Conservar IDs y cada símbolo sobrevive con su id intacto. La herramienta señala este caso bajo la salida en vez de dejar que un ahorro del 100% parezca una victoria.
¿Optimizar romperá el CSS o el JavaScript que apunta a mi SVG?
Puede, con los ajustes por defecto. Un id que nada dentro del archivo referencia se elimina, y uno que sí se referencia se renombra a algo corto, así que una regla como #logo-mark { fill: red } o un querySelector sobre ese id dejan de coincidir. Activa Conservar IDs y cada id queda exactamente como está escrito. La herramienta también lista cualquier referencia que quede apuntando a la nada tras una pasada, incluido un aria-labelledby cuyo destino perdió su id.
¿Se sube mi SVG a algún sitio?
No. Todo se ejecuta en tu navegador. El SVG que pegas, cualquier archivo que subas y el resultado se procesan localmente, nunca se transmiten ni se almacenan, y desaparecen en cuanto cierras la pestaña, así que hasta los logotipos privados y los activos de marca sin publicar están seguros. La vista previa renderiza cada SVG como una imagen, lo que además impide que un archivo que referencia una URL remota pueda descargarla desde aquí.
Herramientas relacionadas
Sigue con el resto del conjunto de herramientas de datos y formatos.