Shiklo Tools
PDF40
Image20
Calculators & Converters25
Text & Writing13
Developer26
Video14
Audio14
Document14
Data & Spreadsheet12
Web & SEO9
OCR & Scanning5
Archive & File12
Security & Privacy23
Health & Medical29
QR & Barcode5

Sprite Sheet Generator

Combine many images into one sprite sheet PNG — grid, row, column or packed — with matching CSS classes and a JSON frame map.

A sprite sheet combines many small images — icons, buttons, flags, or the frames of an animation — into one image. Websites use it to load a whole icon set in a single request, showing each icon with CSS background-position; games use it as a texture atlas so the graphics card draws everything from one texture. Building one by hand means measuring every position; this generator does it for you.

Add your images and choose how to arrange them: a grid, a single row, a column, or packed tightly to save space. Set the padding between images. The tool draws the sheet, writes a CSS class for every image, and creates a JSON frame map in the widely used TexturePacker hash format, which Phaser, PixiJS and many engines read directly. Download everything as one ZIP. Your images never leave your browser.

How to use Sprite Sheet Generator

  1. Add or drop your images — icons, frames or UI pieces.
  2. Choose the layout and the padding.
  3. Check the preview and the CSS.
  4. Download the sheet, CSS and JSON as a ZIP, or the PNG alone.

Features

  • Grid, row, column or tightly packed layout.
  • Adjustable padding between images.
  • CSS class for every image with background-position.
  • JSON frame map (TexturePacker hash format).
  • PNG, JPG, WebP, GIF and SVG input; transparency kept.
  • Up to 500 images; sheets up to 8192 pixels on a side.
  • Runs in your browser; nothing is uploaded.

Common uses

Combine a website's icon set into one image to cut down requests, build a flag or emoji sprite, pack a character's animation frames for an HTML5 or Phaser game, make a texture atlas of UI elements, or prepare frames for a CSS steps() animation. One file also makes it easier to version and cache the graphics together.

Choosing a layout

The layout decides where each image goes. Animation frames usually belong in a grid or row; mixed icon sets pack best.

LayoutBest for
GridAnimation frames of the same size; simple engines that expect equal cells
RowShort animations, CSS step() animations
ColumnVertical icon strips
PackedIcon sets of different sizes — the smallest sheet

Using the CSS

Each image gets a class named after its file: icon-home.png becomes .sprite-icon-home with the prefix sprite, which you can change. Every class sets the width, height and background-position of that image, and a shared class sets the sheet as the background. Add both classes to an element, for example a span with the classes sprite and sprite-icon-home, and the icon appears. Upload spritesheet.png next to the CSS file, or change the path in the CSS. For sharp icons on high-density screens, make the sheet from images at twice the size and set background-size to half, as the comment in the CSS explains.

Using the JSON in games

The JSON lists every frame by its original file name with its position and size, in the hash format produced by TexturePacker. Phaser loads it with load.atlas, PixiJS with its Spritesheet loader, and many other engines and tools read the same format. Frames are never rotated or trimmed, so positions are exactly where you see them in the preview. Padding helps avoid colour bleeding between frames when graphics are scaled.

Limits and privacy

Up to 500 images can go on one sheet, and the sheet can be at most 8192 pixels wide or tall, a size every modern browser and graphics card handles; the tool warns you if a layout would be larger. Images are combined at their original size; transparent PNG, WebP and SVG images keep their transparency. Everything is drawn on your device, so unreleased game art stays private.

Frequently asked questions

How many images can I combine?

Up to 500, as long as the sheet stays within 8192 pixels on each side.

Can I change the CSS class names?

Yes. Change the prefix; each class is named after its image file.

What is a sprite sheet?

One image containing many smaller images, shown individually with CSS or by a game engine.

How do I use the CSS sprites?

Add the class sprite and the image's own class, such as sprite-icon-home, to an element.

Does it work with Phaser?

Yes. Load the PNG and JSON with load.atlas.

Can images have different sizes?

Yes. Packed layout fits them most tightly.

Is transparency kept?

Yes. The sheet is a PNG with transparency.

Are my images uploaded?

No. Everything happens in your browser.

Related tools