Skip to content
Back to Blog
informational

¿Qué es SVG? Gráficos Vectoriales Escalables Explicados

2026-05-17 9 min read

La respuesta corta: SVG es un archivo de texto que dibuja imágenes

SVG significa Scalable Vector Graphics (Gráficos Vectoriales Escalables). En esencia, un archivo SVG es solo un archivo de texto. Si abres uno en un editor de texto, no verás una cuadrícula de píxeles como en un JPEG o PNG; verás un marcado XML que describe cómo dibujar formas. Es un conjunto de instrucciones matemáticas —rutas definidas por curvas, círculos con un centro y radio, rectángulos con un ancho y alto— que le dice a un navegador o editor de imágenes cómo renderizar una imagen. Un logotipo simple podría ser de solo 2 KB de texto. La verdadera magia está en el nombre: 'escalable'. Debido a que el archivo describe geometría en lugar de una cuadrícula de píxeles fija, puedes usar el mismo archivo SVG para un favicon minúsculo de 16×16 píxeles y una valla publicitaria de 3 metros de ancho sin ninguna pérdida de calidad. Intenta estirar un PNG a 10 veces su tamaño original y obtendrás un desastre borroso. Un SVG estirado a 10 veces su tamaño se ve perfectamente nítido, idéntico al original. SVG es un estándar abierto del W3C, con la versión estable actual siendo SVG 1.1 (publicada en 2011) y SVG 2 aún en desarrollo. La buena noticia es que no tienes que preocuparte por la compatibilidad. Cada navegador moderno —Chrome, Firefox, Safari, Edge— maneja SVG de forma nativa. Esta es precisamente la razón por la que los desarrolladores web lo han adoptado para todo, desde iconos y logotipos hasta gráficos e ilustraciones complejas.

Cómo SVG difiere de los formatos ráster (PNG, JPEG, WebP)

Las imágenes ráster como PNG, JPEG y WebP son esencialmente enormes cuadrículas de cuadrados de colores. Un archivo PNG de 1920×1080 almacena el valor de color específico para cada uno de sus 2.073.600 píxeles. El archivo no tiene el concepto de un 'círculo' o una 'línea'; solo sabe que el píxel en la coordenada (142, 87) es un tono particular de azul. Este método es perfecto para fotografías, donde tienes millones de sutiles variaciones de color que ninguna fórmula podría describir de manera eficiente. Los formatos vectoriales como SVG funcionan en la dirección opuesta. Un SVG no almacena píxeles. En cambio, almacena un comando como 'dibujar un círculo relleno en las coordenadas (150, 90) con un radio de 40 píxeles y el color de relleno #0057FF'. El navegador o el visor de imágenes hace el trabajo de calcular qué píxeles colorear cuando se muestra la imagen. Esto hace que el archivo sea completamente independiente de la resolución. Esta diferencia tiene enormes consecuencias prácticas. Para usar el logotipo de una empresa en diferentes medios, podrías necesitar un PNG de 32px para un favicon, una versión de 200px para el encabezado del sitio web y una de 2000px para un folleto impreso. Con SVG, un solo archivo maneja todos esos casos de uso sin problemas. Por otro lado, intentar representar la fotografía de una montaña como un SVG sería un desastre. El archivo necesitaría millones de elementos de ruta individuales para siquiera aproximar el detalle, lo que resultaría en un archivo gigantesco que aún se vería peor que un JPEG de una décima parte de su tamaño. No le creas a nadie que te diga que SVG es *siempre* más pequeño. El tamaño del archivo depende completamente de la complejidad. Un icono simple de dos colores es probablemente más pequeño como un SVG de 800 bytes que como un PNG de 4 KB. Pero una ilustración detallada con muchos degradados y cientos de rutas podría ser fácilmente de 200 KB como SVG, mientras que una versión PNG comprimida es de solo 80 KB. Elegir el formato correcto requiere saber qué hay en la imagen.

Qué contienen realmente los archivos SVG: Una mirada al interior

Como SVG es solo XML, no necesitas ningún software especial para echar un vistazo dentro. Aquí tienes un archivo SVG completo que dibuja un círculo rojo con un borde azul grueso: <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="40" fill="#E63946" stroke="#1D3557" stroke-width="4"/></svg> Esa imagen completa es de solo 141 caracteres de texto. El atributo `viewBox` configura nuestro lienzo de dibujo: un sistema de coordenadas de 100×100. Los atributos `cx`, `cy` y `r` definen la posición y el tamaño del círculo. Puedes copiar y pegar este código directamente en un archivo HTML, y tu navegador web renderizará la imagen perfectamente. Por supuesto, los SVG del mundo real suelen ser más complejos. Herramientas de diseño como Adobe Illustrator o Figma son conocidas por exportar archivos inflados llenos de metadatos, etiquetas específicas del editor y, a veces, incluso imágenes ráster ocultas para efectos que no pueden expresarse como vectores. Un SVG exportado con la configuración predeterminada puede ser 15-20 veces más grande que el mismo archivo después de haber sido optimizado. El verdadero poder de SVG reside en el elemento `<path>`. El atributo `d` de una ruta contiene su propio pequeño lenguaje, con comandos para mover una pluma virtual (`M`), dibujar líneas (`L`), crear curvas complejas (`C`) y cerrar formas (`Z`). Un solo y largo elemento de ruta puede describir cualquier forma imaginable, desde el contorno de un país en un mapa hasta una forma de letra personalizada. Así es como los gráficos vectoriales logran sus curvas suaves características que nunca se pixelan, sin importar cuánto hagas zoom.

