Presets SVGO explicados: optimizar un SVG sin romper el render

Presets SVGO explicados: optimizar un SVG sin romper el render

¿Safe, default o aggressive? Elige el preset SVGO adecuado, optimiza tus SVG para prod y evita regresiones visuales.

19.07.2026
10 min de lectura
Compartir este artículo:
SVG
svgo
Optimización
presets
Web
Tutorial

Por qué importan los presets SVGO

Una exportación de Figma o Illustrator suele producir un SVG verboso: metadatos del editor, precisión decimal excesiva, IDs redundantes. El minificador SVG en línea elimina espacios y comentarios en un clic — útil para una limpieza rápida. El optimizador SVG (SVGO) va más allá con tres presets — safe, default y aggressive — que activan o desactivan plugins SVGO según el riesgo visual. Todo ocurre en el navegador en el hub de herramientas SVG. Para el panorama general, consulta también la guía completa de optimización SVG.

Tres presets alineados con niveles de riesgo reales (safe → aggressive)
Reducción de tamaño más allá del simple minify de espacios
viewBox, title y desc conservados en todos los presets FastMinify
Comparación antes/después con stats de tamaño en la herramienta
Sin subida — procesamiento 100 % local en el navegador

Impacto real en el tamaño

Ejemplo: icono exportado desde un editor vectorial

En un icono 24×24 con metadatos y paths sobreprecisos, los tres presets producen ganancias distintas. Las cifras exactas varían según el archivo — la herramienta muestra before/after en bytes y el porcentaje ahorrado.

Before optimization

Tamaño de archivos
~4,2 KB

After optimization

Tamaño de archivos
safe ~3,4 KB · default ~2,1 KB · aggressive ~1,6 KB
Cuándo el preset casi no cambia nada

Un SVG ya minificado a mano o pasado varias veces por SVGO puede converger: safe ≈ default ≈ aggressive. En ese caso, el minify de espacios basta — no hace falta volver a aggressive.

Buenas prácticas y trampas

Cuándo no optimizar demasiado

SVGO aggressive puede romper workflows posteriores: animaciones SMIL/CSS basadas en IDs, scripts embebidos, filtros complejos o `<use href="#id">`. En esos casos, quédate en safe u optimiza a mano.

SVG con animación o `<script>` → solo safe
Sprites con `<symbol id="…">` referenciados → evitar aggressive
Ilustraciones hero detalladas → default + revisión visual
No encadenar optimize + reexportar desde el editor sin retest
Conservar el archivo de diseño fuente (Figma/AI) como verdad
Integración build y CI

En producción, fija el preset en tu pipeline (svgo npm, plugin Vite/Webpack) y alinéalo con lo que validas en el navegador. Consulta también el artículo minificación en CI/CD para la automatización global.

Mismo preset en local, CI y herramienta en línea → resultados coherentes
Commit del SVG optimizado, no solo del fuente pesado
Presupuesto de tamaño por asset en la revisión del PR
Tests visuales snapshot para iconos críticos
Hub SVG para prototipar el preset antes de escribirlo en config

Tabla comparativa de presets

Elegir el preset adecuado

El preset adecuado depende del tipo de asset y de tu tolerancia al riesgo visual — no solo del porcentaje mostrado.

Preset

format:safe — una pasada, plugins estructurales off
validate:default — multipass, preset-default estándar
minify:aggressive — floatPrecision 1 + mergePaths

Cuándo usarlo

format:Logos, SVG animados, IDs referenciados en CSS/JS
validate:Iconos UI, pictos de marketing, uso cotidiano
minify:Sprites, iconos simples, tamaño crítico en móvil
Orden recomendado

Sube la presión de forma progresiva en lugar de empezar en aggressive.

Probar safe en una muestra representativa
Pasar a default si el renderizado es idéntico
Probar aggressive solo en assets no críticos
Comparar visualmente al 100 % y al 200 % de zoom
Versionar el SVG fuente — nunca sobrescribir el original

Cuándo basta la herramienta del navegador

Casos de uso frecuentes

No hace falta instalar SVGO para comparar tres presets en un archivo recibido por email.

Comparar safe vs default vs aggressive en una exportación de cliente
Decidir el preset antes de añadirlo al repo
Desbloquear un ticket de rendimiento «SVG demasiado pesado» sin Node
Formar a un diseñador sobre el impacto de las exportaciones
One-shot antes de pegar en un CMS o una plantilla de email

Límites: SVGO en CLI y en CI

Lo que el navegador no sustituye

La herramienta en línea es ideal para explorar y validar un preset. El batch sobre cientos de SVG, la integración pre-commit y la config de plugins custom siguen siendo cosa de SVGO npm o de plugins del bundler.

Optimizar una carpeta `icons/` entera con un comando
Config SVGO custom (plugins fuera de los presets FastMinify)
Gate CI: fallo si el tamaño supera un umbral
Watch mode durante el desarrollo front
Plugins de terceros no expuestos en la UI FastMinify
Alinear navegador y pipeline

Una vez elegido el preset en la herramienta, reproduce la misma lógica (safe/default/aggressive) en tu `svgo.config.js` para evitar desvíos entre preview y build.

Documentar el preset retenido en el README del design system
Probar aggressive solo en un subconjunto de iconos
No mezclar SVG optimizados y no optimizados en un sprite
Revalidar la accesibilidad tras optimize aggressive
Enlazar el hub SVG en la doc interna del equipo front

SVGO CLI y ecosistema

Herramientas complementarias

FastMinify expone tres presets con criterio. SVGO upstream ofrece granularidad plugin a plugin — útil cuando tienes reglas de equipo muy específicas.

