Cómo optimizar archivos SVG para rendimiento web (2026)
Los SVG sin optimizar pueden ser más pesados que los PNG. Aprende a reducir su tamaño un 50-80 % con SVGO, compresión GZIP y buenas prácticas.

Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
Key Takeaways
- Los SVG sin optimizar pueden ser más pesados que los PNG — la optimización adecuada reduce el tamaño un 50-80 % de media
- Elimina primero los metadatos del editor: por sí solos representan un 40-60 % del peso innecesario de herramientas como Illustrator y Figma
-
SVGO es el optimizador estándar — ejecútalo via CLI (
npx svgo) o usa la interfaz web SVGOMG - Habilita compresión GZIP en tu servidor para SVG: un SVG de 12 KB se comprime a solo 3,2 KB
- Los SVG optimizados mejoran directamente los Core Web Vitals: LCP, FID y CLS
Por qué importa la optimización SVG
Los SVG sin optimizar pueden ser más pesados que los PNG. Un SVG de 500 KB anula el propósito de usar vectores. La optimización adecuada puede reducir el tamaño de los archivos un 50-80 %.
Impacto real en el rendimiento
| Métrica | Sin optimizar | Optimizado | Mejora |
|---|---|---|---|
| Tamaño del archivo | 45 KB | 8 KB | 82 % más pequeño |
| Tiempo de parsing | 120 ms | 25 ms | 79 % más rápido |
| Impacto LCP | +0,3 s | +0,05 s | 83 % mejor |
La checklist de optimización SVG
1. Eliminar metadatos del editor
Las herramientas de diseño añaden datos innecesarios:
Antes (exportación de Illustrator):
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 27.0, SVG Export -->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px"
viewBox="0 0 100 100"
style="enable-background:new 0 0 100 100;"
xml:space="preserve">
Después (optimizado):
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
Ahorro: 40-60 % solo con los metadatos
2. Simplificar trazados
Reduce la precisión decimal:
Antes:
<path d="M12.3456789,45.6789012 L67.8901234,12.3456789"/>
Después:
<path d="M12.35,45.68 L67.89,12.35"/>
Ahorro: 20-40 %
Pro Tip: Configura la precisión cleanupNumericValues de SVGO a 2 decimales para iconos y elementos UI. Para ilustraciones detalladas o mapas donde importa la precisión, usa 3-4 decimales. La diferencia visual con 2 decimales es prácticamente imperceptible en tamaños de iconos típicos.
3. Fusionar trazados
Combina trazados similares:
Antes:
<path d="M0,0 L10,0" fill="#000"/>
<path d="M10,0 L20,0" fill="#000"/>
<path d="M20,0 L30,0" fill="#000"/>
Después:
<path d="M0,0 L30,0" fill="#000"/>
Ahorro: 50-70 %
4. Usar CSS en lugar de atributos
Antes:
<circle cx="50" cy="50" r="40" fill="#1cb721" stroke="#000" stroke-width="2"/>
Después:
<style>.c{fill:#1cb721;stroke:#000;stroke-width:2}</style>
<circle cx="50" cy="50" r="40" class="c"/>
Ahorro: 10-30 % (más con elementos repetidos)
5. Eliminar elementos ocultos
Borra todo lo que no sea visible:
- Elementos fuera del viewBox
- Formas completamente transparentes
- Grupos vacíos
- Definiciones no usadas
Mejores herramientas de optimización SVG
1. SVGO (mejor opción general)
Herramienta de línea de comandos, la más configurable:
npx svgo input.svg -o output.svg
Ahorro típico: 50-80 %
2. SVGOMG (interfaz web)
Versión online de SVGO con vista previa visual:
- jakearchibald.github.io/svgomg/
3. ImageOptim (Mac)
Optimización por arrastrar y soltar:
- Procesa SVG, PNG, JPG
- Compresión sin pérdida
4. VectoSolve (durante la conversión)
Los SVG de VectoSolve vienen pre-optimizados:
- Trazados limpios
- Código mínimo
- Sin metadatos
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual DealConfiguración SVGO para máximo ahorro
// svgo.config.js
module.exports = {
plugins: [
'removeDoctype',
'removeXMLProcInst',
'removeComments',
'removeMetadata',
'removeEditorsNSData',
'cleanupAttrs',
'mergeStyles',
'inlineStyles',
'minifyStyles',
'cleanupIds',
'removeUselessDefs',
'cleanupNumericValues',
'convertColors',
'removeUnknownsAndDefaults',
'removeNonInheritableGroupAttrs',
'removeUselessStrokeAndFill',
'cleanupEnableBackground',
'removeHiddenElems',
'removeEmptyText',
'convertShapeToPath',
'convertEllipseToCircle',
'moveGroupAttrsToElems',
'collapseGroups',
'convertPathData',
'convertTransform',
'removeEmptyAttrs',
'removeEmptyContainers',
'mergePaths',
'removeUnusedNS',
'sortDefsChildren',
'removeTitle',
'removeDesc'
]
};
«El SVG más rápido es un SVG pequeño. La optimización no es opcional — es la diferencia entre una interfaz ágil y una lenta.» — Addy Osmani, Google Chrome Team
Ejemplos antes/después
Optimización de logo
| Etapa | Tamaño | Reducción |
|---|---|---|
| Original (Illustrator) | 125 KB | - |
| Eliminar metadatos | 52 KB | 58 % |
| Simplificar trazados | 28 KB | 78 % |
| Fusionar trazados | 18 KB | 86 % |
| Final (SVGO) | 12 KB | 90 % |
Set de iconos (50 iconos)
| Etapa | Tamaño total |
|---|---|
| Original | 450 KB |
| Optimizado | 85 KB |
| Ahorro | 81 % |
Técnicas avanzadas
1. Sprites SVG
Combina múltiples iconos en un archivo:
<svg style="display:none">
<symbol id="icon-home" viewBox="0 0 24 24">...</symbol>
<symbol id="icon-search" viewBox="0 0 24 24">...</symbol>
</svg>
<svg><use href="#icon-home"/></svg>
Beneficios:
- Una sola petición HTTP
- Caché del navegador
- Tamaño total menor
2. Compresión GZIP
Los SVG se comprimen excepcionalmente bien:
| Archivo | Original | Gzipped |
|---|---|---|
| Logo.svg | 12 KB | 3,2 KB |
| Icons.svg | 85 KB | 18 KB |
Configuración del servidor:
gzip on;
gzip_types image/svg+xml;
Los archivos SVG son texto XML, lo que los convierte en candidatos ideales para compresión GZIP. La mayoría de los SVG ven una reducción adicional del 60-75 % tras GZIP. Si tu servidor aún no está configurado para compresión SVG, este es el cambio de mayor impacto que puedes hacer.
3. Carga diferida
Para SVG bajo el fold:
<img src="illustration.svg" loading="lazy" alt="...">
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG FreeImpacto en Core Web Vitals
Los SVG optimizados mejoran directamente:
LCP (Largest Contentful Paint)
- Archivos más pequeños = carga más rápida
- Objetivo: < 2,5 segundos
FID (First Input Delay)
- Menos parsing = interactividad más rápida
- Objetivo: < 100 ms
CLS (Cumulative Layout Shift)
- SVG con viewBox = dimensiones estables
- Objetivo: < 0,1
Conclusión
La optimización SVG es esencial para el rendimiento web. Unos minutos de optimización pueden reducir el tamaño de los archivos un 80 % y mejorar significativamente tus puntuaciones de Core Web Vitals.
Ganancias rápidas:
- Pasa todos tus SVG por SVGO
- Habilita GZIP en tu servidor
- Usa sprites SVG para iconos
- Usa VectoSolve para conversiones pre-optimizadas
Empieza a optimizar: Convierte y optimiza tus imágenes con VectoSolve para SVG instantáneos y listos para la web.
| Técnica de optimización | Reducción media | Impacto Core Web Vitals | Dificultad |
|---|---|---|---|
| Eliminar metadatos del editor | 40–60 % | Mejora LCP | Fácil (automatizado) |
| SVGO con config optimizada | 50–80 % total | Mejora LCP + CLS | Fácil (herramienta CLI) |
| Simplificar trazados y fusionar formas | 15–30 % | Mejora FCP | Medio |
| Usar CSS en vez de estilos inline | 10–20 % | Mejora FCP | Medio |
| Compresión Gzip/Brotli | 60–70 % en red | Mejora TTFB | Fácil (config servidor) |
Fuentes y lecturas adicionales
- web.dev — Guía definitiva de Google sobre rendimiento web incluyendo optimización SVG para Core Web Vitals
- W3C SVG 2 Specification — Especificación oficial que define la estructura SVG válida
- MDN Web Docs — SVG — Referencia técnica para elementos y atributos SVG
- CSS-Tricks: Using SVG — Flujos de trabajo de optimización prácticos y guías de configuración SVGO
- Smashing Magazine — Artículos en profundidad sobre auditoría de rendimiento SVG y casos de estudio