Justility.
LOCAL FILES. REAL POSSIBILITIES.

Frame-by-frame animator

Draw simple animations with onion skin, frame holds and local GIF, PNG and silent WebM exports.

ONE FRAME AT A TIME

Give a sketch some life.

Local processing · 0.08 s
New canvas & image import

Pixel artwork imports replace the project after review. Freehand image imports add a frame, fitted proportionally. Sprite sheets are read left to right, then top to bottom.

640 × 360 · frame 1 · B brush, E eraser, H pan. Focus the canvas: arrow keys move the cursor; Shift moves 10 px; Space paints. Shapes and selection use two Space presses for endpoints.

Keyboard cursor: 0, 0

Hold 1 = one tick at the selected FPS. Onion skin shows adjacent frames.

Take it with you

PNG preserves transparency. GIF reduces colors and uses a 50% alpha cutoff. WebM uses the preview background, original dimensions and real-time recording; keep this tab visible. Exports do not save an editable project.

Project files & local recovery

Project files preserve editable work. Image, video and audio exports are final copies. Recovery stays on this device and may be evicted by your browser; keep a downloaded backup.

Local autosave is off. Live recordings are saved only after Stop.

Up to 120 frames, 60 seconds and 128 MiB of artwork. Undo keeps up to 32 MiB / 100 recent edits. Drawings stay in this tab unless you download a project or enable local recovery.

Processed on your device. Your files are never uploaded by Justility.

How privacy works

How it works

Draw a frame with the brush, add or duplicate frames and use onion skin to align the next drawing. Set FPS and frame holds, preview the loop, then export or save an editable project.

Supported formats

One drawing layer per frame; canvas up to 1280×720, 120 frames, 60 seconds and 128 MiB artwork. PNG/JPEG frame imports up to 20 MB. Current-frame PNG, PNG frame ZIP, sprite sheet with timing JSON, GIF, supported silent WebM and project files.

Good to know

Frame-by-frame raster drawing only: no tweening, vectors, audio synchronization or MP4. GIF reduces colors and transparency. Silent WebM export needs browser encoder support, runs in real time and stops if the tab is hidden.

Worked example

Before

Two drawings of a circle, each held six ticks at 12 FPS

After

A one-second loop showing the circle at two positions

Duplicate a frame to reuse a drawing, or add a blank frame. Onion skin shows neighboring frames for alignment but is excluded from exported pixels.

Make timing part of the drawing

FPS controls ticks per second; frame hold multiplies a frame’s duration. A hold of three at 12 FPS lasts a quarter second. PNG frames and sprite-sheet metadata preserve that timing. Preview/WebM background does not replace transparency in PNG artwork.

Pixel art editor & animator

Troubleshooting

Why did my WebM export stop when I switched tabs?

Real-time canvas recording can lose timing in background tabs. Keep the tab visible and retry, or export GIF/PNG frames, which are encoded independently of live playback.

Common questions

Will an exported GIF reopen as editable frames here?

Animated GIF/video import is not part of this release. Save a .justility-project file to reopen editable frames and timing. Optional device recovery is a convenience, not a portable backup.

Can I use this without an internet connection?

Yes, after you prepare this tool from Offline help and the browser retains its assets. Installation is optional. All processing dependencies are bundled locally.