Casos de uso comunes: Dónde SVG sobresale y dónde no

Los logotipos son el ejemplo perfecto para SVG. Una única marca necesita verse nítida en un encabezado de sitio web de 120px, una tarjeta de presentación de 0.75 pulgadas y un banner de feria comercial de varios metros. Usar un archivo SVG maestro es infinitamente más sensato y fiable que intentar gestionar una carpeta de archivos ráster para cada resolución posible. Los iconos son otro caso de uso perfecto. Los conjuntos de iconos modernos como Font Awesome se distribuyen como SVG. Con un tamaño pequeño de 24×24 píxeles, un icono SVG puede ser tan nítido como un PNG perfecto en píxeles, pero también escala maravillosamente a 48px o 96px para las pantallas de alta DPI en teléfonos y laptops modernos, todo desde el mismo archivo fuente. Aquí hay un caso de uso importante que la gente suele olvidar: la visualización de datos. Cuando ves un gráfico interactivo en un sitio de noticias, es muy probable que sea SVG. Librerías como D3.js construyen estas visualizaciones dinámicamente en el navegador. Cada barra en un gráfico de barras, cada punto en un diagrama de dispersión y cada región en un mapa es un elemento SVG distinto que puede ser estilizado con CSS y manipulado con JavaScript. Ahora, un baño de realidad: no uses SVG para fotografías. Los tonos continuos y las texturas complejas de una foto no pueden describirse eficientemente con rutas vectoriales. Cualquier intento de 'trazar' una foto en un SVG producirá un archivo monstruosamente grande que parecerá un proyecto de arte vectorizado barato, no una fotografía. Para cualquier cosa fotográfica, quédate con JPEG, WebP o AVIF. Te darán archivos mucho más pequeños y una calidad muy superior. Además, ten cuidado con SVG en flujos de trabajo de impresión profesionales. El mundo de la impresión todavía gira en torno al color CMYK, los colores directos y los ajustes de sobreimpresión, y formatos como PDF y EPS tienen un soporte mucho más profundo y fiable para estas características. El espacio de color nativo de SVG es RGB, y aunque puedes incrustar perfiles CMYK, el soporte en el software de las imprentas es, en el mejor de los casos, inconsistente.

Convertir a y desde SVG: Qué funciona y qué no

Convertir entre formatos vectoriales suele ser la parte fácil. Pasar de AI a SVG, de EPS a SVG, o de un PDF basado en vectores a SVG es a menudo un proceso limpio porque los datos geométricos subyacentes ya están ahí. Es principalmente una traducción del lenguaje de un formato de archivo a otro. CocoConvert maneja estas conversiones de vector a vector de manera fiable, preservando rutas, colores y tipografía. Convertir una imagen ráster como un PNG o JPEG en un SVG es una bestia completamente diferente. Este proceso, llamado auto-trazado, implica que el software adivine dónde están las formas en tu imagen basada en píxeles y dibuje rutas vectoriales para aproximarlas. Cualquiera que haya introducido un logotipo complejo en un conversor en línea y haya obtenido un amasijo grumoso conoce el dolor. Los resultados pueden ser aceptables para un gráfico muy simple y de alto contraste, pero para cualquier cosa compleja, es una aproximación. Para una versión vectorial de un logotipo verdaderamente limpia, nada supera a un diseñador redibujándolo manualmente en una herramienta como Illustrator o Inkscape. Ir en la otra dirección —de SVG a un formato ráster como PNG— es sencillo. Como el SVG no tiene un tamaño de píxel inherente, solo necesitas decirle al conversor qué tan grande quieres que sea el PNG final. CocoConvert te permite especificar un ancho objetivo, y la altura se calcula automáticamente para mantener la relación de aspecto. Para uso web, exportar en tamaños 1× y 2× (por ejemplo, 400px y 800px de ancho) es una práctica común. Para una impresión de alta calidad de 300 DPI, recuerda que una imagen de 4 pulgadas de ancho debe exportarse a 1200 píxeles de ancho. Una última conversión que a menudo confunde a la gente es de SVG a PDF. Como ambos pueden ser formatos vectoriales, la conversión suele ser sin pérdidas para la obra de arte en sí. El truco está en las fuentes. Si tu SVG usa una fuente instalada en tu sistema pero no la incrusta, el PDF resultante podría sustituirla por otra cosa, rompiendo tu diseño. El consejo profesional es convertir todo el texto a contornos en tu software de diseño *antes* de exportar el SVG.

