Game Asset Studio — Sprite Sheets, Atlases and Autotiles
The step between your art and your engine: sprites are drawn or retouched in a pixel editor, 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 Editor Online — From Art File to Engine-Ready SpritesFree browser sprite editor: cut sheets, tag animations, retouch pixels, place pivots and hitboxes, pack an atlas and export files Godot and Unity loaded.
- Sprite Animator Online — Tags, Timing and Loops for GamesTurn a sprite sheet, numbered frames or a GIF into game animations: tags, per-frame milliseconds, ping-pong and repeat counts, onion skin, then GIF or engine files.
- Sprite Sheet Viewer Online — Play Atlas JSON and XML FramesOpen a sprite sheet with its Aseprite JSON, TexturePacker JSON or Sparrow XML: every frame listed, animations grouped and playing, trim offsets restored.
- 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
- Tileset Generator — Full Autotile Sets from a Few PiecesDraw a few base tiles and generate a full blob-47 or dual-grid 16 autotile set, assembled pixel for pixel and linked to its source. Exports for Godot and Tiled.
- Tilemap Editor Online — Test Maps Drawn by Godot's RulesPaint a test tilemap in the browser that shows exactly what Godot 4 or Tiled will place with your autotile rules, then export the tileset and build levels there.
- 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.
Normal maps and 2D lighting
Pixel art editor and cleanup
- Pixel Art Editor Online — Draw Sprites in Your BrowserFree pixel art editor in the browser with Aseprite keys: pixel-perfect pencil, layers with 19 blend modes, indexed palettes, onion skin and .aseprite export.
- Pixel Art Animation Maker — Frames, Onion Skin, TagsAnimate pixel art in the browser: add and duplicate frames, paint with onion skin, set per-frame durations and tags, preview the loop, save .aseprite or GIF.
- Pixel Art Palette Editor — Indexed Colour and LospecEdit a sprite palette in the browser: convert to indexed colour, load Lospec palettes by name, build hue-shifted ramps, make team-colour variants, save .gpl or .ase.
- Pixel Art Outline and Drop Shadow — 1 px, One StepAdd a 1 px outline and a drop shadow to pixel art in the browser: one command each, on the layer, a selection or every frame, matching Aseprite pixel for pixel.
- Fix AI Pixel Art — Snap Generated Art to a Real Pixel GridTurn AI-generated "pixel art" with uneven, blurry pseudo-pixels into real 1 px pixels: the grid is measured with a confidence, and unsure images are never snapped silently.
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.
- 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 how-tos
- Godot Tileset Collision — Physics Polygons from Tile AlphaTrace a collision polygon for every tile of a Godot 4 TileSet from its alpha; the import script writes the physics layer. Read back point for point in Godot 4.7.2.
- Godot 2D Normal Map — Export a Lit Sprite Scene for Godot 4Make a normal map for a Godot 4 sprite and export the lit scene: CanvasTexture, PointLight2D, CanvasModulate and frames. Rendered in Godot 4.7.2 within 1/255.
- Unity 2D Normal Map — URP Secondary Texture Set Up for YouGive a Unity 6 sprite a working normal map: the importer adds _NormalMap as a Secondary Texture, linear and never resized, plus Light2D lights. Checked in URP 17.5.
- Sprite Sheet Frame Size — Measure Cell, Margin and SpacingFind a sheet's frame width, height, margin and spacing from its pixels, then type them into Phaser's load.spritesheet, Godot, Unity's Grid By Cell Size or Defold.
- Godot Animation Frame Duration — Milliseconds to SpriteFramesGodot 4 frame durations are multiples of the animation speed, not ms. Bring GIF delays or Aseprite durations and get SpriteFrames with speed and durations set.
- GDevelop Sprite Sheet — Cut It into Frame Images FirstGDevelop builds sprite animations from one image per frame. Cut your sprite sheet into equal-size PNG frames in the browser and add them in order. Nothing uploaded.
Format conversions
- Aseprite Viewer Online — Open .aseprite and .ase FilesOpen .aseprite and .ase files in your browser without Aseprite: layers, blend modes, tags, frame durations and slices. Play them, then save a PNG sheet, GIF or JSON.
- Aseprite to Sprite Sheet — Packed PNG with Tags KeptTurn an .aseprite file into a packed sprite sheet with trim, dedupe, padding and multipack, plus Aseprite JSON, Phaser, PixiJS or Godot data with tags and timing.
- Aseprite to GIF — One Animated GIF per TagConvert an .aseprite file to animated GIFs in your browser: one GIF per tag, each frame at its own delay, clean 1-bit transparency and an exact pixel-art palette.
- Sprite Sheet to Aseprite — Cut, Tag and Save .asepriteTurn a PNG sprite sheet into an .aseprite file: frames cut by the measured grid or by islands, rows as tags, durations, and the pivot and hitboxes as slices.
- Sprite Sheet to Video — Crisp WebM per AnimationTurn a sprite sheet into WebM video for sharing: each animation scaled 4× with nearest-neighbour on a solid background, one file per animation. WebM, not MP4.
- TexturePacker to Godot 4 — JSON Atlas to SpriteFramesOpen a TexturePacker JSON atlas and its PNG in the browser and export a Godot 4 SpriteFrames resource with animations from frame names, trim margins and timing.
- TexturePacker to Unity — JSON Atlas to Sprites and ClipsTurn a TexturePacker JSON atlas into Unity 6 sprites with per-frame pivots and AnimationClips through a small editor script: Point filter, no compression, no plugin.
- Aseprite JSON to PixiJS — Tags Become AnimationsPixiJS reads an Aseprite JSON's frames but not its frameTags or durations. Re-export it as a PixiJS 8 spritesheet with an animations map, anchors and frame times.
- FNF Spritesheet to GIF — PNG + XML to Animated GIFsConvert a Friday Night Funkin' spritesheet and its XML into one animated GIF per animation: names grouped, trim offsets kept, timing set in bulk. In your browser.
- GameMaker Autotile to Godot, Tiled and Unity — 47 TilesBring a GameMaker Studio 2 47-tile autotile sheet into Godot 4 terrains, a Tiled Wang set or Unity Rule Tiles: layout recognised from the pixels, bits set at once.
- Aseprite to GameMaker — One Sprite Strip per TagExport an .aseprite file as GameMaker strips: one spr_<name>_<tag>_stripN.png per tag with pivot-aligned cells, plus origins and speeds. UNVERIFIED in GameMaker.
- Normal Map for a Sprite Sheet — Every Frame on Its OwnNormal maps for an animated sprite sheet: frames cut first, each processed alone with the same pixel settings, lit alike, sent to Godot with an AnimationPlayer.
Fix common problems
- Godot Terrain Wrong Tiles — Find Missing CombinationsGodot 4 terrain painting the wrong tile, leaving empty cells or not showing up? Find the missing combinations and bad peering bits, then paint it as Godot will.
- Unity Pixel Art Blurry — Sprite Import Settings That Fix ItPixel art blurry or smeared in Unity 6? Point filter, no compression, a large enough Max Size: the Unity bundle sets all three per texture, with exact sprite rects.
- Normal Map OpenGL or DirectX — Detect the Green ChannelBumps look like dents? Find out whether a normal map is OpenGL (Y+) or DirectX (Y−) with a measured verdict, see it lit, and export _n and _n_dx files. Free, local.
- PixiJS @2x Spritesheet Too Big — meta.scale per VariantAn @2x atlas drawing at double size in PixiJS 8 usually says meta.scale "1". Export @0.5x–@4x variants, each with its own JSON and the matching meta.scale.
- Phaser Atlas Frames Wrong — Rotated and Trimmed Frame FixesPhaser atlas frames sideways, mirrored, clipped or shifted? Rotated frames and trimmed Sparrow XML in Phaser 3.90 are the usual causes. Presets that avoid both.
- Sprite Sheet Slicing Off — Fix Margin, Spacing and DriftSlices drifting further each column, the first row cut, empty or odd-sized frames? Measure margin and spacing from the pixels and see the cut before applying it.
- Keep Aseprite Tags When Packing — Durations and Pivots TooPacked your Aseprite art in another packer and lost the tags and timing? Pack the .aseprite file itself: every engine file keeps tags, frame durations and pivots.
- Tiling Normal Map Seams — Generate It with Wrap EdgesA lit line where your tiling normal map repeats? The generator treated the border as an edge. Generate with Wrap, check the wrap test, see it tiled 3×3.
- Sprite Jitter After Trimming — Keep Offsets and PivotsCharacter wobbles after packing with trim? The trim offsets or pivots were lost. Trim that keeps each frame's size and offset, written in every engine's own format.
- Downscale Pixel Art to 1× — Undo an Upscale or ResizeTurn upscaled or resized pixel art back into 1 px per pixel: the pixel size is measured, even for ×3.78 bilinear, and the grid is shown before you apply.
Compared with other tools
- Aseprite Alternative in the Browser — Measured Side by SideA free browser pixel editor with Aseprite keys, compared task by task with Aseprite 1.3.18 on the same sprite: what matches, what is faster, what only Aseprite does.
- Laigter Alternative — Sprite Normal Maps in the BrowserLaigter and Nerulio Studio measured on the same CC0 sprites, bricks and height maps: angle to the true normals, seams, and how far each gets you into Godot or Unity.
- NormalMap-Online Alternative — Normal Maps Made for 2D SpritesNormalMap-Online and Nerulio Studio measured on the same CC0 assets: sprite bevels, the inverted red channel in its default output, seams, and Godot or Unity setup.
- Sprite Sheet Packers Compared — Size, Exact Pixels, DuplicatesFour free sprite sheet packers run on the same five CC0 frame sets: sheet size per set, frames restored pixel-exact, duplicate frames and page limits.
- Sprite Fusion Alternative — Autotile Rules Kept in the EngineSprite Fusion and Nerulio Studio on the same 47-tile cave sheet: clicks to working autotile rules, and whether the rules survive the export to Godot or Tiled.
- ezgif Sprite Cutter Alternative — Cut Sheets Without UploadingCut a sprite sheet into frames in your browser tab instead of on a server: the grid is measured for you, and transparent GIFs never stack. Compared with ezgif.
- Pixel Snapper Alternative — Cleanup Tools MeasuredSprite Fusion Pixel Snapper, unfake.js and perfectPixel against Nerulio on 69 CC0 cases with known originals: exact size, exact pixels and where each tool wins.
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).