svgo (npm CLI)

Referencia SVGO en línea de comandos — el mismo motor que el optimizador del navegador FastMinify.

Ventajas:
Batch sobre directorios enteros
Config JSON/YAML custom por proyecto
Integración pre-commit y CI nativa
Inconvenientes:
Instalación Node requerida
Curva de aprendizaje de los plugins

vite-plugin-svgo / bundler plugins

Optimización en el import — práctico para componentes React/Vue.

Ventajas:
Automático en cada build
Coherente con el tree-shaking del bundler
Sin paso manual para los devs
Inconvenientes:
Menos visible que una herramienta en línea para comparar presets
Debug visual más difícil solo en CI

minify-svg FastMinify

Limpieza rápida de espacios sin reestructuración SVGO profunda.

Ventajas:
Instantáneo, cero opciones que elegir
Perfecto tras editar el markup a mano
Complemento natural antes o después de optimize
Inconvenientes:
Sin fusión de paths ni floatPrecision
Ganancia limitada en exportaciones pesadas de Illustrator

Minify SVG vs optimize SVGO

Dos intenciones distintas

El minify rápido apunta al ruido sintáctico (espacios, comentarios, atributos evidentes). La optimización SVGO reestructura el markup: simplificación de paths, fusión de formas, limpieza de IDs — con un posible impacto visual si aprietas demasiado.

Minify: espacios, comentarios, atributos redundantes ligeros
Optimize (SVGO): plugins preset-default + overrides por preset
Safe: una pasada, plugins agresivos desactivados
Default: multipass, equilibrio tamaño / seguridad visual
Aggressive: floatPrecision 1, mergePaths y convertPathData activados
Preset safe — cero sorpresas visuales

El preset safe ejecuta SVGO en una sola pasada (multipass: false) y desactiva las transformaciones estructurales: sin fusión de paths, sin conversión shape→path, sin limpieza de IDs, sin eliminación de elementos ocultos. Ideal para logos de clientes, ilustraciones con capas nombradas o SVG animados.

removeViewBox, removeTitle, removeDesc: conservados
convertPathData, mergePaths, convertShapeToPath: off
cleanupIds y removeHiddenElems: off
Ganancia modesta pero previsible — a menudo 10–25 %
Primer ensayo con un SVG desconocido o crítico
Preset default — equilibrio de producción

El preset default activa multipass: true y deja que SVGO aplique preset-default con las salvaguardas viewBox/title/desc. Es la elección cotidiana para iconos UI, pictogramas y assets de marketing tras una revisión visual.

Multipass: varias pasadas SVGO para maximizar la compresión
viewBox, title y desc siempre conservados
Plugins preset-default estándar (metadatos, precisión…)
Ganancia típica 25–50 % según la verbosidad de la exportación
Buen valor por defecto antes de pasar a aggressive
Preset aggressive — tamaño mínimo

El preset aggressive añade floatPrecision: 1, fuerza mergePaths y refuerza convertPathData. El tamaño suele bajar más, pero los detalles finos (curvas, esquinas) pueden moverse ligeramente. Resérvalo para iconos simples, sprites o SVG sin animación ni dependencia de IDs CSS/JS.

floatPrecision 1: redondeo agresivo de coordenadas
mergePaths forzado: fusión de trazados compatibles
viewBox/title/desc siempre conservados en FastMinify
Ganancia posible del 40–70 % en exportaciones pesadas de Illustrator
Comparar siempre visualmente antes de producción

Usar el optimizador SVGO FastMinify

Workflow en tres pasos

Pega tu SVG, elige el preset en el panel de opciones y compara la salida y las stats. La herramienta optimize SVG en línea se ejecuta enteramente en el navegador — no se envía nada al servidor.

Pegar o cargar un archivo SVG (límite de tamaño mostrado en la herramienta)
Seleccionar safe, default o aggressive
Leer before/after en bytes y % ahorrado
Copiar el resultado o volver al minify rápido si hace falta
Encadenar con validate-svg para accesibilidad si el icono es informativo
Minify rápido como complemento

Para una limpieza solo de espacios sin tocar los paths, el minificador SVG sigue siendo más rápido. Encadena minify y luego optimize default si quieres las dos pasadas.

Minify: ruido sintáctico únicamente
Optimize: reestructuración SVGO según el preset
Embellecer SVG para releer el markup tras optimize
SVG viewer para preview antes de exportar
Hub SVG para todo el cluster (JSX, Data URI, resize…)
Después de la optimización

Los iconos informativos deberían conservar title y desc — FastMinify los preserva en los tres presets. Para validar la estructura a11y, usa validate SVG en línea antes de entregar.

validate-svg: title/desc y estructura básica
svg-to-jsx si el SVG va a un componente React
minify-html si insertas el SVG inline en una página
Artículo de accesibilidad SVG (hub)
Volver a la guía SVG general para el contexto de rendimiento

Conclusión

Los presets SVGO traducen un compromiso tamaño / riesgo visual. Empieza por safe en los assets sensibles, adopta default para el flujo cotidiano y reserva aggressive a los iconos simples donde cada byte cuenta. FastMinify te permite comparar los tres modos en local antes de fijar la config en CI.

Probar safe antes de default o aggressive en un SVG desconocido
Conservar viewBox, title y desc — ya garantizado en FastMinify
Comparar visualmente a varios niveles de zoom
Alinear el preset del navegador con svgo.config.js en CI
Leer la guía SVG general para el contexto minify vs optimize
Compartir este artículo
Compartir este artículo: