Build an FNF sprite sheet and XML
AIGenerate sing poses with AI
Upload one image of your character. AI draws a clean idle frame and the four sing poses, then lines them up in the animations above.
Sign in to generate a set from your own character. Buy credits
1What do you need?
2Animations
Import a PNG and matching XML together to edit an existing sheet.
Add frames or load the sample to start.
PNG + Sparrow XML + Psych JSON
Need sing poses drawn for you?
One character. A whole set of moves. Explore the AI sprite workflow.
How to use the FNF XML generator
Add frames to each animation
Upload PNG, WebP or GIF frames into idle, singLEFT, singDOWN, singUP and singRIGHT. Turn on miss animations if your character is playable.
Check the loop and baseline
Play each group in the preview and set its FPS and looping. Keep “Align feet to one baseline” on so the character does not jump between poses.
Download the ZIP
Choose PNG + XML + character JSON. The ZIP contains the sprite sheet, the Sparrow XML, a Psych Engine character file and a short install note.
Where the files go in Psych Engine
Sprite sheet PNG and XML
Keep the PNG and XML together, with the same name, under mods/images/ in the folder that matches the image path you entered (characters/my-character by default).
Character JSON
Rename the .character.json file to your character name, for example my-character.json, and put it in mods/characters/. That name is what you pick in the Character Editor and Chart Editor.
Health icons
If you upload icons, put icon-<name>.png in mods/images/icons/. It is 300 × 150 pixels: the normal face on the left and the losing face on the right.
What the XML contains
Sparrow XML lists every frame as a SubTexture with a name such as singLEFT0001 and its position and size on the sheet. The game finds each animation by that name prefix, which is why the generator names the frames for you.
FNF questions
Which FNF engines support this export?
Psych, Kade, Codename and HaxeFlixel can read Sparrow XML. The extra character JSON is specifically for Psych Engine; other engines have their own character configuration.
Can I use this on my phone?
Yes. Select images from Files or Photos, long-press frames to sort them, or use the arrow controls. Then download the ZIP.
Can I edit an existing sheet?
Import a PNG and its Sparrow XML together. Frame names are assigned to action groups and trimmed frames are restored to their original canvas.
How are frames named?
Each action gets a four-digit sequence, starting at 0001: idle0001, singLEFT0001 and so on.
Are character icons included?
Upload your own 300 × 150 PNG containing two 150 × 150 icons. Otherwise the JSON points to the existing icon name you enter.
Is this an FNF XML generator?
Yes. It writes the Sparrow XML that FNF engines need next to the PNG, so you never type frame coordinates by hand. Psych Engine also gets a ready character JSON.
Which animations does a character need?
Characters use idle plus singLEFT, singDOWN, singUP and singRIGHT. Playable characters usually add miss versions such as singLEFTmiss, which the miss option creates.
Do I need Adobe Animate?
No. Frames drawn in Aseprite, Krita, Procreate, Photoshop or any other editor work, as long as you export them as images.
Can I turn a GIF into an FNF sprite sheet?
Yes. Add the GIF to an animation group and each frame is decoded in order. For a generic sheet without XML, use the GIF to sprite sheet converter.
More free sprite tools
Sprite Sheet Maker
Pack frames into one atlas for Unity, Godot or Phaser.
FNF OC Maker
Turn one character drawing into idle and sing poses.
GIF to Sprite Sheet
Extract frames from a GIF.
Sprite Sheet Splitter
Cut an old sheet into PNG frames.
Sprite Sheet Animator
Preview the action loop.
Sprite Sheet to GIF
Share a looping preview.