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
Var verktyget anvÀndbart? BetygsÀtt det:

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.