Updated

Catnip Studio

Seeded pixel-art characters, built from layered parts.

Catnip Studio: a gallery of generated pixel-art cats, dogs, bunnies and frogs

What it is

A generator for 32 × 32 pixel-art animals: cats, dogs, bunnies and frogs. Each character is assembled from layered parts such as body, eyes and accessories, picked at random with weights from a seed string, so the same seed always gives back the same character.

It began in 2017 as a character-definition tool whose canvas and data model were never connected. In April 2026 it was rewritten from scratch on a modern stack, keeping only the idea behind the data model.

How it works

  • Characters are trees of slots, each holding weighted options, composited in z-order onto one 32 × 32 canvas.
  • A small Mulberry32 random generator, seeded from a hashed string, makes every character reproducible from its seed.
  • Optional parts are sometimes left out entirely, so one template yields many different characters.
  • Pixels store palette indices rather than colors, so swapping the palette recolors a whole character at once, like the alternate-color sprites in old games.
  • Animation reuses the same system: options in one animation group, such as open and closed eyes or walk frames, play as frames, and several animations run at once.
  • It draws with plain Canvas 2D, smoothing off, and exports PNGs and animated GIFs.

Built with

  • React
  • TypeScript
  • Zustand
  • Tailwind CSS
  • Radix UI
  • gifenc

Started