FNF Sprite Sheet and XML Generator

Your character. Your rhythm. Pack animations into a transparent sprite sheet, Sparrow XML and Psych Engine character JSON — right in your browser.

Psych · Kade · Codename · HaxeFlixel

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.

0 FRAMES
0 FRAMES
0 FRAMES
0 FRAMES
0 FRAMES
Add frames or load the sample to start.
my-character.zip

PNG + Sparrow XML + Psych JSON

Original knight character→

Need sing poses drawn for you?

One character. A whole set of moves. Explore the AI sprite workflow.

Generate sing poses

How to use the FNF XML generator

01

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.

02

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.

03

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