The Miracle of

SKELETORAMA

v1.2.0
Parts
Selected Part
No part selected
Upload Image
Click or drag image

Drag parts on stage or use Arrow keys (Shift = 10px)

Animation: None
Select an animated part
Typewriter Input
Output
Available Tags:
{speed:N} - Typing speed in ms (50 = normal)
{move:NAME} - Animation preset name
{wait:N} - Pause in ms
{anim:N} - Animation cycle speed in seconds
{reset} - Return to defaults
Generated CSS
Project Data

User Guide

Getting Started

SKELETORAMA creates CSS-animated puppet characters from layered images. Each part (head, hands, body) can be independently positioned and animated.

  1. Click + Add to create a new part
  2. Upload an image for the part
  3. Drag to position on the stage
  4. Configure animation in the Animation tab
  5. Copy generated CSS from the Export tab

Parts Tab

  • Name β€” Identifies the part in exports (e.g., "head" β†’ .puppet-head)
  • Type β€” Organizational label (body, head, hand, etc.)
  • Static β€” Check for non-animated parts (backgrounds)
  • Z-Index β€” Layering order (higher = on top)
  • Position β€” X/Y coordinates from bottom-left
  • ↑/↓ buttons β€” Reorder layer stack

Animation Tab

Select an animated part, then configure its motion:

  • Presets β€” Quick-start animation templates (flap, shiver, laugh, etc.)
  • Pivot Point β€” The rotation/transform origin (X%, Y%)
  • Rotate β€” Degrees of rotation at animation peak
  • Translate X/Y β€” Pixel movement at animation peak
  • Speed β€” Animation cycle duration in seconds
  • Easing β€” Animation timing function

Saving Animations: Enter a name and click + Save to store the current settings. Saved animations appear in CSS export and work with {move:name} tags.

Animation Presets

flap
Rotation + slight lift β€” talking/jaw
chatter
Vertical bounce β€” nervous energy
shiver
Horizontal shake β€” scared/cold
laugh
Tilt back + lift β€” laughing
accordion
Move right β€” right hand gesture
accordion-left
Move left β€” left hand gesture
bounce
Vertical bob β€” full body
sway
Gentle rotation β€” idle motion
nod
Rotation from top β€” head nod
wave
Rotation from bottom-left β€” waving

Preview Tab

Test animations with typewriter-style text playback. Animation tags control the puppet:

{move:name}
Switch to named animation
{speed:N}
Typing speed in ms (50 = normal)
{anim:N}
Animation speed in seconds
{wait:N}
Pause for N milliseconds
{reset}
Return to default animation

Example: Hello! {move:laugh}Ha ha!{reset}

Export Tab

  • Copy CSS β€” Copy generated styles to clipboard
  • Save JSON β€” Download project file for later
  • Load JSON β€” Restore a saved project

The exported CSS uses CSS variables for animation switching. Set --partname-anim and --partname-speed via JavaScript to change animations at runtime.

Keyboard Shortcuts

Space
Toggle animation preview
↑ ↓ ← β†’
Move selected part 1px
Shift + Arrows
Move selected part 10px
Esc
Close this help

Tips

  • Start with the body/background as a static part
  • Set the pivot point where joints naturally hinge (jaw = bottom-center)
  • Save multiple animations per part (talk, laugh, shiver) for variety
  • Use the light/dark stage toggle to check against different backgrounds
  • Export subtracts 4px from bottom positions β€” adjust if needed