Build buttery-smooth SVG animations using natural language and real-world physics. No heavy runtimes, no proprietary players — just pure web code. And it's all local: every scene, key, and file lives in your browser.
✓ Free forever · ✓ No sign-up · ✓ No ads · ✓ No watermarks on exports
Try it — the card on the right is a real gallery item: a SVGMotion export with callable methods, a share link, and a remix path — exactly what you get on its item page.
player.call('spin') just works.Prompt in plain language — “a heart that pops on click with a ring pulse” — and get editable layers, actions, transitions, and a wired state machine. Nothing is hardcoded; every scene is generated.
Bounce, roll, tumble, slide, pendulum, projectile — deterministic simulation baked into ordinary keyframes. Bake-then-play: the export plays keys, not an engine.
Click, hover, scroll, and auto triggers on a visual graph — with guard expressions and inputs.
Per-key easing, holds, vertex pin-rotation, movable pivots — the fine control animation needs.
One .svg file: artwork + motion + API. SMIL and Lottie too. ~3 KB of clean markup, not a runtime.
Exports ship a tiny player API — player.call('launch'), player.play.launch(), player.setInput('armed', true). Trigger from scroll, clicks, or your app's logic.
<!-- the file renders on its own; add the runtime only if you want to drive it --> const player = SVGMotionPlayer(mount, scene); player.call('launch'); // run an action by name player.play.hover(); // or as a method player.setInput('count', 3); // feed the state machine
A sibling of the editor: rig a character's parts once, then drive it with micro-actions, named macros, a multi-entity world stage, and an AI director that composes motion at runtime.
Everything runs in your browser — your files stay on your machine. Generate, remix a gallery item, or draw your own.