Game Asset Studio — Sprite Sheets, Atlases and Autotiles
The step between your art and your engine: sprite sheets become tagged animations with pivots and boxes, frames become atlases, and autotile sheets become terrain sets — exported in files the engines themselves loaded.

- Godot 4Verified· Godot 4.7.2
- Unity 6Verified· Unity 6000.5.3f1
- Phaser 3 / 4Verified· Phaser 3.90 + 4.2
- PixiJS 8Verified· PixiJS 8.21
- Aseprite JSONVerified· Phaser load.aseprite · PixiJS 8.21
- .asepriteVerified· Aseprite 1.3.18
- Spine / libGDXVerified· spine-canvas 4.2
- Starling / Sparrow XMLVerified· Phaser 4.2
- LÖVEVerified· LÖVE 11.5
- DefoldBuilt· Defold bob.jar 1.13.1
- GameMakerUNVERIFIED
- CSS spritesVerified· Chromium
- GIF / APNGDecoded· Pillow
Sprites and animation
- Sprite Sheet Cutter — Split a Sheet into FramesSplit a sprite sheet into frames online: the grid, margin and spacing are measured from the pixels, rows become animations, and frames export to Godot, Unity or Phaser. Free, no upload.
- Sprite Sheet Editor — Slice, Animate, Export to EnginesBrowser sprite editor for game frames: slice sheets, tag animations, set per-frame timing, pivots and hitboxes, then export verified Godot, Unity, Phaser, PixiJS and LÖVE files.
- Align Sprite Frames — Fix Animation JitterPut every animation frame on one canvas size with a shared anchor, then measure and fix frame-to-frame wobble. Whole-pixel moves only, never rescaled. Free, in your browser.
- Sprite Animation Preview — Frames, Tags and TimingPlay sprite animations in the browser with per-frame durations, loop, ping-pong and repeat, onion skin and a pixel-sharp preview window, then export GIF, APNG or engine files.
- Sprite Pivot Editor — Origin Points per FrameSet the pivot (origin) of every sprite frame on the pixel grid and export it to Godot, Unity, PixiJS anchors, Aseprite slices and GameMaker origins. Free, in your browser, nothing uploaded.
- Hitbox Editor — Hit and Hurt Boxes per FrameDraw hitboxes and hurtboxes per animation frame: rectangles, circles and polygons, copied across a tag with the same id. Export to Aseprite slices, Godot, Unity and JSON. Free.
- Collision Polygon Generator from Sprite AlphaTrace collision polygons from the transparent edges of sprite frames, capped to the vertex count you choose, for one frame or a whole animation. Edit points, export with the frames.
- Sprite Sheet to GIF — One Animated GIF per AnimationTurn a sprite sheet into animated GIFs: cut the frames, set per-frame timing, and export one GIF (or exact APNG) per animation with transparency. Free, pixel-sharp, no upload.
- Aseprite to Godot 4 — .aseprite to SpriteFrames, No PluginOpen an .aseprite file in the browser and export a Godot 4 SpriteFrames .tres, an AnimatedSprite2D scene and pixel-art import settings. Tags, durations and pivots kept. No Aseprite install.
- Aseprite to Unity 6 — Sprites and Animation ClipsConvert an .aseprite file into Unity 6 sprites and AnimationClips in the browser: Point filtering, no compression, per-frame pivots, one clip per tag. Checked in Unity 6000.5 batch mode.
- Aseprite to Phaser 3 / 4 — Atlas and Animations JSONExport .aseprite animations for Phaser 3 and 4: a TexturePacker atlas with anims.json for anims.fromJSON, or Aseprite JSON for load.aseprite and createFromAseprite. Verified in 3.90 and 4.2.
- Godot 4 Sprite Sheet Import — SpriteFrames without Hand SlicingImport a sprite sheet into Godot 4 without guessing hframes and vframes: the grid is measured, rows become animations with timing, and you get a SpriteFrames .tres and scene that Godot loaded.
- Unity Sprite Sheet Slicer — Sprites and Clips for Unity 6Slice a sprite sheet for Unity 6 without the off-by-one grid: measured cells, per-frame pivots, Point filter and no compression, and one AnimationClip per animation. Checked in Unity 6000.5.
- GameMaker Sprite Strip Maker — _stripN per AnimationTurn a sprite sheet into GameMaker strip images: one spr_<name>_<tag>_stripN.png per animation with pivot-aligned cells, plus a JSON of origins and speeds. UNVERIFIED inside GameMaker itself.
- Remove a Sprite Sheet Background — Magenta or Flat Colour to AlphaMake the magenta, green or flat-colour background of a sprite sheet transparent while importing it, as a decision with a confidence you can undo, then cut the frames. Original pixels kept. No upload.
Atlases and export
- Sprite Sheet Maker — Pack Frames into an AtlasPack sprite frames into a sprite sheet with MaxRects, trim, alias, extrude and multipack, then export engine-verified Godot, Unity, Phaser, PixiJS, Spine, LÖVE or Defold files. Free.
- GIF to Sprite Sheet Converter (keeps frame timing)Convert an animated GIF or APNG into a sprite sheet with every frame and delay kept, then export PNG + JSON for Phaser, PixiJS, Godot or Unity. In your browser, no upload.
- Free Texture Packer — a TexturePacker Alternative in the BrowserFree texture packer with MaxRects, trim, rotation, alias, extrude, multipack and scale variants, and engine exports each labelled with how it was checked. No licence limits, no watermark, no upload.
- Godot Pixel Art Blurry? Import Settings That Keep Sprites SharpWhy pixel art looks blurry or recoloured in Godot 4 and what the Studio's Godot bundle sets for you: Nearest filtering, lossless import, no mipmaps, fix_alpha_border off. Checked in Godot 4.7.2.
- Phaser Texture Atlas Generator — Atlas JSON and AnimationsPack frames, a GIF or an .aseprite file into a Phaser 3 / 4 texture atlas: JSON hash or multiatlas plus an anims.json for anims.fromJSON. Verified in Phaser 3.90 and 4.2. Free, no upload.
- PixiJS Spritesheet JSON Generator — Animations, Anchors, ScaleMake a PixiJS 8 spritesheet: packed PNG plus JSON with an animations map, per-frame anchors from your pivots, the right meta.scale for @2x variants and related_multi_packs. Verified in PixiJS 8.21.
- Defold Atlas Export — .atlas and .tilesource from FramesExport frames or a sprite sheet as a Defold .atlas with animation groups plus a .tilesource, in a folder ready for your project. Built by Defold's bob.jar 1.13.1, with the texture UVs read back.
- LÖVE (Love2D) Sprite Atlas and Quads — No Hand-Written RectsPack sprites for LÖVE: an atlas PNG, a Lua table of quads with pivots and animation timing, a small helper module and a main.lua that plays it. Verified in LÖVE 11.5, sharp at 4× zoom.
- Spine / libGDX Atlas Packer — .atlas with Rotation and TrimPack images into a Spine or libGDX .atlas: bounds, offsets from the bottom, rotate:90 stored counter-clockwise, trimmed regions. Every region drawn by the Spine runtime spine-canvas 4.2; libGDX itself not run.
- Spritesheet and XML Generator — Starling / Sparrow XMLMake a spritesheet with Starling / Sparrow XML (the FNF-style "spritesheet and XML"): trimmed frames with frameX/frameY and pivots. Verified in Phaser 4.2; Phaser 3.90 needs the trim-off preset.
- CSS Sprite Generator — Pixel-Sharp Sprite Sheet and ClassesPack icons or game sprites into one PNG with a CSS file of classes and a preview HTML page, drawn with image-rendering: pixelated so pixel art stays sharp. Every class checked in Chromium.
Tilesets and autotiles
- Autotile Tileset Editor — Terrain Bits for Godot, Tiled, UnityRecognise an autotile sheet's layout from its pixels, set terrain bits, check which combinations are missing and export a Godot 4 TileSet, Tiled Wang set, Unity Rule Tile or LDtk rules.
- Autotile Tester — Paint a Test Map with Godot's RulePaint a test map with your autotile set and see exactly what Godot 4 or Tiled will draw: holes and substituted tiles are outlined and explained, cell by cell. Free, in the browser.
- Tileset Slicer — Detect Tile Size, Margin and SpacingFind a tileset's tile size, margin and spacing from its pixels, count blank tiles, and turn it into a Godot 4 TileSet, Tiled tileset, Unity tiles or LDtk project. Free, no upload.
- Godot 4 Autotile & Terrain Set Generator — Peering Bits Set for YouTurn an autotile sheet into a Godot 4 TileSet with terrain peering bits already set: the layout is recognised from the pixels, missing tiles are listed, and a test map uses Godot's own matching rule.
- RPG Maker Autotile to Godot, Tiled and Unity (A2 → 47 tiles)Assemble a full 47-tile blob set from an RPG Maker MV/MZ A2 or A4 autotile block, byte-exact from its quarter tiles, then export Godot 4 terrains, a Tiled Wang set or Unity Rule Tiles.
- 47-Tile Blob Tileset — Identify the Layout, Check, GenerateWhich 47-tile blob layout is your sheet? Identify cr31, wang blob 7×7, caeles, GameMaker or Godot 3 orders from the pixels, list missing tiles, generate the set from a base block and export.
- Dual Grid Tileset — 16 Tiles Instead of 47, for Godot and TiledBuild and test a dual-grid (16-corner) tileset: recognise dual-grid packs with several terrains, generate one from a base block, paint a test map and export Godot 4 terrains or a Tiled corner Wang set.
- Tiled Wang Set Export — Terrain Sets from an Autotile SheetExport an autotile sheet as a Tiled .tsx with its Wang set already filled in (mixed, edge or corner), plus a sample .tmx map. Every Wang ID was read back by Tiled 1.12.2 itself.
- Unity Rule Tile from a 47 or 16 Tileset — No Rules by HandTurn a blob-47 or 16-side tileset into Unity 6 Rule Tiles without setting 47 rules by hand: an editor script slices the sprites and builds one Rule Tile per terrain. Checked in Unity 6000.5.
- LDtk Auto-Layer Rules from an Autotile SheetExport an autotile sheet as an LDtk 1.5.3 project: an IntGrid value per terrain, one 3×3 rule per tile and a sample level. Partly verified: LDtk schema, official loader and a rule re-run; not opened in the LDtk app.
Pixel art and palettes
- Pixel Art Palette Lock — One Palette for Every FrameLock all animation frames to one shared pixel-art palette: extract it from every frame, dither without flicker, recolour ramps and export PNG frames plus .gpl. In the browser, no upload.
- Pixel Art Palette Extractor — .gpl, HEX and JSONExtract the colour palette from pixel art or sprite frames, with each colour's pixel count, sort it, audit a colour budget and export GIMP .gpl, Lospec HEX or JSON. Free, in your browser.
- Sprite Palette Swap — Recolour Ramps and Team ColoursRecolour pixel-art sprites by mapping whole shading ramps, not single colours: team colour variants, hue-range replace and status tints (frozen, poison) that keep every shading step. No upload.
- Pixel Art Cleanup — Remove Anti-Aliasing and Stray PixelsClean pixel art: snap anti-aliased edge pixels to the palette without moving the silhouette, and find stray pixels, tiny clusters, single-pixel holes and outline gaps before fixing them.
- Pixel Perfect Checker — Detect Scale, Blur and Off-Grid PixelsCheck whether pixel art is pixel perfect: detect its integer scale and grid offset exactly, estimate non-integer scaling, count blurred edge pixels, and recover the 1× source when a clean grid exists.
- Apply a Lospec Palette to Pixel Art and Sprite FramesRecolour sprites to a Lospec palette: paste or import a HEX list, .gpl or JSON, lock every frame to it with or without dithering, and export PNG frames whose colours are all in the palette.
- Clean Up AI or Upscaled Pixel Art — Palette, Anti-Aliasing, ScaleTidy AI-generated or resized pixel art without generating anything: lock it to a palette, snap anti-aliased edges, remove stray pixels, and measure its real scale and blur. It does not re-grid off-grid pixels.
- Pixel Art Upscaler Without AI — Integer Nearest 1× to 8×Scale pixel art up by whole numbers (2×–8×) with nearest-neighbour: every pixel becomes a clean block, no smoothing and no AI. The checker first tells you if the image is already scaled.
Textures, normal maps and PBR
- PBR Texture Checker — Validate a Material Set in the BrowserCheck a PBR texture set before import: map roles from filenames, missing maps per workflow, size mismatches, packed maps, normal-map validity and colour-space guidance, with a JSON report.
- Texture Channel Splitter — Unpack RGBA / ORM into Grey MapsSplit a packed texture (ORM, mask map, RGBA) into exact single-channel PNGs, including the colour stored under fully transparent pixels, which a canvas would throw away. In the browser.
- Normal Map Converter — OpenGL ↔ DirectX (Flip Green)Convert a normal map between OpenGL (+Y: Unity, Godot, Blender) and DirectX (−Y) by flipping only the green channel, exactly reversible, and validate that the vectors stay unit length.
- PBR Texture Validator — Naming, Sizes and Missing MapsValidate PBR texture naming and completeness: which maps a metallic/roughness or specular workflow still needs, mismatched sizes, non-power-of-two maps and inconsistent names, with a JSON report.
- Texture Edge Bleed — Fix Dark Halos on Transparent SpritesStop dark or white halos around transparent sprites and textures: bleed edge colour into fully transparent texels (2–16 px) without touching alpha, and preview what mipmaps will do.
- 2D Normal Map Generator — From Height or Sprite LuminanceGenerate a normal map from a height map or a sprite's luminance/alpha with Sobel, Scharr or Sobel 5×5, OpenGL or DirectX convention, wrap for tiling textures, and unit-length vectors.
- ORM & Mask Map Packer — Channel Pack Textures for Unity, Godot, glTFPack separate grey maps into one texture: Unity HDRP mask map, URP metallic/smoothness, ORM for glTF and Godot, or any custom channel mapping, with inversion — bytes preserved under zero alpha.
- Pixel Art Normal Map Generator — From Sprite Brightness or AlphaMake a normal map for 2D lighting from a sprite's brightness or alpha: Sobel, Scharr or Sobel 5×5, OpenGL or DirectX, unit-length vectors. A height gradient, not a bevel; engine import untested.
- Roughness to Smoothness Converter for Unity (Invert Channel)Turn a roughness map into the smoothness map Unity URP and HDRP expect: invert the channel exactly (255 − value), keep bytes under transparent pixels, then pack it into a mask map. In the browser.
Game UI and bitmap fonts
- Game UI Asset Lab — Slice a UI Sheet into a Padded AtlasTurn a transparent UI sheet into named elements and a padded UI atlas, set nine-slice borders per element, make button states and bitmap fonts, then check sizes, anchors, text overflow and contrast.
- 9-Slice Editor — Nine-Patch Borders for Godot and UnitySet nine-slice (9-patch) borders on a UI panel: auto-suggested from identical columns and rows, drag or type the guides, preview stretch or tile at any size, and export the numbers for Godot and Unity.
- Button State Generator — Hover, Pressed, Disabled, FocusMake hover, pressed, disabled and focus variants of a game UI button from one PNG with visible, editable operations, plus a packed strip and a JSON that records every value used.
- Missing Glyph Checker — Localization Text vs Bitmap FontFind every character your localization files use that a bitmap font (.fnt) does not have: paste text or drop .po, .json, .csv, .tsv or .txt and get each missing character with its count and lines.
- Game UI Scale Preview — Resolutions, Anchors, Safe AreasPreview a UI element at 720p to 4K and 4:3 to 21:9 with Godot-style anchors, 90 % title-safe and custom safe areas, integer vs fractional scaling, text overflow in KO/EN/JA and WCAG contrast.
- Bitmap Font Generator — BMFont .fnt from a Sheet or TTFMake a bitmap font: from a glyph sheet (fixed grid or measured widths) or a TTF/OTF on your device, export font.png + BMFont text .fnt + JSON, with optional SDF (Beta). No upload.
Tiles: slicing, padding and seams
- Seamless Texture Checker — Find and Fix Tiling SeamsCheck whether a texture or tile repeats without a visible seam: a 2×2/3×3 repeat preview, edge differences measured against the tile's own interior, a heatmap, and an optional make-seamless fix.
- Split an Image into Tiles — One PNG per Tile (ZIP)Cut a tileset or any image into equal tiles and download one PNG per tile with a JSON of where each came from: margin and spacing detected, blank tiles skipped, duplicates and rotations found.
- Tileset Extruder — Atlas Padding That Stops Texture BleedingStop lines and gaps between tiles: extrude every tile's edge pixels outward into padding, for tilesets with or without margin and spacing, and export the padded atlas with its new coordinates.
Classic sprite tools
Engine exports and how each was checked
"Verified" means the exported files were loaded by the real engine or tool on real CC0 assets and the result was compared with the source. Anything that was not loaded is labelled as such.
- Godot 4 TileSetVerified· Godot 4.7.2
- TiledVerified· Tiled 1.12.2
- Unity 6 Rule TileVerified· Unity 6000.5.3f1 + 2D Tilemap Extras 8.0.3
- LDtkPartly verified· LDtk 1.5.3 schema + loader
Questions
Is it free, and do I need an account?
Everything on these pages is free and works without an account. There is no watermark and no export that is held back.
Are my sprites uploaded?
No. The Studio decodes, packs and exports in this browser tab. Projects are autosaved in the browser (IndexedDB) and can be saved as a .nerulio file.
Does it need Aseprite or an engine plugin installed?
No. .aseprite files are read and written in the browser, and each engine bundle carries what that engine needs (for Godot, the import settings and scene; for Unity and the Godot TileSet, a small editor script).