Animator
Animation preview and timeline tools coming soon. Create and preview sprite animations directly in your browser.
Getting Started in 5 Simple Steps
Load Your Sprite Sheet
Click "Choose File" or simply drag and drop your sprite sheet image onto the canvas. We support PNG, JPEG, and WebP formats.
Set Sprite Dimensions
Configure the width and height of each sprite cell in your sheet. Common sizes include 16x16, 32x32, or 64x64 pixels.
Adjust Margins (Optional)
If your sprites have spacing between them, set the margin values to ensure the grid aligns perfectly with your assets.
Click to Select
Click on any sprite in the grid to select it. The exact pixel coordinates will be displayed instantly in the info panel.
Copy or Export
Use "Copy AI Prompt" to get formatted coordinates for AI tools, or "Export Sprite" to download the selected sprite as a PNG.
Key Features
Pixel-Perfect Accuracy
SpriteCutter uses crisp, nearest-neighbor rendering to ensure your sprites are displayed without any blurring or interpolation artifacts.
Customizable Grid Overlay
Adjust the grid color and opacity to match your preference. Toggle the grid on or off with a single click or the 'G' keyboard shortcut.
Zoom and Pan Navigation
Use the mouse wheel to zoom in up to 20x magnification. Click and drag to pan around large sprite sheets with ease.
Keyboard Shortcuts
Navigate sprites with arrow keys, export with Space, copy coordinates with C, and toggle grid with G. Press ? to see all shortcuts.
AI-Ready Prompts
Generate formatted prompts with exact coordinates, dimensions, and file names - perfect for AI image generation and editing tools.
One-Click Export
Extract individual sprites as PNG files with a single click. Files are automatically named with row and column information.
Understanding Sprite Sheets
A sprite sheet (also called a texture atlas or sprite atlas) is a single image file containing multiple smaller graphics arranged in a grid pattern. Game developers use sprite sheets to efficiently load and render game assets.
Why Use Sprite Sheets?
- Performance: Loading one large image is faster than loading many small files
- Memory Efficiency: Reduces texture switching overhead in game engines
- Organization: Keeps related assets together in a single file
- Animation: Makes it easy to create frame-by-frame animations
Common Sprite Sheet Formats
Sprite sheets come in various layouts and configurations:
- Uniform Grid: All sprites are the same size, arranged in rows and columns
- Packed Atlas: Sprites of different sizes packed together to minimize wasted space
- Animation Strip: A single row or column of animation frames
- Tileset: Map tiles for level design, typically 16x16 or 32x32 pixels
Coordinate System Explained
SpriteCutter provides coordinates in a format compatible with most game engines and image processing tools:
x=64 y=32 w=32 h=32
- x: Horizontal position from the left edge of the sprite sheet (in pixels)
- y: Vertical position from the top edge of the sprite sheet (in pixels)
- w: Width of the sprite (in pixels)
- h: Height of the sprite (in pixels)
These coordinates can be used directly in game engines like Unity, Godot, GameMaker, and Phaser, or with image processing libraries like PIL/Pillow in Python.
Extracting Sprites for Unity 2D Games
Unity's sprite system allows you to slice sprite sheets automatically, but sometimes you need precise control over individual sprites. Here's how to use SpriteCutter with Unity:
Step 1: Prepare Your Sprite Sheet
Make sure your sprite sheet uses a consistent grid layout. For best results, use power-of-two dimensions (256x256, 512x512, etc.) and ensure all sprites are the same size.
Step 2: Get Coordinates in SpriteCutter
Load your sprite sheet and configure the sprite dimensions. Click on each sprite you need and copy the coordinates using the "Copy AI Prompt" button.
Step 3: Import into Unity
In Unity, import your sprite sheet and set the Sprite Mode to "Multiple". Use the Sprite Editor to define each sprite region using the coordinates from SpriteCutter.
// Example: Creating a sprite rect in Unity
Rect spriteRect = new Rect(64, 32, 32, 32); // x, y, width, height
Sprite sprite = Sprite.Create(texture, spriteRect, new Vector2(0.5f, 0.5f));
Using Sprite Coordinates in Godot Engine
Godot makes it easy to work with sprite sheets through its AtlasTexture and Sprite2D nodes. Here's how to integrate SpriteCutter coordinates:
Setting Up AtlasTexture
Create an AtlasTexture resource and set the region property using the coordinates from SpriteCutter:
# GDScript example
var atlas = AtlasTexture.new()
atlas.atlas = preload("res://sprites/characters.png")
atlas.region = Rect2(64, 32, 32, 32) # x, y, width, height
$Sprite2D.texture = atlas
Animation with AnimatedSprite2D
For animations, use the SpriteFrames resource and add each frame using the coordinates extracted from SpriteCutter.
Batch Processing Sprites with Python
Use SpriteCutter coordinates with Python's PIL/Pillow library to automate sprite extraction:
from PIL import Image
# Load the sprite sheet
sheet = Image.open("spritesheet.png")
# Coordinates from SpriteCutter
sprites = [
{"name": "idle_1", "x": 0, "y": 0, "w": 32, "h": 32},
{"name": "idle_2", "x": 32, "y": 0, "w": 32, "h": 32},
{"name": "walk_1", "x": 0, "y": 32, "w": 32, "h": 32},
]
# Extract and save each sprite
for sprite in sprites:
box = (sprite["x"], sprite["y"],
sprite["x"] + sprite["w"],
sprite["y"] + sprite["h"])
cropped = sheet.crop(box)
cropped.save(f"{sprite['name']}.png")
Using Sprites in HTML5 Canvas Games
For web-based games using HTML5 Canvas, use the coordinates from SpriteCutter with the drawImage() method:
// Load sprite sheet
const spriteSheet = new Image();
spriteSheet.src = 'spritesheet.png';
// Draw a specific sprite using coordinates from SpriteCutter
// drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight)
ctx.drawImage(
spriteSheet,
64, 32, // Source x, y (from SpriteCutter)
32, 32, // Source width, height
100, 100, // Destination x, y on canvas
32, 32 // Destination width, height
);
This technique works with popular game frameworks like Phaser, PixiJS, and Kontra.js.
Using AI Prompts for Sprite Generation
SpriteCutter's AI prompt feature generates formatted text that's perfect for AI image generation and editing tools. Here's how to use it effectively:
Extracting Specific Sprites
The generated prompt includes the exact coordinates, dimensions, and file name, making it easy to instruct AI tools to extract or modify specific sprites:
Extract the sprite at x=64 y=32 width=32 height=32 from "characters.png" (mapping location: row 2, column 3)
Creating Variations
Use the prompt as a reference when asking AI to create variations of existing sprites, ensuring consistent dimensions and positioning.
General Questions
Technical Questions
x: The horizontal distance in pixels from the left edge of the image
y: The vertical distance in pixels from the top edge of the image
w: The width of the sprite in pixels
h: The height of the sprite in pixels
These coordinates follow the standard convention used by most game engines and image processing libraries.
Unity: Use Sprite.Create() or the Sprite Editor's manual slice mode
Godot: Set the region property of AtlasTexture or Sprite2D
GameMaker: Use sprite_add() with the extracted coordinates
Phaser: Use frame coordinates in your atlas JSON configuration
Check the Tutorials section for detailed examples.
Workflow Questions
Arrow Keys: Navigate between sprites
Space: Export selected sprite
C: Copy AI prompt
G: Toggle grid overlay
+ / -: Zoom in/out
?: Show shortcuts help
Esc: Clear selection