Sprite sheet-generator
Sleep een reeks afbeeldingen en de generator plaatst ze op een gelijkmatig raster en tekent één sprite sheet-PNG in je browser, en levert daarna CSS met een background-position-offset per sprite. Alles draait lokaal op het canvas, dus er wordt niets naar een server geüpload. Handig voor iconensets, retro-gameframes en UI-toestanden waarbij je liever één bestand hebt dan veel losse afbeeldingen. Jij bepaalt het aantal kolommen, de tegelgrootte, de tussenruimte tussen cellen en de achtergrond (transparant, wit of zwart).
Zo wordt het sprite sheet gebouwd
-
1
Sleep je afbeeldingen
Voeg PNG-, JPG- of WebP-bestanden toe. Herschik ze met de omhoog/omlaag-knoppen of verwijder een frame; het sheet wordt meteen opnieuw opgebouwd.
-
2
Stel het raster in
Kies het aantal kolommen; het aantal rijen volgt uit hoeveel afbeeldingen je toevoegde. Elke afbeelding wordt geschaald om in één vierkante tegel te passen, met behoud van de beeldverhouding en gecentreerd.
-
3
Regel tegelgrootte en tussenruimte
Kies de tegelgrootte in pixels en voeg tussenruimte tussen cellen toe zodat naburige sprites niet in elkaar overlopen bij het schalen.
-
4
Download de PNG en kopieer de CSS
Sla het sprite sheet op als één PNG en kopieer de gegenereerde CSS-klassen, één `.spr-naam`-regel per afbeelding met breedte, hoogte en background-position.
Zo werkt de indeling
De generator gebruikt één voorspelbare indeling: een gelijkmatig raster. Je stelt het aantal kolommen in, het aantal rijen is naar_boven_afronden(afbeeldingen / kolommen). Elke cel heeft dezelfde vierkante grootte (de gekozen tegelgrootte), dus elke afbeelding wordt geschaald om in haar cel te passen met behoud van de beeldverhouding en wordt gecentreerd. Afbeeldingen van verschillende grootte komen allemaal in gelijke cellen terecht, precies wat CSS-sprites met background-position verwachten.
| Instelling | Bereik | Effect |
|---|---|---|
| Kolommen | 1 tot 16 | Sprites per rij; de rijen worden automatisch berekend |
| Tegelgrootte | 32 tot 512 px | De vierkante cel waarin elke afbeelding wordt gepast |
| Tussenruimte | 0 tot 64 px | Transparante ruimte tussen cellen om overlopen bij schalen te voorkomen |
| Achtergrond | Transparant / Wit / Zwart | Vulling achter de sprites in de uitvoer-PNG |
Vorm van de gegenereerde CSS
Elke afbeelding wordt een klasse met de naam van het bestand (.spr-<naam>), op de tegelgrootte gedimensioneerd en naar haar cel verschoven. Bij vier kolommen, een tegelgrootte van 128 px en zonder tussenruimte ziet het sheet er zo uit:
.spr-idle { width: 128px; height: 128px; background: url(spritesheet.png) -0px -0px; }
.spr-walk { width: 128px; height: 128px; background: url(spritesheet.png) -128px -0px; }
.spr-run { width: 128px; height: 128px; background: url(spritesheet.png) -256px -0px; }
.spr-jump { width: 128px; height: 128px; background: url(spritesheet.png) -384px -0px; }
.spr-fall { width: 128px; height: 128px; background: url(spritesheet.png) -0px -128px; }
De offset beweegt in twee dimensies: sprites vullen elke rij van links naar rechts en springen dan naar de volgende rij. Sla de PNG op als spritesheet.png naast je CSS (of pas url(...) aan je pad aan).
Tussenruimte en overlopen
Sprites die rand aan rand zijn gepakt kunnen in elkaar overlopen wanneer de browser het sheet schaalt (niet-gehele pixelverhoudingen, CSS-transformaties). Voeg 2 tot 4 pixels tussenruimte tussen cellen toe zodat naburige pixels niet doorlekken.
Schermen met hoge dichtheid (retina)
Er is geen automatische 2x-export, maar je kunt eenvoudig een scherper sheet maken: kies een grotere tegelgrootte (bijvoorbeeld 256 px in plaats van 128 px) zodat elke sprite meer pixels draagt, en toon hem dan op de helft van de CSS-grootte. Zo krijg je scherpe sprites op schermen met hoge dichtheid zonder aparte doorgang.
Sprite sheets of alternatieven
- Sprite sheets: klassieke iconensets in CSS, HTML5-gameframes en pagina’s die baat hebben bij het bundelen van veel kleine afbeeldingen in één bestand.
- SVG-sprites (symbol): beter voor moderne UI-iconen, schalen zuiver, accepteren CSS
fill, geen gegoochel metbackground-position. - Icoonlettertypen: beperkt, maar nog steeds in gebruik voor piepkleine eenkleurige iconen.
- Losse bestanden met HTTP/2 of HTTP/3: multiplexing maakt het aantal verzoeken minder belangrijk dan vroeger.
Veelgestelde vragen
De afbeeldingen blijven in je browser. In het traject met meerdere stappen worden de geselecteerde bestanden en de indeling maximaal 30 minuten tijdelijk in dit browsertabblad bewaard. Niets wordt naar een server gestuurd of in de URL gezet.
Ja, maar inline-SVG of SVG-<symbol>-sprites passen meestal beter bij componentframeworks. CSS-sprite sheets komen tot hun recht wanneer veel afbeeldingen tegelijk op statische pagina’s worden getoond.
Zet het aantal kolommen gelijk aan je aantal frames zodat elk frame op één rij staat, en stuur het dan met CSS animation-timing-function: steps(N) en een background-position die cel voor cel verspringt. Werkt goed voor korte lus-animaties (loaders, rusttoestanden).
Elke cel in het raster heeft dezelfde vierkante grootte (de gekozen tegelgrootte), dus elke afbeelding wordt in haar cel gepast en gecentreerd. Zijn je sprites al identieke vierkanten, stel dan de tegelgrootte daarop in en ze gaan ongewijzigd door.
Gerelateerde tools
PNG naar SVG vectoriseren
Trek PNG-rasterafbeeldingen in de browser over als SVG-paden. Ideaal voor logo’s, iconen en lijntekeningen. Regel drempelwaarde, aantal kleuren en afvlakking.
WebP naar PNG
Converteer WebP-afbeeldingen naar PNG met behoud van transparantie en pixelnauwkeurige kwaliteit voor bewerken, afdrukken en oudere ontwerptools.
Foto-editor
Browsergebaseerde foto-editor met bijsnijden, draaien, helderheid, contrast, verzadiging, filters, tekstoverlay en export naar JPG, PNG of WebP.
GIF-maker
Zet een reeks afbeeldingen om in een geanimeerde GIF. Stel beeldsnelheid, kwaliteit en afmetingen in voor het exporteren.
ARW-naar-JPG-converter
Converteer Sony ARW RAW-foto's naar JPG. Maak van je camera-RAW-bestand een deelbare, universeel compatibele JPEG zonder Lightroom te openen.
QR-codegenerator
Maak in uw browser een QR-code van tekst of een URL en download deze als PNG.