Markdown.es Logo Markdown.es

¿Te es útil esta web? Apóyala sin coste: si compras en Amazon, hazlo a través de nuestro enlace de afiliado — el precio es el mismo para ti y nos ayuda a seguir.

Utilidades

SVG a CSS

Convierte un SVG en un data URI listo para pegar en tu CSS, escapado correctamente y sin el sobrecoste de Base64.

Código SVG

Vista previa

Tamaños

SVG original
0 B
Escapado por URL
0 B
En Base64
0 B
Ahorro frente a Base64
0%
CSS resultante

Por qué escapar es mejor que Base64

Base64 se diseñó para transportar datos binarios por canales de texto. Un SVG ya es texto, así que pasarlo por Base64 es dar un rodeo: crece un 33% y deja de ser legible.

Escapando únicamente los caracteres que romperían el CSS, el data URI queda más corto que el SVG original en Base64 y además se puede leer, buscar y editar directamente en la hoja de estilos. En un icono típico el ahorro ronda el 25%.

Cómo colorear un SVG desde CSS

Un SVG usado como background-image no se puede recolorear desde fuera: es una imagen y sus colores están dentro. Si necesitas que el icono cambie de color, la solución es usarlo como máscara:

.icono {
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,…");
  mask-size: contain;
  mask-repeat: no-repeat;
}

Así el color lo pone background-color y el SVG solo define la forma. Elige la opción "mask-image" arriba y obtienes ese CSS ya montado. Es la técnica que usan la mayoría de sistemas de iconos actuales.

Preguntas frecuentes

¿Por qué no usar Base64 para el SVG? Porque un SVG es texto, y codificarlo en Base64 lo hace un 33% más grande sin ninguna ventaja. Escapando solo los caracteres problemáticos, el resultado es más corto y además se puede leer y editar a mano.
¿Puedo cambiar el color desde CSS? No directamente: un SVG incrustado como imagen de fondo no hereda currentColor ni se puede pintar con fill desde fuera. Si necesitas cambiar el color, edita el atributo fill dentro del propio SVG antes de convertirlo, o usa una máscara CSS.
¿Qué caracteres hay que escapar? Las comillas dobles, el símbolo de porcentaje, la almohadilla, el signo menor y mayor, y los caracteres no ASCII. La almohadilla es especialmente importante porque en CSS inicia un identificador de color y rompe la declaración.
¿Funciona en todos los navegadores? Sí. Los data URI con SVG están admitidos por todos los navegadores actuales y desde hace muchos años. La única precaución es escapar bien el contenido, que es justo lo que hace esta herramienta.
Todo ocurre en tu navegador

Esta utilidad se ejecuta enteramente en tu equipo con JavaScript. Lo que escribes o pegas no se envía a ningún servidor, no se guarda y no queda registrado en ninguna parte.

¿Buscas una app para instalar?

80+ Apps Markdown

El directorio más completo en español. Filtra por plataforma, precio y uso.

Ver Aplicaciones →