Pendulum is a CEP panel for After Effects that lets you shape keyframe easing with a visual speed graph. Drag the handles. See the motion. Skip the math.
Pendulum sits in an After Effects panel. No round-tripping to the graph editor, no copy/paste math from Stack Overflow.
Grab the orange influence handles on the speed graph and drag them to sculpt acceleration and deceleration. Drag the canvas itself to adjust both handles at once.
With auto-apply enabled — the default — your curve is sent to After Effects the moment you release the mouse. Toggle it off if you prefer to click Apply manually.
When keyframes are selected, Pendulum draws their existing easing behind your active curve as a translucent reference. Compare before and tweak after.
Save any curve as a preset thumbnail. Drag presets into favorites to color-code, rename, and reorder them. Build a personal library that persists across sessions.
A 3×3 grid lets you snap a layer's anchor point to any standard position without shifting it in the composition. Works on 2D, 3D, parented, and separated-dimension layers.
Create controller nulls at the visual center of selected layers, auto-parented. Plus drop-in .jsx scripts — like wiggle with sliders or split text — that appear as buttons in the panel.
Grab the latest ZXP from GitHub releases, or clone the repo and side-load it.
Download com.pendulum.cep.zxp from the latest GitHub release. Open it with the free ZXP Installer to install automatically into After Effects.
Unzip the .zxp file and copy its contents to your CEP extensions folder. Enable unsigned extensions with a registry/plist flag, then restart After Effects.
Everything you need to know, in the order you'll need it.
After installing, launch After Effects and choose Window → Extensions → Pendulum from the menu bar. The panel will dock into your workspace like any other. We recommend parking it next to your Timeline — it's where you'll spend most of your time with it.
The graph shows a speed curve — velocity over time between two keyframes. Two orange handles sit on the baseline:
Each handle ranges from 0% to 100% influence, matching After Effects' own influence percentage.
Dragging on the canvas (not directly on a handle) adjusts both handles at once: vertically tightens or loosens the curve globally; horizontally shifts emphasis between ease-in and ease-out.
The cubic-bezier(...) readout below the canvas shows the current control points. Click it to copy — useful for CSS easing or reference.
Pendulum operates on selected keyframes across all selected layers. If no specific keyframes are selected within a property, it targets all keyframes on that property. Hold keyframes are always skipped.
The entire operation is a single undo step (“Pendulum: Apply Easing”). Press ⌘Z / Ctrl+Z to revert.
When you have keyframes selected in After Effects, Pendulum reads their current easing and draws it behind your active curve as a translucent overlay. Ghosts fade in smoothly when the selection changes.
Up to 4 ghost curves display at once, one per selected property, each in a fixed color cycle (white, orange, light blue, lavender). When your active curve's peak velocity aligns closely with a ghost's peak, a dashed vertical line appears to help you match timing across properties.
Once you have a curve you like, click the + button in the preset bar to save it as a thumbnail. When ghost curves are visible, a second save button appears — click it to save all visible ghost curves as individual presets.
Presets persist between After Effects sessions and are stored in the panel's local storage. The bar scrolls horizontally when you have many presets.
Drag any preset into the favorites area below the preset bar to pin it for quick access. Favorites can be renamed (double-click the name), color-coded (click the color dot), and reordered by dragging. They persist alongside your settings.
The 3×3 grid on the right side of the panel repositions a layer's anchor point to any of 9 standard positions (top-left through bottom-right). Positions are calculated from the layer's visible content bounds, not the comp dimensions.
When the anchor point moves, Pendulum compensates the layer's Position value so the layer does not visually shift. Works on 2D and 3D layers, parented layers, and separated dimensions. Cameras and lights are skipped.
The Null Creator button creates a null object in the active composition. With layers selected, the null is placed at the average visual center of the selection and those layers are automatically parented to the null. Without a selection, the null lands at the comp center. Nulls are named Ctrl_01, Ctrl_02, etc.
Open the settings panel by clicking the gear icon in the bottom-right corner.
Settings are saved automatically and persist between sessions.
Every release, in reverse order. Subscribe via GitHub releases for notifications.