Generador de sprites CSS
ImágenesTodo se ejecuta en tu navegador: no se sube nada
Arrastra la imagen aquí o haz clic para elegirla
También puedes pegar una captura con Ctrl/⌘ + V
PNG / JPEG / WebP / GIF / BMP / AVIF · hasta 30 MB cada una
Suelta varios iconos pequeños y la herramienta los empaqueta en una imagen, devolviendo el `background-position` de cada uno: una sola petición para todo el conjunto. Los sitios con muchos iconos diminutos aún funcionan así. El empaquetado usa el clásico algoritmo de estanterías: ordenar por altura descendente, colocar en la estantería actual, abrir una nueva cuando no cabe, con la altura de la estantería tomada de su elemento más alto. El orden importa: sin él, una sola imagen alta deja un agujero grande en su estantería mientras las bajas que vienen después no caben. Dos trampas habituales, dichas por adelantado: el hueco no es solo estético —cuando escalas todo el sprite con `background-size`, la interpolación bilineal toma los bordes de los iconos vecinos, lo que aparece como una franja de otro color; uno o dos píxeles transparentes cortan ese camino—. Y las imágenes @2x necesitan que cada posición y cada tamaño se reduzcan a la mitad en el CSS, más un `background-size` en la clase base: si falta cualquiera de los dos, los iconos salen al doble de tamaño o desalineados.
Funciones
- Suelta varias imágenes a la vez y obtén un único PNG empaquetado
- Genera el CSS de cada icono: background-position más ancho y alto
- Tres disposiciones: automática y compacta, una fila, una columna
- Hueco ajustable, para que los vecinos no se sangren al escalar
- El modo @2x reduce a la mitad las posiciones y los tamaños y escribe background-size
- Nombres de clase derivados de los archivos, saneados a selectores válidos
- Los nombres duplicados reciben un sufijo, así dos iconos nunca comparten una regla
- El CSS llega como salida de texto aparte: cópialo o descárgalo como .css
- Las imágenes nunca se suben; funciona sin conexión
Cómo se usa
- Suelta varios iconos en la zona de puntos (o elige varios archivos)
- Elige la disposición y el hueco; marca @2x si los iconos son recursos 2×
- Descarga el PNG empaquetado y copia el CSS generado
- Pon el PNG en tu proyecto y apunta el url() a su ruta real
Preguntas frecuentes
- ¿Siguen teniendo sentido los sprites?
- Depende. HTTP/2 y HTTP/3 abarataron mucho las peticiones extra, y los iconos SVG pueden incrustarse como un único conjunto de `<symbol>`. Pero cuando hay muchos iconos diminutos en mapa de bits (interfaces de juego, paneles de administración antiguos, barras de herramientas), los sprites siguen siendo la forma más sencilla de ganar: una petición en lugar de decenas, sin tocar tu compilación. Al contrario, con una docena de iconos, el SVG plano es más claro y mucho más fácil de recolorear.
- ¿Por qué dejar un hueco de 1–2px?
- Porque escalar todo el sprite con `background-size` (la forma habitual de soportar pantallas de alta densidad) hace que el navegador interpole: al muestrear el borde de un icono arrastra también el del vecino, lo que aparece como una franja de color equivocado. Uno o dos píxeles totalmente transparentes cortan ese camino. A escala 1×, cero es perfectamente válido.
- ¿Qué hace exactamente el modo @2x?
- Trata las entradas como recursos 2×: el `width` / `height` y el `background-position` de cada icono se reducen a la mitad en el CSS, y la clase base recibe un `background-size` con la mitad de las dimensiones del sprite. Los iconos se muestran entonces a su tamaño lógico en pantallas normales y a toda la densidad de píxeles en las de alta densidad. Equivocarse se nota como iconos al doble de tamaño (sin reducir) o como un pequeño fragmento de la esquina superior izquierda (sin background-size).
- ¿Cómo se deciden los nombres de clase?
- El nombre del archivo pierde su extensión y se sanea a letras minúsculas, dígitos y guiones, y luego se añade tu prefijo. Sanear no es opcional: los nombres de clase entran en el CSS y en el HTML, y los caracteres CJK, los espacios o las comillas de un nombre de archivo romperían el selector o escaparían de un atributo. Un nombre que se queda sin nada usable (un archivo todo en CJK, por ejemplo) pasa a ser icon-1 por posición, y dos iconos que chocan en un nombre reciben un sufijo numérico (-2, -3), para que sus reglas no se sobrescriban.
Herramientas relacionadas
Unidor de imágenes
ImágenesUne imágenes en una tira vertical, en paralelo o en cuadrícula. Ajusta hueco, esquinas y fondo; el tamaño uniforme nunca amplía.
Iconos de aplicación
ImágenesGenera el AppIcon de iOS, los mipmap de Android, el icono adaptativo y el .icns de macOS desde una imagen. Ajusta esquinas y margen; iOS se aplana.
Compresor de imágenes
ImágenesComprime una imagen a un tamaño objetivo (por ejemplo, bajo 200 KB): busca por bisección la calidad más alta que quepa. También por calidad y tamaño.
Conversor de formato
ImágenesConvierte entre PNG, JPEG, WebP, AVIF, BMP y TIFF, con calidad y tamaño ajustables. Al pasar a JPEG se pinta un fondo: la transparencia no sale negra.
Divisor de imágenes
ImágenesDivide una imagen en cuadrícula para publicar en nueve celdas o partir una imagen larga. Seis cuadrículas, margen por celda y nombres numerados.
Marca de agua
ImágenesAñade una marca de agua: nueve posiciones y mosaico, tamaño proporcional a la imagen y opacidad ajustable. El mosaico inclinado resiste el recorte.