← All guides

How to Import a Sprite Sheet into Godot 4

4 min read · Updated August 2026

Godot 4 is the one engine SpritePilot can hand a finished, native resource: the SpriteFrames export is a .tres file you drop straight onto an AnimatedSprite2D node. There’s also a clean JSON export if you prefer building AtlasTextures in code. Start with the .tres path — it’s genuinely two steps.

Open Export & Download — free, in your browser, no signup.

Path A — SpriteFrames .tres (recommended)

  1. Export both files. In Export & Download, pick the "SpriteFrames" metadata format and download. You get the sheet (sprite-sheet.png) and sprite-frames.tres. If you defined Animation Tags, each tag becomes a named animation inside the resource; otherwise everything lands in one animation called "default".
  2. Copy into your project — root folder. The .tres references the texture by the path res://sprite-sheet.png, so copy both files into your Godot project’s root folder, keeping the PNG’s filename unchanged. (Prefer a subfolder? Open the .tres in a text editor and update the path on the ext_resource line near the top of the file.)
  3. Assign to an AnimatedSprite2D. Add an AnimatedSprite2D node, and in the Inspector set its Sprite Frames property by loading sprite-frames.tres. Every frame — and every tagged animation — appears in the SpriteFrames panel, ready to play with play("walk") from GDScript.

Path B — Godot JSON + AtlasTexture

The "Godot JSON" format lists every frame’s name, region rectangle, and pivot. It’s ideal when you want AtlasTexture resources for static sprites, or your own animation pipeline:

var sheet = load("res://sprite-sheet.png")
var data = JSON.parse_string(FileAccess.get_file_as_string("res://sprite-sheet.godot.json"))

for frame in data.frames:
    var tex = AtlasTexture.new()
    tex.atlas = sheet
    tex.region = Rect2(frame.region.x, frame.region.y, frame.region.w, frame.region.h)
    # use tex, keyed by frame.name

Tips

Related guides