Free Online Tool — No Sign-up

Godot Sprite Sheet Generator
Create sprite sheets and texture atlases optimized for Godot Engine.

Create sprite sheets and texture atlases optimized for Godot Engine. Upload your assets, configure packing, and export with Godot-compatible metadata that maps to AtlasTexture and AnimatedSprite2D nodes.

Features

Godot Metadata

Export JSON with Godot's texture/region/margin structure.

AtlasTexture Compatible

Metadata maps directly to Godot's AtlasTexture resource.

Video & Image Input

Create sheets from video, GIF, or individual images.

MaxRects Packing

Efficient packing minimizes texture memory usage.

Transparent Trimming

Crop transparent areas for tighter sprite packing.

Godot 3 & 4

Region-based metadata works in both major Godot versions.

How It Works

1

Upload Assets

Drop video, GIF, or sprite images.

2

Configure for Godot

Set packing options and choose Godot export format.

3

Import to Godot

Download PNG + JSON and build SpriteFrames with the script below.

Why Use I Love Sprites?

Godot Engine's 2D rendering system uses AtlasTexture resources to reference sub-regions of larger texture images. I Love Sprites exports metadata with texture regions in Godot's expected structure, making it easy to import packed sprite sheets into Godot 3.x and 4.x projects.

For uniform-grid sheets (every frame the same size), the fastest route is Godot's built-in editor support: on an AnimatedSprite2D, create a SpriteFrames resource and use 'Add frames from sprite sheet', entering the rows and columns. For MaxRects-packed sheets with mixed frame sizes, use the exported JSON instead — the snippet below builds a SpriteFrames resource from it at load time, one AtlasTexture region per frame.

Pixel-art projects should also set the texture filter to Nearest (per-node in Godot 4, or project-wide under Rendering → Textures → Default Texture Filter) to avoid blurry sprites, and keep 1-2px extrusion enabled when packing so filtered edges don't bleed.

Build SpriteFrames from the exported JSON (Godot 4)

Loads the packed PNG and JSON, creates one AtlasTexture per frame, and returns a SpriteFrames resource ready to assign to an AnimatedSprite2D.

# atlas_loader.gd
static func load_sprite_frames(png_path: String, json_path: String,
        anim_name: StringName = &"default", fps: float = 12.0) -> SpriteFrames:
    var tex: Texture2D = load(png_path)
    var data: Dictionary = JSON.parse_string(
        FileAccess.get_file_as_string(json_path))

    var frames := SpriteFrames.new()
    frames.add_animation(anim_name)
    frames.set_animation_speed(anim_name, fps)

    for f in data["frames"]:
        var at := AtlasTexture.new()
        at.atlas = tex
        at.region = Rect2(f["x"], f["y"], f["w"], f["h"])
        frames.add_frame(anim_name, at)
    return frames

# Usage on an AnimatedSprite2D:
#   sprite.sprite_frames = AtlasLoader.load_sprite_frames(
#       "res://player.png", "res://player.json", &"run", 12.0)
#   sprite.play(&"run")

Frequently Asked Questions

Common questions about sprite sheet generator for godot.

Import the PNG as a texture, then create AtlasTexture resources for each frame region — either by hand for a few frames, or with the GDScript loader above for full animations.

Yes. The metadata format is region-based and works with both Godot 3 and Godot 4 (the sample script targets Godot 4 syntax).

If your sheet is a uniform grid, AnimatedSprite2D's 'Add frames from sprite sheet' is quickest. Use the JSON workflow when frames are trimmed or packed with mixed sizes.

Set the texture filter to Nearest (per-node in Godot 4, or in Project Settings → Rendering → Textures). Also export at 100% scale and scale the node instead.

Stay Updated

Get notified about new features and tool updates.

Start Using Sprite Sheet Generator for Godot

Generate Godot-compatible sprite sheets and texture atlases. Works with AtlasTexture, SpriteFrames, and AnimatedSprite2D in Godot 3 and 4. Free browser tool. No sign-up required.