IT Image Tools

Sprite sheet-generator — PNG + JSON + CSS

Kombinera flera bilder till ett sprite sheet i PNG med JSON- och CSS-koordinater. Rutnät eller packad layout, justerbart mellanrum — gratis och helt i webbläsaren.

🔒 Körs helt i din webbläsare — ingenting laddas upp

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

CSS preview
Advertisement

Vad ett sprite sheet är och varför det hjälper

Ett sprite sheet samlar många små bilder — animationsrutor, speltiles, UI-ikoner, emojier eller flaggor — i en enda större bild. Att ladda en fil i stället för dussintals minskar antalet HTTP-förfrågningar och texturbyten, vilket gör att webbsidor och spel laddas och renderas snabbare. Varje enskild sprite visas sedan genom att man hänvisar till dess rektangel i arket. Den här sprite sheet-generatorn skapar bilden och koordinaterna åt dig: släpp dina filer, välj en layout och ladda ner en PNG tillsammans med en JSON-datafil och en färdig CSS-stilmall.

Allt arbete sker i din webbläsare. Bilderna ritas lokalt på en canvas och koordinatfilerna genereras i JavaScript, så din grafik laddas aldrig upp och det finns ingen gräns för hur många gånger du kan generera om arket medan du experimenterar med inställningarna.

Rutnät eller packad layout

Det enhetliga rutnätet ger varje sprite en cell lika stor som den största bilden och centrerar varje sprite i sin cell. Den förutsägbara strukturen är vad de flesta animationssystem förväntar sig: ruta n ligger alltid i kolumn n modulo antalet kolumner. Packade rader sorterar sprites efter höjd och fyller rader upp till en målbredd, vilket slösar betydligt mindre utrymme när dina bilder har olika storlekar. I båda lägena lägger mellanrumsvärdet till transparent utrymme runt varje sprite för att undvika färgblödning när arket skalas.

Använda JSON- och CSS-utdata

JSON-filen listar varje sprite med ett rent namn som härleds från filnamnet, med dess x- och y-position, bredd och höjd, samt arkets totala storlek. Spelramverk som Phaser och PixiJS kan läsa in detta hash-format direkt, och det är lätt att tolka i vilket språk som helst. CSS-filen definierar en basklass som sätter arket som bakgrundsbild och en klass per sprite med dess storlek och bakgrundsposition, så en ikon är bara en span med två klasser. Ändra klassprefixet så att det passar ditt projekts namngivning, och lägg PNG-filen bredvid CSS-filen eller justera URL:en.

Hur man använder

  1. Lägg till bilderSläpp de enskilda sprites eller ikonerna; de läggs till i den ordning du släpper dem.
  2. Välj en layoutVälj ett enhetligt rutnät med ett antal kolumner, eller packade rader, och ställ in mellanrummet.
  3. Kontrollera förhandsvisningenGranska arket och ta bort en bild genom att klicka på dess namn.
  4. Ladda nerSpara PNG-arket samt koordinatfilerna i JSON och CSS.

Vanliga frågor

Laddas mina bilder upp för att skapa sprite sheetet?
Nej. Bilderna ritas på en canvas i din webbläsare och PNG-, JSON- och CSS-filerna genereras lokalt. Ingenting laddas upp.
Ska jag använda ett enhetligt rutnät eller packade rader?
Använd det enhetliga rutnätet för animationsrutor och spelmotorer som förväntar sig lika stora celler. Använd packade rader för ikoner i olika storlekar när du vill ha minsta möjliga ark.
Vilket JSON-format exporteras?
En hash i TexturePacker-stil: ett frames-objekt med spritenamnet som nyckel, var och en med frame x, y, w, h och sourceSize, plus meta med bildnamnet och arkets storlek. Många motorer som Phaser och PixiJS kan läsa det.
Varför lägga till mellanrum mellan sprites?
Ett mellanrum på 1–2 pixlar förhindrar att intilliggande sprites blöder in i varandra när arket skalas eller filtreras av en webbläsare eller GPU.
Advertisement