Free forever · No login · 100% local

Design CSS animations like a pro.

A professional animation studio in your browser. Canvas, timeline, keyframes, bezier curves — and production-ready CSS, React, Vue or Tailwind out the other end.

Space to play · ⌘Z undo · K keyframe — it works like the tools you know
hero-scene · 2.4s · loop
Shipped ✓
60+
motion presets
11
export formats
60fps
GPU-friendly output
0
accounts required

Everything a motion tool should have

Built for designers who think in canvases and engineers who ship CSS.

Figma-grade canvas

Infinite pan & zoom, marquee select, smart guides, snap-to-artboard, drag / resize / rotate handles.

After Effects timeline

Per-property tracks, keyframe diamonds, draggable playhead, loop, speed control and frame stepping.

Real curve editor

Every easing from linear to spring. Drag bezier handles and watch the curve — and your animation — update live.

11 export formats

CSS, SCSS, Tailwind, React, Vue, Svelte, Angular, styled-components, Emotion, Web Component, HTML.

60+ presets

Bounce, Elastic, Glitch, Neon Flicker, Wipes, Iris, Draw Line, Orbit… applied at the playhead as real keyframes.

Nested animatable groups

Groups hold groups, to any depth, and each one animates in its own right. They export as nested markup so transforms cascade exactly as designed.

SVG path & motion paths

Draw-on line animations via stroke-dashoffset, plus offset-path so any element can travel a curve.

Clip & mask reveals

Eight clip-path shapes and gradient masks with animatable parameters — wipes, irises and curtains in pure CSS.

CSS variables

Define design tokens, bind colours to them, and exports emit a :root block with var() references.

Device preview

Run the generated CSS in a real sandboxed viewport at phone, tablet, laptop or custom size.

Command palette

⌘K fuzzy-searches every layer, preset, property and command. Never hunt through a panel again.

60fps by construction

Output leans on transform and opacity, adds will-change, and never animates layout when it can help it.

Accessible by default

One-click prefers-reduced-motion guard and WCAG 2.3.1 flash warnings baked into the inspector.

Layers & history

Full layer tree with lock/hide, unlimited undo/redo, and autosave to your browser — nothing leaves your machine.

Canvas in. Production CSS out.

Every drag, every keyframe, every curve becomes clean @keyframes — with per-segment timing functions, baked spring physics, and an automatic reduced-motion guard. Copy it, or export straight to React, Vue, Svelte, Angular, Tailwind, styled-components and more.

  • GPU-accelerated transforms only — no layout thrashing
  • Bounce, elastic & spring baked into pure CSS
  • Groups export as nested markup with cascading transforms
  • Design tokens emitted as :root variables
  • prefers-reduced-motion handled for you
  • WCAG flash warnings before you ship
animation.css
.hero-card {
  width: 260px;
  height: 170px;
  background: #1c1e2a;
  border-radius: 20px;
  animation: hero-card-anim 1200ms linear 0ms infinite both;
  will-change: transform, opacity;
}

@keyframes hero-card-anim {
  0% {
    transform: translate3d(0, 46px, 0) scale(0.92, 0.92);
    opacity: 0;
    animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  58.33% {
    transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1, 1);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-card { animation: none; }
}

58+ presets. One click each.

Entrances, exits, attention-seekers and effects — applied to your element at the playhead, fully editable afterwards.

Why not just…

MotionCraftHand-written CSSJS animation libs
Visual timeline editingSome
Zero runtime dependency
Spring & bounce physics in CSSBy hand
Production-ready outputDepends
Reduced-motion handlingManualManual
Works without code
Free, local, no accountVaries

Loved by people who ship

I stopped hand-tuning cubic-beziers in devtools. I drag the curve, copy the CSS, done.
A
Ava
Design Engineer
The exports are actually clean. Keyframes I would happily merge without a second look.
M
Marcus
Frontend Lead
Finally a motion tool where handing off means pressing one button, not writing a spec.
R
Rin
Product Designer

Placeholder testimonials — MotionCraft is brand new.

Questions, answered

Free, no account, no server. Everything runs and stays in your browser — your scenes autosave to localStorage. A future Pro tier may add cloud sharing and team features, but the editor stays free.

Nowhere. MotionCraft has no backend. Your work is saved locally in your browser and exported files download straight to your machine.

Yes. It favors transform/opacity, includes per-segment timing functions, bakes physics-based easings into keyframes, and can wrap everything in a prefers-reduced-motion guard.

CSS timing functions can’t express oscillation, so MotionCraft samples the physics curve and bakes it into intermediate keyframes — identical motion, zero JavaScript.

Absolutely. Everything you create and export is yours, no attribution required.

Every shape is built from interpolatable numbers — inset percentages, circle radii, polygon points — so the browser can tween between them. Masks are gradients whose stops move, which produces wipes and irises with no JavaScript.

The architecture was designed with these in mind — exporters are pluggable modules. They’re on the roadmap.

Your next animation is 30 seconds away.

Launch Studio — it's free