🎮

SpriteCutter

Professional sprite sheet inspector for game developers. Extract precise coordinates for any sprite with pixel-perfect accuracy.

×
×
2x
50%
Selection:
Load a sprite sheet to begin

Animator

Animation preview and timeline tools coming soon. Create and preview sprite animations directly in your browser.

How SpriteCutter Works

SpriteCutter is a powerful browser-based tool designed to help game developers and pixel artists extract precise sprite coordinates from sprite sheets. No installation required - everything runs in your browser.

Getting Started in 5 Simple Steps

1

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.

2

Set Sprite Dimensions

Configure the width and height of each sprite cell in your sheet. Common sizes include 16x16, 32x32, or 64x64 pixels.

3

Adjust Margins (Optional)

If your sprites have spacing between them, set the margin values to ensure the grid aligns perfectly with your assets.

4

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.

5

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.

Tutorials & Guides

Learn how to use SpriteCutter effectively in your game development workflow with these step-by-step tutorials.

Beginner Unity

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));
Beginner Godot

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.

Intermediate Python

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")
Beginner Web

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.

Intermediate AI

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.

Frequently Asked Questions

Find answers to common questions about SpriteCutter and sprite sheet workflows.

General Questions

What is SpriteCutter?
SpriteCutter is a free, browser-based tool for inspecting sprite sheets and extracting individual sprites. It helps game developers get precise pixel coordinates for any sprite in a sprite sheet, making it easy to integrate assets into game engines or image processing workflows.
Is SpriteCutter free to use?
Yes, SpriteCutter is completely free to use. There's no registration required, no watermarks, and no limitations on the number of sprites you can extract. The tool runs entirely in your browser, so your images are never uploaded to any server.
What image formats are supported?
SpriteCutter supports PNG, JPEG, and WebP image formats. PNG is recommended for sprite sheets because it supports transparency, which is essential for most game graphics. JPEG works well for photographic sprites without transparency.
Is there a file size limit?
There's no hard limit on file size. However, very large images (over 4096x4096 pixels) may cause performance issues on some devices. For best performance, we recommend keeping sprite sheets under 2048x2048 pixels.

Technical Questions

How do I handle sprites with margins or padding?
Use the Margin X and Margin Y controls to set the spacing between sprites. For example, if your sprites are 32x32 with 2 pixels of padding between them, set the sprite size to 32x32 and the margins to 2x2. The grid will automatically adjust to account for this spacing.
What do the coordinates mean?
The coordinates (x, y, w, h) represent:

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.
Can I use SpriteCutter with non-uniform sprite sheets?
SpriteCutter works best with uniform grid-based sprite sheets where all sprites are the same size. For packed texture atlases with sprites of different sizes, you would need to adjust the grid settings for each sprite group or use a texture packer tool that generates coordinate data automatically.
How do I use the coordinates in my game engine?
The coordinates can be used directly in most game engines:

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

What is the "AI Prompt" feature for?
The AI Prompt feature generates a formatted text string with the sprite coordinates, dimensions, and source file name. This is useful when working with AI image generation tools like Stable Diffusion, DALL-E, or AI coding assistants. You can paste the prompt to instruct the AI to extract, modify, or reference a specific sprite.
Can I extract multiple sprites at once?
Currently, SpriteCutter exports one sprite at a time. For batch extraction, you can use the coordinates with a scripting solution (see the Python tutorial in the Tutorials section). We're working on a batch export feature for a future update.
Are my images uploaded to a server?
No. SpriteCutter runs entirely in your browser using JavaScript. Your images are never uploaded to any server - they're processed locally on your device. This means your artwork remains private and there are no upload speed limitations.
What keyboard shortcuts are available?
SpriteCutter includes several keyboard shortcuts for faster workflow:

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

Quick Tips

Zoom: Use mouse wheel or +/- keys

Pan: Click and drag the canvas

Navigate: Arrow keys move selection

Export: Press Space to save sprite

Copy: Press C for AI prompt

⌨️ Keyboard Shortcuts

Navigation

Navigate sprites Arrow Keys
Clear selection Esc

Actions

Export sprite Space
Copy AI prompt C

View

Zoom in + or =
Zoom out -
Toggle grid G

Help

Show shortcuts ?