Saltar al contenido
AprenderUXUI » Aprender UX / UI y Diseño de Producto » Cómo exportar SVG para desarrollo

Cómo exportar SVG para desarrollo

Los archivos SVG son archivos en formato vectorial sí, pero también son un misterio y no hay quien los entienda. Es posible que te haya sucedido querer exportar en formato SVG y aunque en pantalla, o incluso aunque en el código, pareciera que todo estaba correcto, a los desarrolladores les haya dado fallo ese SVG. A mí me ha pasado alguna vez que me han pedido convertir iconos SVG en tipografía. Por eso, aquí te van mis trucos para crear y exportar SVGs sin que den fallo

1. Ajustarse al espacio del artboard

Si el espacio es 50 x 50px, el contenido debería ocupar ese área para que luego no haya píxeles perdidos a la hora de implementarlo. Con esto quiero decir, que si en ese mismo artboard, nuestro icono mide 48 x 44, tendremos 1 píxel de separación a cada lado y 3 a cada lado del eje vertical. Por lo tanto, al implementar el icono en una web o app, se mantendrán esos píxeles vacíos que pueden romper el diseño pixel perfect. 

Representación de píxeles vacios entre el artboard y el contenido SVG
Caja de menor tamaño que artboard deja espacios vaciós representados por los rectángulos rojos

2. Tener una buena nomenclatura 

El código de los SVG incluye identificadores (“ID”) y clases (“class”). Si lo aprovechamos, ayudaremos a los desarrolladores a entender las partes del archivo SVG. Para ello, nombraremos cada grupo y cada trazo de forma identificable. Esto se refleja con que el nombre que tenemos en la capa, será luego visible desde el código.

En Figma es muy fácil incluir este identificador ID, basta con marcar la opción en las opciones de exportar SVG. Para exportar la clase ya necesitamos de plugins para Figma como SVG Export

Cuadro de opciones de exportar SVG en Figma
aCuadro de opciones de exportar SVG en Figma

3. Expandir y Expandir apariencia 

En inglés, si no me equivoco, es flatten (aplanar). Esta opción sirve para mejorar la lectura de los SVG los cuales a veces presentan problemas si se entregan como trazo. Yo trabajo los SVG en Illustrator y lo hago desde el menú Objeto → Expandir y a veces después de expandir, cambio a Expandir Apariencia

Captura de pantalla en Illustrator del Menú: Objeto, Expandir para aplanar SVGs
Captura de pantalla en Illustrator del Menú: Objeto, Expandir para aplanar SVGs

Para expandir un SVG en Figma como podéis ver en Comandos y atajos de teclado en Figma se haría con Ctrl + E. También se puede conseguir esto desde el menú Object → Flatten Selection o con click derecho → Flatten

Captura del menú Objeto Flatten Selection en Figma para pulir los SVGs antes de exportarlos
Captura del menú Objeto Flatten Selection en Figma

Sin embargo, para que funcione bien de cara a exportar,  el truco está en duplicar el objeto (Ctrl + D), unirlo con la unión booleana que veremos justo a continuación y ya luego expandir / flatten (Ctrl + E)

4. Unión Booleana

Tanto Figma como Illustrator permiten esta opción para que varios elementos del mismo tipo se fusionen en uno solo. Esto mejora el código y también la lectura del SVG. Es importante resaltar que sean del mismo tipo puesto que las uniones pueden no funcionar bien entre elementos que sean relleno (fill) y elementos que sean trazo (path / stroke)

Esta opción para optimizar SVGs simplifica el código y evitará algunos posibles problemas y engorros de tener muchos trazos sueltos. Sin embargo, valora si te merece la pena hacerlo porque esto quita mucha libertad a la hora de animar esos vectores SVG

Captura de pantalla del buscatrazos de illustrator para hacer operaciones booleanas con formas y trazados
Captura de pantalla del buscatrazos de illustrator para hacer operaciones booleanas con formas y trazados
Captura de pantalla del menú grupos booleanos de Figma para hacer operaciones booleanas con formas y trazados
Captura de pantalla del menú grupos booleanos de Figma para hacer operaciones booleanas con formas y trazados

5. Crear trazado compuesto 

Muchas veces los SVG compuestos por elementos separados dan fallo incluso aunque estén bien agrupados. Crear un trazado compuesto que los aúna suele solucionar el problema. Aunque esto es una solución bastante recurrente, yo sigo recomendando antes la unión booleana para fusionar elementos adyacentes

Esta solución solo la conozco en Illustrator, programa que como digo es el que yo uso para crear y diseñar SVGs. Para acceder a ella, lo hago desde Objeto → Crear trazado compuesto, o lo que es lo mismo, Ctrl + 8

Captura de pantalla del menú objeto trazo compuesto de Illustrator. Solución recurrente antes de exportar SVG
Captura de pantalla del menú objeto trazo compuesto de Illustrator

6. Convertir texto en contorno 

Muchas veces los iconos o las imágenes SVG contienen letras o símbolos como en el ejemplo que pongo a continuación. Por tanto tenemos caracteres que forman parte de la imagen. Esto probablemente genere algún inconveniente de lectura. Por eso convertir el texto en contorno pulirá el SVG y evitará una posible incompatibilidad con la tipografía usada. 

Para convertir el texto en contorno, en Illustrator lo hago desde el menú texto → Crear contornos o con el atajo de teclado Shift + Ctrl + O

Captura del menú Texto Crear Contornos en Illustrator para evitar problemas con el texto en los SVG
Captura del menú Texto Crear Contornos en Illustrator

Convertir texto en contorno en Figma es más sencillo, basta con Ctrl + E o lo que es lo mismo, flatten

Bien, estos son mis consejos para que puedas exportar iconos o ilustraciones en SVG de forma exitosa y sin que el formato vectorial de problemas al equipo de desarollo. Si tienes cualquier duda, escríbemela en los comentarios y te responderé lo más rápido que pueda.