IT Image Tools

Generador de sprite sheets — PNG + JSON + CSS

Combina varias imágenes en un único sprite sheet PNG con coordenadas JSON y CSS. Diseño en cuadrícula o compacto, control del espaciado — gratis y totalmente en tu navegador.

🔒 Se ejecuta completamente en tu navegador — nada se carga

Drop images here or click to browse (PNG, JPG, WebP, GIF, SVG)

CSS preview
Advertisement

Qué es un sprite sheet y por qué ayuda

Un sprite sheet agrupa muchas imágenes pequeñas — fotogramas de animación, tiles de juego, iconos de UI, emojis o banderas — en una sola imagen más grande. Cargar un archivo en lugar de decenas reduce las peticiones HTTP y los cambios de textura, lo que hace que las páginas web y los juegos carguen y se rendericen más rápido. Cada sprite individual se muestra luego haciendo referencia a su rectángulo dentro de la hoja. Este generador de sprite sheets crea la imagen y las coordenadas por ti: suelta tus archivos, elige un diseño y descarga un PNG junto con un archivo de datos JSON y una hoja de estilos CSS lista para usar.

Todo el trabajo se realiza en tu navegador. Las imágenes se dibujan localmente en un canvas y los archivos de coordenadas se generan en JavaScript, así que tus gráficos nunca se suben y no hay límite de veces que puedas regenerar la hoja mientras experimentas con los ajustes.

Cuadrícula o diseño compacto

La cuadrícula uniforme asigna a cada sprite una celda tan grande como la imagen más grande y centra cada sprite dentro de su celda. Esa estructura predecible es lo que esperan la mayoría de los sistemas de animación: el fotograma n siempre está en la columna n módulo el número de columnas. Las filas compactas ordenan los sprites por altura y llenan filas hasta un ancho objetivo, lo que desperdicia mucho menos espacio cuando tus imágenes tienen tamaños distintos. En ambos modos, el valor de espaciado añade espacio transparente alrededor de cada sprite para evitar que los colores se mezclen al escalar la hoja.

Cómo usar la salida JSON y CSS

El archivo JSON enumera cada sprite con un nombre limpio derivado de su nombre de archivo, con su posición x e y, ancho y alto, además del tamaño total de la hoja. Frameworks de juegos como Phaser y PixiJS pueden cargar directamente este formato hash, y es fácil de analizar en cualquier lenguaje. El archivo CSS define una clase base que establece la hoja como imagen de fondo y una clase por sprite con su tamaño y posición de fondo, de modo que un icono es simplemente un span con dos clases. Cambia el prefijo de clase para que coincida con la nomenclatura de tu proyecto y mantén el PNG junto al archivo CSS o ajusta la URL.

Cómo usar

  1. Añade imágenesSuelta los sprites o iconos individuales; se añaden en el orden en que los sueltas.
  2. Elige un diseñoSelecciona una cuadrícula uniforme con un número de columnas, o filas compactas, y ajusta el espaciado.
  3. Revisa la vista previaRevisa la hoja y elimina cualquier imagen haciendo clic en su nombre.
  4. DescargaGuarda la hoja PNG junto con los archivos de coordenadas JSON y CSS.

Preguntas frecuentes

¿Se suben mis imágenes para crear el sprite sheet?
No. Las imágenes se dibujan en un canvas en tu navegador y los archivos PNG, JSON y CSS se generan localmente. No se sube nada.
¿Debo usar una cuadrícula uniforme o filas compactas?
Usa la cuadrícula uniforme para fotogramas de animación y motores de juego que esperan celdas iguales. Usa filas compactas para iconos de distintos tamaños cuando quieras la hoja más pequeña posible.
¿Qué formato JSON se exporta?
Un hash al estilo TexturePacker: un objeto frames indexado por el nombre del sprite, cada uno con frame x, y, w, h y sourceSize, además de meta con el nombre de la imagen y el tamaño de la hoja. Muchos motores como Phaser y PixiJS pueden leerlo.
¿Por qué añadir espaciado entre sprites?
Un hueco de 1–2 píxeles evita que los sprites vecinos se mezclen entre sí cuando un navegador o la GPU escala o filtra la hoja.
Advertisement