SVG en el desarrollo web: Incrustación, estilo y animación

Tienes varias formas de poner un SVG en una página web, y el método que elijas tiene consecuencias reales. La más sencilla es una etiqueta `<img>`: `<img src="logo.svg" alt="Logotipo de la empresa">`. Esto es fácil, pero es una caja negra. No puedes acceder a su interior con CSS para cambiar el color de una forma, ni puedes animarlo con JavaScript. Para obtener control total, tienes que incrustar el SVG directamente en tu HTML. El marcado SVG se convierte en parte del DOM, al igual que tus `<div>`s y `<p>`s. Aquí es donde SVG realmente brilla en la web. Puedes apuntar a cualquier elemento dentro del SVG con selectores CSS para cambiar rellenos al pasar el ratón, o usar JavaScript y la API de animaciones web para crear interacciones complejas. Así es como los frameworks de front-end modernos usan los SVG para iconos: se renderizan en línea como componentes. Usar `background-image: url('icon.svg')` en tu CSS es una tercera opción, excelente para patrones repetitivos o elementos decorativos. Al igual que la etiqueta `<img>`, sin embargo, aísla el SVG, impidiendo cualquier estilo interno. Puedes sortear esto creando y enlazando a diferentes archivos SVG para diferentes estados, pero no es una solución particularmente elegante. Las animaciones es donde los SVG se ponen realmente divertidos. Puedes aplicar animaciones y transiciones CSS estándar a cualquier elemento en un SVG incrustado. Un truco popular para efectos de 'dibujo' utiliza las propiedades CSS `stroke-dasharray` y `stroke-dashoffset` para hacer que una ruta parezca dibujarse a sí misma en pantalla. También existe una sintaxis de animación SVG nativa llamada SMIL, pero con su historial de soporte irregular (nunca funcionó en Internet Explorer), la mayoría de los desarrolladores hoy en día se quedan con CSS o JavaScript. Finalmente, una palabra sobre el rendimiento. No dejes que la pureza vectorial arruine la velocidad de tu sitio. Un SVG muy grande y complejo con miles de rutas puede ser lento de renderizar para un navegador. Si tienes una ilustración intrincada utilizada como fondo, quizás te convenga más rasterizarla a un archivo WebP optimizado. La pequeña pérdida de escalabilidad vale la pena si ahorra 300ms de tiempo de pintado en un dispositivo móvil.

Optimización de archivos SVG: Reducir el tamaño sin perder calidad

Nunca confíes en un archivo SVG directamente salido de una herramienta de diseño. Casi siempre están inflados con datos innecesarios. Illustrator y otros editores añaden toneladas de metadatos XML, atributos específicos del editor, capas ocultas y definiciones no utilizadas. No es raro ver un archivo de logotipo de 18 KB reducirse a 3 KB después de la optimización —una reducción del 80% sin absolutamente ningún cambio visual. La herramienta estándar de la industria para este trabajo es SVGO (SVG Optimizer). Aunque es una utilidad de línea de comandos, la forma más fácil de usarla es a través de una GUI basada en web, y la mejor es SVGOMG de Jake Archibald. Puedes pegar tu código SVG o subir un archivo y alternar visualmente diferentes configuraciones de optimización para ver su efecto en el tamaño del archivo y el renderizado. Las mayores ganancias suelen provenir de eliminar metadatos, colapsar grupos, eliminar elementos ocultos y convertir formas simples como `<rect>` en elementos `<path>` más eficientes. Presta especial atención al deslizador 'Precisión', que controla los decimales en las coordenadas. Reducirlo de 6 a 2 a menudo puede recortar un 20-30% del tamaño del archivo sin ninguna diferencia perceptible. Si estás incrustando SVG directamente en tu HTML para iconos, puedes ser aún más agresivo. El atributo `xmlns` no es necesario para los SVG incrustados en HTML5, e incluso puedes eliminar el `viewBox` si sabes que el icono siempre tendrá un tamaño fijo (aunque esto es menos común y puede ser arriesgado). CocoConvert aplica algunas optimizaciones básicas automáticamente, como eliminar metadatos y reducir la precisión de las coordenadas. Esto te da un buen punto de partida. Pero para el uso web en producción, donde cada kilobyte cuenta, recomendamos encarecidamente procesar tus archivos con SVGOMG. Una herramienta automatizada debe ser conservadora, pero un humano que pueda revisar la salida puede llevar la optimización mucho más lejos de forma segura para obtener el archivo más pequeño posible.

¿Qué es SVG? Gráficos Vectoriales Escalables Explicados | CocoConvert Blog