The JSON is read in your browser and is not uploaded to a server.
MotionHub
Motion tools by ZERB LION
MotionHub Guide
How the three tools fit together, and how to use each one.
— handoff & audit
Overview
One page for Lottie playback and motion handoff
MotionSheet reads Bodymovin/Lottie JSON locally in the browser. It can play the animation, inspect the timeline, diagnose heavy files, and generate a compact motion handoff table when semantic keyframes are available.
Preview the Lottie, scrub the effective timeline, and inspect layer segments.
Keyframe-based motion is converted into a merged-cell table for handoff.
Frame-visibility and heavy vector files are flagged before handoff.
Workflow
Upload, preview, copy
Start with a JSON upload. Use Table for handoff data and Timeline for playback, scrubbing, and quick animation checks.
- 1
Upload JSON
- 2
Preview playback and timeline
- 3
Review warnings and generated rows
- 4
Copy Table, or export MD / Dev JSON
Timeline
Click a segment to spot the exact layer
In the Timeline tab you can play, loop, change speed, set a background, and scrub the playhead. Click any property segment to inspect it: its parameters and a zoomed layer thumbnail appear on the right, and the matching layer is boxed on the main canvas so developers know exactly which layer moves.
Layer preview
- Layer
- —
- Property
- —
- Change
- —
Click a segment to preview the layer
Action Markers
Mark the action range in AE
Add null-object layers named [start]ActionName and [end]ActionName around the motion you want to hand off (Nulls don't render, so they're safe as markers). Short tags [s]ActionName and [e]ActionName also work.
[start]Open
animated layers...
[end]Open
Optional element groups use (start)Name / (end)Name or (s)Name / (e)Name.
Outputs
What each button is for
Primary output. Copies the right-side preview table and preserves table structure where supported.
Text fallback for docs, comments, and quick review.
Downloads a Markdown version of the generated table.
Downloads normalized developer handoff data. It is not the original uploaded JSON.
Delay Format
Two anchors on one global timeline
Delay uses the format (+Xms, -Yms). The positive value marks when the animation starts. The negative value marks how far the animation ends before the total action ends.
Example
80ms start, 230ms duration, 400ms total
With Delay (+80ms, -90ms), Duration 230ms, and Total 400ms, the segment runs from 80ms to 310ms. The remaining 90ms is the tail distance to the action end.
Parent / Children
Parent and child rows share the same 0ms origin
Parent and child delays are not nested offsets. Every +Xms value is placed directly on the same global timeline. Developers can use each delay value as an absolute start position inside the action.
| Parent | Child | Parent Property | Child Property | Parent Delay | Child Delay | Total |
|---|---|---|---|---|---|---|
| Window group parent |
Info 1 child |
scale:110-100 | opacity:0-100 | (+67ms, -0ms) | (+67ms, -200ms) | 467ms |
| Info 2 child |
opacity:0-100 | (+133ms, -133ms) | ||||
| Info 3 child |
opacity:0-100 | (+200ms, -67ms) |
Treat +Xms as the start time in code.
Use -Yms to verify that the animation ends at the expected tail position.
Child delay values are already global. Do not add them to the parent delay.
— define the spec
Spec editor
Author one shared motion-tokens.json
MotionSpec is where a design lead defines the house motion spec: drag a cubic-bezier curve (Y can pass 1 for overshoot) with a live preview, name the standard durations and stagger steps, and set audit tolerance. Export motion-tokens.json, copy it, share a link, or "Use in audit" to hand it to MotionSheet in this browser.
- 1
Name a curve and drag its handles
- 2
Set durations and stagger steps
- 3
Export or publish motion-tokens.json
- 4
MotionSheet & MotionPilot read the same file
— build motion in AE
AE plugin
A sentence becomes compliant motion
MotionPilot is an After Effects panel (not a web page). It reads the real layers in your composition, plans the animation from a sentence, and writes eased keyframes — with curves, durations and stagger locked to the same motion-tokens.json. It pulls that spec from a fixed URL, so everyone builds against the latest house spec. See the MotionPilot page for install and download.
sentence
→ plan (locked to spec) → AE keyframes
Curves/durations/stagger can only come from the spec, so output is compliant by construction.