How to Move Individual Frames in an FNF Spritesheet
Friday Night Funkin' modding has a surprisingly active creative community, and one of the most common technical hurdles new modders hit is manipulating spritesheets — specifically, repositioning individual frames without breaking the entire animation. Whether you're fixing an off-center idle pose or rebuilding a character from scratch, understanding how FNF spritesheets work is the foundation for doing it right.
What Is an FNF Spritesheet, Actually?
An FNF spritesheet is a single image file (usually a .png) that contains every animation frame for a character or object laid out in a grid or freeform arrangement. It's paired with an XML file (sometimes a .json) that maps each frame by name, position, and size — telling the game engine exactly where to find each frame within that image.
The engine FNF uses (HaxeFlixel) reads the XML to locate frames at runtime. So when you "move" a frame, you're not just dragging pixels — you're also updating the coordinate data in that paired data file. Miss that step, and the game will still try to render the frame from the old position, producing glitches or blank sprites.
The Two Parts You Always Edit Together
| File | Purpose |
|---|---|
| .png (spritesheet image) | The actual pixel art for all frames |
| .xml or .json (atlas data) | Coordinate map telling the engine where each frame lives |
Editing one without the other is the most common mistake beginners make. Always treat them as a paired set.
Tools Used to Move FNF Spritesheet Frames
Adobe Animate / Flash-Based Workflows
The "original" FNF pipeline was built around Adobe Animate, which exports spritesheets and XML simultaneously. If you're working in Animate, you move frames on the canvas and re-export — the XML regenerates automatically. This is the cleanest workflow but requires a paid tool and some familiarity with timeline-based animation.
Texture Packer
TexturePacker is a dedicated spritesheet tool that lets you import individual frame images, arrange them, and export a packed spritesheet with a matching data file. If you want to reposition a frame, you adjust its source image or padding settings and re-pack. It supports the Sparrow/Starling XML format that FNF uses natively.
Free Spritesheet Tools (Shoebox, Free Texture Packer)
Free Texture Packer is a no-cost alternative that handles the same XML export format. Shoebox can unpack and repack sheets. These are popular with modders who want to avoid subscription software. Functionality is similar, though the interface is less polished.
Manual XML Editing
For small adjustments — nudging a frame a few pixels, fixing an offset — some modders skip the visual tools entirely and edit the XML directly in a text editor. Each frame entry looks something like this: