Khrum2D character · 2026
A boar on his own rig who lives on a website and in Lottie
A character on an SVG rig: states, actions, facial expressions and reactions to the pointer. Loops are baked into Lottie for apps and interfaces.
In Russian and English


The character responds to people
He follows the pointer with his eyes and head, and reacts in his own way to petting and a tap on the snout.


Eight states, no jerks
Idle, walk, gallop, jump, curiosity, joy, sleep and surprise. Transitions are smoothed, and the hooves never slide on the ground.

A pose is adjusted, not redrawn
The drawing is one SVG file, the rig builds it into a hierarchy of nodes, and the legs use inverse kinematics.
49 numbers describe a pose


The same loops work in Lottie
A script bakes the rig's loops into standard Lottie JSON, which the ordinary lottie-web player plays.
41 KB idle loop, gzipped


Ready for a product
Loading, a notification, an empty state, an assistant and an error page are already shown with Khrum.


How it is built
TypeScript and Canvas, no external requests.
- Drawing
- One editable SVG with layers, gradients and pivot points.
- Motion
- Springs for ears, tail and head, blinking and gaze on top of the main pose.
- Speed
- The forest is drawn in a background thread, and off-screen sections are not drawn.
- Checks
- Numeric checks for hoof sliding and sudden jumps in the pose.
Meet Khrum