Duplicate Image Finder
Find duplicates and near-duplicates in a batch of images.
Pack animation frames or icons into one sprite sheet.
Drop every frame here, or click to choose them
Frames are sorted naturally, so frame-2 comes before frame-10
The Sprite Sheet Generator packs animation frames or icons into one image on an even grid, with cells sized to the largest frame so the arithmetic in your engine stays simple. Alongside the PNG you get the frame coordinates as JSON and a ready-made CSS steps() animation, which covers both the game and the web use directly.
A sprite sheet is one image holding every frame of an animation on an even grid, which is how game engines and CSS animations step through frames without loading a file each time.
Drop the frames in and they are packed into a grid with uniform cells sized to the largest frame, so the arithmetic in your engine stays simple: frame N sits at column N modulo the column count. Alongside the image you get the frame coordinates as JSON and as CSS keyframes, which covers both the game and the web use directly. Padding between cells can be added to stop neighbouring frames bleeding into each other when the sheet is scaled.
Cells are sized to the largest frame and smaller frames centred inside them, so frame N is always at a predictable offset.
Every frame's x, y, width and height come out as JSON, ready for an engine's atlas loader.
A steps() keyframe block with the correct background-size and frame count, ready to paste into a stylesheet.
One or two pixels of gap stops neighbouring frames bleeding in when the sheet is drawn at a non-integer scale.
frame-2 comes before frame-10, which a plain alphabetical sort would get wrong.
Drop the frames in, in order. The filenames are sorted naturally so frame 2 comes before frame 10.
Set the columns, or ask for a single row or a square-ish sheet.
A pixel or two between cells prevents bleeding when the sheet is drawn at a non-integer scale.
Download the PNG, and copy the JSON coordinates or the CSS keyframes beside it.
The cells are sized to the largest frame so every frame fits, and smaller frames are centred inside their cell. Keeping your source frames the same size to begin with gives the tightest sheet.
When a sheet is scaled or drawn on a non-integer pixel boundary, filtering can sample a neighbouring frame and produce a fringe. One or two pixels of padding prevents that.
Yes. Alongside the sheet you get a steps() keyframe animation with the right background-size and frame count, ready to paste into a stylesheet.
They are sorted naturally, so frame-2.png comes before frame-10.png rather than after it, which is what a plain alphabetical sort would do.
What people who use the Sprite Sheet Generator think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the Sprite Sheet Generator. It takes half a minute and no account.
Write the first reviewFind duplicates and near-duplicates in a batch of images.
Arrange several photos into a clean grid collage.
Generate a unique geometric avatar from any string.
Convert BMP, TIFF and GIF files to PNG, JPG or WebP.
Put a coloured border or frame around any photo.
Read the camera, lens, settings and GPS inside a photo.
Build a profile or company banner at the right size.
Rasterise an SVG to PNG at any size you need.