---
title: "Keys"
description: "Find a key by its action and by the panel that has keyboard focus."
canonical: "https://terminal.lottiefiles.com/docs/keys/"
last_updated: 2026-10-30
---

# Keys

Find a key by its action and by the panel that has keyboard focus.

## Picking animation keys

Drag a box across the score to pick the keys inside it. Start it on empty track or on a move
that isn't selected (a click there still moves the playhead or selects the move); over a folded
layer's row it picks its tracks' keys. With `⇧` the box turns each key inside: a picked one is
let go, the rest join; ⇧-click (or Ctrl-click) does the same one key at a time. Drag one picked
key and they all move by the same frames; a preset
eases every move they start, `,` `.` nudge them, `x` deletes them and `esc` lets go.

`⌃C` copies the picked keys, or the key you clicked or reached with `j` `k`, and `⌃V` pastes
them at the playhead, as far apart as they were. They go on the same property, or, where that's
gone (as in another document), on that property of the selected layers. A key already at a pasted key's frame gives
way to it. Keys that would land past the end are left out, except the last, which goes at the
end. `⌃X` cuts them. With a track's name clicked, or the stage focused, `⌃C` copies the layer.

![Keys on two unfolded layers picked with a box: they turn gold and move, ease and delete together; the status line says how](https://terminal.lottiefiles.com/docs/assets/picked-keys.png)

## Key notation

The keys are written as macOS shows them; on Windows and Linux Creator Terminal shows them as those
do: `⌃` is Ctrl, `⌥` Alt, `⇧` Shift, `⌘` Ctrl too (but `⌘Y`, the skeleton: `y` there), `⏎`
Enter, `⌫` Backspace. A key held with `⌃`, `⌥` or `⌘` that isn't listed does nothing (`⌃W`
isn't `w`). Where `⌥←` `⌥→` arrive as `⌥B` `⌥F` (macOS Terminal.app), those nudge keys too.
`⇧R` means hold Shift and press R. A plain lowercase `r` needs no Shift.
Uppercase letter tokens such as `A`, `H`, `L` and `U` mean `⇧A`, `⇧H`, `⇧L` and `⇧U`.

## Editor keys

| key | does |
|---|---|
| `q` / `⌃Q` | quit (with edits not saved, a box asks first: `enter` or `s` saves, `d` doesn't, `esc` or `c` cancels) |
| `?` | the keys sheet, the essentials first (`/` filters it: type a few letters of what you're after, `esc` shows every key again) |
| `⌃C` `⌃X` `⌃V` | copy · cut · paste the selected layers, or the score's keys: the picked ones, or the selected one while the score has the keys (`⌃C` with nothing selected says what quits) |
| `⌃A` | select every layer (`esc` lets go) |
| `@` | in any message box: open the grouped tag menu · words filter · `↑` `↓` choose · `enter` tags · `esc` closes it |
| `F6` | in Agents: flip the last tag between start from and learn from (or click its `⇄`) · `⌫` with the box empty removes the last chip |
| `/` `⌃K` | ask the copilot (`esc` back to the stage · `⌃K` again puts its panel away · `⌃C` stops it) |
| `c` | note mode (✎ annotate in the copilot's message box): click the stage to pin a note for the copilot, drag for a box (`esc` leaves) |
| `z` | zen: the stage and the copilot alone, the time a ribbon under the picture (`z` or `esc` `esc` back; `⌃K` from the message box) |
| `⌃T` | the state machine mode: make it interactive, its states as a graph |
| `⌃P` | try it: the stage is the player, as a page runs it (`r` restarts, `esc` back to editing) |
| `:` / `⌘P` | the command palette: every command by its name or its key, a layer, a frame or a time to go to, a file to open, a value to set (see [The command palette](https://terminal.lottiefiles.com/docs/home-and-screen.md#the-command-palette)) |
| `F10` | the menus along the window's top row, from File (`←` `→` from menu to menu, `↑` `↓` `enter` pick, `esc` closes; see [Menus](https://terminal.lottiefiles.com/docs/home-and-screen.md#menus)). Some terminals keep `F10` for themselves (GNOME Terminal, xfce4-terminal; a Mac's volume key without fn): **Menus** in the palette opens them there |
| `space` | play / pause (loops the whole animation, or the loop when one is set) |
| `` ` `` / `⌘\` | preview: the animation alone, full screen, as the file plays (drag across it to scrub, `esc` back to editing) |
| `o` | loop the selected move (with a little time either side) · again to stop |
| `j` `k` | previous / next key on the row |
| `[` `]` | move the selected layers to start / end at the playhead, their keys with them (as in Creator) |
| `h` `l` / `←` `→` | previous / next frame (`H` `L`: 10 frames) |
| `↑` `↓` | previous / next row |
| `,` `.` | nudge the selected keys 1 frame (`<` `>`: 10 frames) |
| `i` | add a key at the playhead on the selected track, holding its value there |
| `x` / `delete` | delete the selected keys (a track left with one key stops animating) |
| `1`–`9` | ease preset on the selected move (linear, ease, in, out, in-out, expo-out, back-out, anticipate, snap) |
| `a` | copy this ease to every move of the track |
| `tab` | typing in the rail: keep it and type the next field (`⇧tab` the one before; a `tab` straight after `enter` goes on from that field too) · in the colour picker: from its hex to its opacity · on the score, edit the ease handles with the arrow keys (`⇧` for fine steps; `tab` again for the other handle) · with no move picked, the stage has the keys: arrows nudge the selected layer, `tab` the next one, `enter` goes in, `esc` back to the score. The side with the keys draws what's selected in full, the other in grey: the picked keys on the score, or the selected layer's box and its rows (the copilot's box, text being typed and paths being edited show it on themselves) |
| `esc` | close a character’s role menu, then cancel its check · finish a pose after closing an active tool or text box · leave the handles · close the graph editor · close the ease box · let go of picked keys · let go of the layer · stop the loop |
| `enter` while CHECKING | rig the checked character in one undo step |
| `⌥`-drag a character's body handle | move the whole character, including its planted feet; a marquee of all its artwork moves it all too |
| drag a rigged character part | pose it: swing an arm or leg, bend a hand or foot, tilt the head, or move the body with feet planted |
| `⌃`-drag or arrows on a rigged character part | move its drawing rather than pose it (`⇧` arrows: 10 px) |
| `⌫` | in the colour picker on a gradient: take the picked stop off |
| `enter` | fold / unfold a layer; on a folded layer, fold the precomp around it |
| `u` / `U` `⌃Y` | undo / redo (`⌃Z` undoes too; `⌃⇧Z` redoes where the terminal tells it from `⌃Z`) |
| `w` / `⌘S` `⌃S` | sync now (Creator) or save locally (file, including a LottieFiles working copy; the original is kept as `.json.bak` once; a new one asks its name first) |
| `⌃N` | a new document: a blank canvas, in a tab of its own |
| `{` `}` | the document open before / after this one (the tabs over the stage) |
| `⌃W` | close the document in front (it asks first over edits not saved); the last one closed goes home |
| `⌃G` · `⌃⇧G` | group the selected layers (a precomp turning about their middle) · ungroup |
| `⌥⇧U` `⌥⇧X` `⌥⇧I` `⌥⇧E` | combine the selected layers: union · subtract · intersect · exclude (on a boolean: change what it does; `⌃⇧G` puts its shapes back) |
| `⌥⇧M` | the shape builder: click or drag across the regions the selected shapes make to merge them, `⌥` to take them away |
| `⌥⇧L` · `⌥⇧O` | flatten the selection into one layer of paths · outline its strokes (and text) |
| `⌥L` · `⌥I` | lock the selected layers (the stage can't pick or move them; on a locked layer's row in the score: unlock it) · solo them, only they show on the stage while you edit (nothing selected: every layer shows) |
| `⌥G` | the gallery: templates and films made from a repo's data (see [Templates and styles](https://terminal.lottiefiles.com/docs/templates-and-styles.md)) · again: back |
| Palette: **Send back to the agents** | add the open studio document as its take's next version (also its **send back as v…** button) |
| `⌃O` | the agent view: ideas built by agents on the Engine in the cloud (see [Agents](https://terminal.lottiefiles.com/docs/agents.md)) |
| `⌃T` | on a new idea's page: choose an animation or a film |
| `←` `→` · `space` · `⏎` | film plan's voice picker: move · hear a sample · choose the voice |
| `a` · `↑` `↓` · `esc` | voice picker: all voices · move through samples · back to the three |
| type · `backspace` | voice catalogue: search · remove a search letter |
| `tab` | film plan: picker → approval bar → message box → picker |
| `⏎` · `c` | film plan's approval bar: Voice it and build · change the script |
| `⇥` · `⇧⇥` | in an animation: move between the takes and the box (or its open question) |
| `↑` `↓` · `1–N` · `⏎` · `esc` | in a question: move · choose a numbered option · choose · keep the agent’s pick and close; **Type something else…** returns the box with its draft |
| `←` `→` · `space` · `h` `l` · `⏎` | on the takes: pick · play or pause · step frames · open the take’s page |
| `↑` `↓` · `c` · `v` | on a take’s versions: choose · compare · mark a version to compare with |
| `n` · `⌫` | on the takes: note here; with the box empty: remove its aim |
| `e` | on the takes: ship the picked version through Export; `esc` returns |
| `↑` `↓` · `⏎` | on Ideas: pick and open an idea; `⌃N` starts a new one |
| `esc` | on a take’s page: all takes |
| Page Up / Page Down | scroll the conversation; in compare the player stays put |
| `⌃G` | in an animation thread: conversation or compare; `esc` leaves compare |
| `y` · `esc` | while signing in from Agents without a browser: copy the sign-in link · cancel sign-in |
| `⌃L` · `⌘⇧S` | your LottieFiles workspaces · upload the selected export to one (see [LottieFiles](https://terminal.lottiefiles.com/docs/lottiefiles.md)) |
| `F5` | reload |
| `⇧R` `⇧O` / `v` | draw a rectangle · an ellipse / back to selecting |
| `⇧V` | the selected stroke's width varies along it (tapered ends; Width, Ends, Taper, Wave, Phase, Draw in the rail) |
| `⇧B` | motion blur on the selected layers (the shutter: in the rail, with nothing selected) |
| drag the rail's Parent | onto a layer's row in the score: the selected layer follows it, staying where it is · onto empty score: no parent · a click: the layers it can follow |
| `⌃M` | draw as mask: the rectangle, ellipse and pens draw masks on the selected layer, not layers (again: layers). Without the kitty keyboard protocol ⌃M arrives as enter: the rail's *draw as mask* or the palette's *Draw as mask* then (the keys sheet says so) |
| `#` | the selected track becomes a token (an app sets it as it plays), its name typed |
| `⇧X` | draw a chart (a sample to type its data into; or drop a table on Creator Terminal) |
| `⇧Z` | a material: drag a rectangle wearing Mesh, or click for a backdrop under everything |
| `⇧M` | sound off and on (drop an mp3 or wav on the terminal to add one) |
| drop a file | a Lottie, an SVG or an image onto the canvas, a sound onto the score, from the playhead; finish a character check first |
| `⌃V` | paste what another app copied (Figma, Creator, After Effects, a picture, files), read off the clipboard |
| `delete` `⌫` | after clicking a layer on the stage: delete it |
| `g` | show or hide the document’s preview background; export background choices are separate |
| `⇧K` | the interface's colours: the palette's themes, each shown as you move (`enter` chooses it, `m` follows the terminal or not; see [Interface themes](https://terminal.lottiefiles.com/docs/home-and-screen.md#interface-themes)) |
| `F2` · `⌘,` | Settings: the app's preferences and your connections (`⌘,` in the app's own window; see [Settings](https://terminal.lottiefiles.com/docs/home-and-screen.md#settings)) |
| `⌃F` | the fonts, for the selected text: each tried on the stage as you move, `enter` keeps it, `esc` puts back what was (see [Fonts](https://terminal.lottiefiles.com/docs/layers.md#fonts)) |
| `-` `=` (or `+`) `\` | zoom time out / in / fit the whole score |
| `0` / `home` · `$` / `end` | go to the first / last frame |
| `⌘E` / `⌃E` | export to the last file again; before the first export, open Export |
| `m` · `y` / `⌘Y` | motion paths of every layer · skeleton |
| `'` · `;` | grid · snapping |
| `⇧0` `⇧1` `⇧2` | stage at 100% · fit · fit the selection |
| `←` `↑` `→` `↓` | after clicking a layer on the stage: nudge it 1 px (`⇧`: 10) |

## Drawing and arranging

| Key | Action |
|---|---|
| `⇧D` `⇧S` | Draw a polygon · star |
| `⇧Q` `⇧I` `⇧C` `⇧W` | Draw an arc · ring · capsule · arrow |
| `⇧E` `⇧G` `⇧F` | Draw a squircle · cogwheel · supershape |
| `⇧T` | Text: click for a line, drag for a wrapping box; `esc` finishes typing |
| `⇧P` · `⇧P⇧P` | Pen · curve pen |
| `⇧N` · `⇧N⇧N` | Pencil · brush |
| `⇧Y` | Lay the selected layers out in a row or column |
| `⌥A` `⌥H` `⌥D` | Align left · centre · right |
| `⌥W` `⌥V` `⌥S` | Align top · middle · bottom |
| `⌥⇧H` `⌥⇧V` | Distribute three or more layers horizontally · vertically |
| `⌥PgUp` `⌥PgDn` | Bring forward · send backward |
| `⌥home` `⌥end` | Bring to front · send to back |
| `⌃]` | Bring forward |
| `⌘]` `⌘[` · `⌥⌘]` `⌥⌘[` | Forward · backward; with `⌥`, to front · back |

## After Effects shortcuts

After Effects' shortcuts work too:

| key | does |
|---|---|
| `F9` · `⇧F9` · `⌃⇧F9` (`⌘⇧F9`) | Easy Ease · Easy Ease In · Easy Ease Out on the selected keys |
| `p` `s` `r` `t` `A` `f` | key the selected layer's Position · Scale · Rotation · Opacity · Anchor · Fill at the playhead and show its track. A value that doesn't animate yet starts to (the stopwatch); one with a key there keeps it. Then move the playhead and change the value: it keys itself |
| `⌥⇧P` `⌥⇧S` `⌥⇧R` `⌥⇧T` `⌥⇧A` `⌥⇧F` | add or take away that property's key at the playhead |
| `⌘⌥Home` (`⌃⌥Home`) | move the anchor to the middle of the layer, which stays put |
| `b` `n` | the loop (work area) starts / ends at the playhead |
| `⌃⌥H` (`⌘⌥H`) | toggle hold keys |
| `PgUp` `PgDn` · `⌃←` `⌃→` (`⌘←` `⌘→`) | previous / next frame (`⇧`: 10 frames) |
| `⌥←` `⌥→` | nudge the selected keys 1 frame (`⇧`: 10) |
| `⌘⇧A` | deselect all |
| `⌃D` · `⌥⌃D` (`⌘D` · `⌥⌘D`) | duplicate: an independent copy · an instance sharing the group |
| `⌃⇧D` (`⌘⇧D`) | make an editable repeat |

## Keys in a panel

These take priority over editor shortcuts while the named panel or tool has the keys.

| Context | Keys and actions |
|---|---|
| Home | `↑` `↓` or `j` `k` move; `enter` opens; `→` expands examples, `←` folds them; `esc` enters the editor; `z` starts Zen when AI is on |
| Keys sheet | `/` filters; `⌫` removes a letter, `⌃U` clears the filter; `esc` clears filtering, then closes; `↑` `↓` or `j` `k` scroll; `PgUp` `PgDn` or `space` page; `home` `end` jump |
| Menus | `F10` opens File; `←` `→` change menus; `↑` `↓` choose; `enter` runs; `esc` closes. On **Onion skin ›**, `→` opens its menu; `←` on its first row or `esc` returns; `←` `→` change values, digits set them |
| Palette | `↑` `↓`, `⌃N` `⌃P` or `⌃J` `⌃K` choose; `enter` runs; `⌃U` clears, `⌃W` removes a word, `⌃V` (or your terminal's paste) types the clipboard; `esc` backs out or closes; `tab` completes a file path |
| Themes | `↑` `↓` preview; `←` `→` dark/light groups; `m` cycles System/Dark/Light; `enter` keeps; `esc` restores |
| Settings | `↑` `↓` rows; `←` `→` changes; `enter` activates or commits; `[` `]` sections; `tab` App/Accounts; `y` copies; `esc` back |
| Preview | `space` plays/pauses; `←` `→` steps; `g` background; `esc` returns. In `creator-tui play`, `esc` or `q` quits |
| Components shelf | Arrows or `h` `j` `k` `l` pick a tile; `enter` puts it on the stage; `a` adds it and keeps looking; `[` `]` choose its look; `/` searches; `g` light or dark behind the pictures; `r` reads them again; `s` opens them as a sheet; `esc` clears the search, then goes back (see [Capturing your app](https://terminal.lottiefiles.com/docs/capture.md)) |
| CDN link window | Opened by ⌘P **CDN link…**, Export's **CDN link…** or `e` on a file in ⌃L. `↵` turns the link on (or uploads first); `y` copies it, `o` copies or turns on Optimized .lottie; `s` and `t` pick the state machine and theme (a click on their rows too); `←` `→` or `tab` pick the embed code, `c` copies it, `↑` `↓` scroll; `v` serves the newest version, `u` uploads your edits and serves them; `x` twice turns links off; `U` upgrades, `w` opens LottieFiles; `esc` closes (see [LottieFiles](https://terminal.lottiefiles.com/docs/lottiefiles.md#cdn-links)) |
| Gallery | `←` `→` or `⌃N` `⌃P` chooses with an empty field; `enter` opens; `esc` first leaves a typed field, then closes; `⌥G` returns |
| Stage | Arrows nudge, `⇧` makes steps ten pixels; `tab` / `⇧tab` picks next/previous; `enter` enters a layer; `⇧enter` or `⌥enter` backs out |
| Ease handles | `tab` / `⇧tab` changes handle; arrows or `h` `j` `k` `l` shape it, `⇧` makes fine steps; `enter` or `esc` finishes |
| Pen | `enter` or `esc` finishes; `⌫` or `delete` takes back a point |
| Path editing | Arrows nudge points (`⇧`: ten); `⌃A` selects all points; `⌫` or `delete` removes and heals; `⇧⌫` or `⇧delete` breaks; `b` toggles the paint bucket; `⇧P` draws on; `⇧N` selects the pencil; `enter` or `esc` finishes |
| Copilot composer | `enter` sends; `⇧enter` or `⌥enter` adds a line; `⌃C` stops work; `esc` returns to the stage; `⌃K` puts the panel away |

The [copilot](https://terminal.lottiefiles.com/docs/copilot.md), [agents](https://terminal.lottiefiles.com/docs/agents.md), [states](https://terminal.lottiefiles.com/docs/states.md) and
[LottieFiles](https://terminal.lottiefiles.com/docs/lottiefiles.md) references describe controls within those screens.

The gallery also accepts `↑` `↓` or `h` `j` `k` `l` between tiles after leaving its
source field. `tab` or `/` returns to that field. With tile navigation active, `1`–`4`
choose 9:16, 1:1, 4:5 and 16:9. `q` leaves the gallery.

`⌃R` also redoes. `⌘⇧P` also opens the palette where the terminal passes it through.
While AI is off, its shortcuts are absent and `z` shows the stage alone.

## Terminal shortcuts

⌘ keys reach Creator Terminal where the terminal passes them on (see [Terminals](https://terminal.lottiefiles.com/docs/terminals.md#what-each-terminal-gets)). Ghostty keeps
⌘A (select terminal text) and ⌘←↑→↓ for itself; use **⌃A** to select layers. It also keeps
⌘Z and ⌘⇧Z (reopening closed tabs); to give these undo keys to Creator Terminal, add to
`~/.config/ghostty/config`:

```
keybind = super+z=unbind
keybind = super+shift+z=unbind
```
