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)
- 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".
- 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.)
- 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
- Pixel art: in Godot’s import dock select the PNG and make sure the texture filter is "Nearest" (or set it per-node) so sprites stay crisp.
- Set each animation’s FPS in the SpriteFrames panel — SpritePilot writes a default speed of 12 FPS into the .tres.
- Exporting with 1–2 px of Extrude prevents edge bleeding if your camera zooms.
Related guides
- Sprite Sheet Export Formats Explained
- How to Import a Sprite Sheet into Unity
- How to Load a Sprite Atlas in Phaser 3