IT Image Tools

Sprite sheet-generator — PNG + JSON + CSS

Combineer meerdere afbeeldingen tot één sprite sheet-PNG met JSON- en CSS-coördinaten. Raster- of compacte indeling, instelbare tussenruimte — gratis en volledig in je browser.

🔒 Draait volledig in uw browser — niets wordt geüpload

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

CSS preview
Advertisement

Wat een sprite sheet is en waarom het helpt

Een sprite sheet bundelt veel kleine afbeeldingen — animatieframes, game-tiles, UI-iconen, emoji of vlaggen — in één grotere afbeelding. Eén bestand laden in plaats van tientallen vermindert het aantal HTTP-verzoeken en textuurwissels, waardoor webpagina's en games sneller laden en renderen. Elke afzonderlijke sprite wordt vervolgens weergegeven door naar zijn rechthoek binnen de sheet te verwijzen. Deze sprite sheet-generator maakt de afbeelding en de coördinaten voor je: sleep je bestanden erin, kies een indeling en download een PNG samen met een JSON-databestand en een direct bruikbaar CSS-stylesheet.

Alles gebeurt in je browser. De afbeeldingen worden lokaal op een canvas getekend en de coördinatenbestanden worden in JavaScript gegenereerd, dus je artwork wordt nooit geüpload en je kunt de sheet zo vaak opnieuw genereren als je wilt terwijl je met de instellingen experimenteert.

Raster of compacte indeling

Het uniforme raster geeft elke sprite een cel zo groot als de grootste afbeelding en centreert elke sprite in zijn cel. Die voorspelbare structuur is wat de meeste animatiesystemen verwachten: frame n staat altijd in kolom n modulo het aantal kolommen. Compacte rijen sorteren sprites op hoogte en vullen rijen tot een doelbreedte, wat veel minder ruimte verspilt wanneer je afbeeldingen verschillende formaten hebben. In beide modi voegt de tussenruimte transparante ruimte rond elke sprite toe om kleurbloeding te voorkomen wanneer de sheet wordt geschaald.

De JSON- en CSS-uitvoer gebruiken

Het JSON-bestand vermeldt elke sprite onder een nette naam die is afgeleid van de bestandsnaam, met x- en y-positie, breedte en hoogte, plus de totale grootte van de sheet. Gameframeworks zoals Phaser en PixiJS kunnen dit hash-formaat rechtstreeks laden, en het is in elke taal eenvoudig te parsen. Het CSS-bestand definieert een basisklasse die de sheet als achtergrondafbeelding instelt en één klasse per sprite met de grootte en achtergrondpositie, zodat een icoon gewoon een span met twee klassen is. Pas het klassevoorvoegsel aan de naamgeving van je project aan en zet de PNG naast het CSS-bestand of pas de URL aan.

Hoe te gebruiken

  1. Afbeeldingen toevoegenSleep de afzonderlijke sprites of iconen erin; ze worden toegevoegd in de volgorde waarin je ze neerzet.
  2. Kies een indelingKies een uniform raster met een aantal kolommen, of compacte rijen, en stel de tussenruimte in.
  3. Controleer het voorbeeldBekijk de sheet en verwijder een afbeelding door op de naam te klikken.
  4. DownloadenSla de PNG-sheet op, samen met de JSON- en CSS-coördinatenbestanden.

Veelgestelde vragen

Worden mijn afbeeldingen geüpload om de sprite sheet te maken?
Nee. De afbeeldingen worden in je browser op een canvas getekend en de PNG-, JSON- en CSS-bestanden worden lokaal gegenereerd. Er wordt niets geüpload.
Moet ik een uniform raster of compacte rijen gebruiken?
Gebruik het uniforme raster voor animatieframes en game-engines die gelijke cellen verwachten. Gebruik compacte rijen voor iconen van verschillende formaten als je de kleinst mogelijke sheet wilt.
Welk JSON-formaat wordt geëxporteerd?
Een hash in TexturePacker-stijl: een frames-object met de spritenaam als sleutel, elk met frame x, y, w, h en sourceSize, plus meta met de afbeeldingsnaam en de sheetgrootte. Veel engines zoals Phaser en PixiJS kunnen het lezen.
Waarom tussenruimte tussen sprites toevoegen?
Een tussenruimte van 1–2 pixels voorkomt dat naburige sprites in elkaar overlopen wanneer de sheet door een browser of GPU wordt geschaald of gefilterd.
Advertisement