# Your First Animation
Creating your first animation in Lottie Creator is easier than you might expect. In this tutorial, we will walk through building a small bouncing ball animation from scratch using the core tools of the editor. Along the way, you will get familiar with shapes, keyframes, the timeline and preview controls.

By the end, you will know how to:

<List type="bullet">
  <ListItem>Create shapes on the canvas</ListItem>
  <ListItem>Animate properties with keyframes</ListItem>
  <ListItem>Use the timeline to structure motion</ListItem>
  <ListItem>Preview your animation</ListItem>
  <ListItem>Export your finished work</ListItem>
</List>

Let us get started.

## 1. Create a New Animation

<Image src="https://assets.docs.lottiefiles.com/static/93f978c665-640.webp" alt="Create a New Animation" zoom variant="default" srcSet="https://assets.docs.lottiefiles.com/static/93f978c665-640.webp 640w, https://assets.docs.lottiefiles.com/static/93f978c665-1024.webp 1024w, https://assets.docs.lottiefiles.com/static/93f978c665-1920.webp 1920w" width="3840" height="2160" loading="lazy" data-blur="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAn0lEQVR4nGMwtHH6r2Vi9V/HzOa/noX9f10z2//aJlb/9W2c/7sFx/5jkFBU+c/AwPA/NSPr/+UbN//nFRWD+ZLKGv+d/CL+M0ipqIMFurt7/oPAjBkzwXwpZTWIAkkl1f8cPHz/reyd/heUVf63d3X/z8kr8F9cQfm/k2/4fwYJJZX/IEX8UrL/OYRE//NLyvwXU1T5L66o8t/RN+wfAHzxQ+wyDfEcAAAAAElFTkSuQmCC" />

Open [https://creator.lottiefiles.com/](https://creator.lottiefiles.com/) in your browser.

A blank project loads automatically. If you are continuing from an existing file, you can also switch files from the **Drafts** breadcrumb at the top.

The default scene includes:

<List type="bullet">
  <ListItem>A single Main Scene</ListItem>
  <ListItem>A default canvas size (for example 512 by 512)</ListItem>
  <ListItem>A starting timeline with a few seconds of duration</ListItem>
</List>

You can adjust canvas size, duration, frame rate and background in the **Scene** section of the right Properties Panel.

## 2. Add Your First Shape

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%202.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

We will start with the ball.

### Create the circle

1. Select the **Ellipse Tool** from the top toolbar\
   or press **Option + O** (Mac) / **Alt + O** (Windows)
2. Click and drag on the canvas to draw a circle
3. Hold **Shift** while dragging to keep the proportions perfectly round

**Tip**

You can always refine the circle size and position in the Properties Panel on the right.

## 3. Style the Shape

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%203.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

With the circle selected, look at the Properties Panel.

<List type="bullet">
  <ListItem>**Fill**: Choose a color from the color picker</ListItem>
  <ListItem>**Stroke**: Toggle stroke on or off</ListItem>
  <ListItem>**Size and position**: Adjust width, height, X and Y</ListItem>
  <ListItem>**Anchor point**: Set the pivot for rotation and scale</ListItem>
</List>

If you want a more interesting look, the Fill and Stroke section includes gradient options with draggable on canvas
handles.

## 4. Position the Ball

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%204.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Let us place the ball near the top of the scene.

Use either of these:

<List type="bullet">
  <ListItem>Drag the shape with the **Selection Tool** (V)</ListItem>
  <ListItem>Or type values in the Properties Panel</ListItem>
</List>

For example:

<List type="bullet">
  <ListItem>Position X: centered</ListItem>
  <ListItem>Position Y: near the top</ListItem>
</List>

You are now ready to animate.

## 5. Add Your First Keyframe

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%205.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Select the ball.

Move the playhead in the timeline to **frame 0**.

In the Properties Panel:

<List type="bullet">
  <ListItem>Next to **Position**, click the small keyframe toggle or press **P** to animate position</ListItem>
</List>

A keyframe now appears in the timeline, and the playhead is marked with a small diamond.

This tells Creator to remember the circle’s position at this exact moment.

## 6. Animate the Downward Motion

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%206.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Move the playhead to around **frame 60** (2 seconds).

Change the **Position Y** value so the ball sits near the bottom of the canvas.

A second keyframe is created automatically.

## 7. Complete the Bounce

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%207.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Move the playhead to **frame 120**.

Set Position Y back to its original value near the top.

Creator places a third keyframe, completing the up and down cycle.

Your animation now has three important moments:

<List type="bullet">
  <ListItem>Frame 0: Ball at the top</ListItem>
  <ListItem>Frame 60: Ball at the bottom</ListItem>
  <ListItem>Frame 120: Back to the top</ListItem>
</List>

## 8. Preview the Animation

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%208.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Press **Space** to play the animation or use the playback bar below the canvas:

<List type="bullet">
  <ListItem>Play or pause</ListItem>
  <ListItem>Move frame by frame</ListItem>
  <ListItem>Jump to start or end</ListItem>
  <ListItem>Toggle looping</ListItem>
</List>

If everything is working, your ball should bounce smoothly.

## 9. Add Easing for Natural Motion

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%209.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Linear motion looks stiff. To make the bounce feel more natural, adjust the easing on each keyframe.

### How to Adjust Easing

1. Select any keyframe in the timeline.
2. In the **Right Properties Panel**, you will see the **Easing** section.
3. Each keyframe has two easing controls:
   <List type="bullet">
     <ListItem>**In** for how the animation enters the keyframe</ListItem>
     <ListItem>**Out** for how it exits the keyframe</ListItem>
   </List>
4. Choose **Linear** or **Smooth**, or click **Edit Easing** for custom curves.

## Recommended Easing for a Bounce

A natural bounce accelerates downward, hits with impact, then slows as it rises. Apply easing to the three keyframes as follows.

### Keyframe 1 — Ball at the Top (start)

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2010.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

The ball should start slow and accelerate downward.

<List type="bullet">
  <ListItem>**Out:** Smooth</ListItem>
</List>

### Keyframe 2 — Ball at the Bottom (impact)

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2011.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

The ball speeds into the ground, then slows as it rebounds.

<List type="bullet">
  <ListItem>**In:** Smooth</ListItem>
  <ListItem>**Out:** Smooth</ListItem>
</List>

This creates the characteristic squash and rebound feeling.

### Keyframe 3 — Ball at the Top (end)

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2012.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

The ball slows as it reaches the top of its arc.

<List type="bullet">
  <ListItem>**In:** Smooth</ListItem>
</List>

If your animation loops, this makes the transition smooth and continuous.

## 10. Add Squash and Stretch (Optional)

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2013.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

To give your animation more character, you can add **squash and stretch** at the moment of impact.

Before adjusting the squash, you must set an initial **Scale** keyframe at frame 0:

1. Move the playhead to **0s**
2. Activate animation for **Scale** (press **S**)
3. Ensure both **Scale X** and **Scale Y** are at **100 percent**

This creates your baseline scale keyframe.

Now move the playhead to the frame where the ball hits the ground:

1. Set **Scale Y** to around **80 percent** (squash)
2. Set **Scale X** to around **120 percent** (stretch)

When the ball rises again, return Scale X and Y to **100 percent**.

This subtle deformation adds personality and makes the bounce feel more dynamic and believable.

## 11. Adjust Timing (Optional)

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2014.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

You can refine timing in several ways:

<List type="bullet">
  <ListItem>Drag keyframes closer to speed up</ListItem>
  <ListItem>Spread keyframes apart to slow down</ListItem>
  <ListItem>Adjust work area brackets to refine the portion you want to loop or export</ListItem>
  <ListItem>Change overall duration or FPS in the Scene panel on the right</ListItem>
</List>

Creator updates the timeline instantly as you make changes.

## 12. Save Your File

<video src="https://assets.docs.lottiefiles.com/videos/mp4/Animation%2015.mp4" controls muted playsInline style={{ width: "100%", borderRadius: "8px" }} />

Creator automatically saves your file as you work. Your file is stored in the current LottieFiles workspace and also appears in **Drafts**.

You may manually save at any time using the filename dropdown at the top or by pressing **Cmd/Ctrl + S**.

## 13. Export Your Animation

<Image src="https://assets.docs.lottiefiles.com/static/c259ff34ed-640.webp" alt="Export Your Animation" caption="Export Your Animation" zoom variant="default" srcSet="https://assets.docs.lottiefiles.com/static/c259ff34ed-640.webp 640w, https://assets.docs.lottiefiles.com/static/c259ff34ed-1024.webp 1024w, https://assets.docs.lottiefiles.com/static/c259ff34ed-1920.webp 1920w" width="3456" height="1846" loading="lazy" data-blur="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAZElEQVR4nD2NMQ7CUAzF/v0vxoQQKwMIiQ0BbZOXpB9Ro3boYMme3DwKZRE176wtBW+JZlFseGIWm3vMDJORmTRXod7R44mfr3j/4kqyimX50dbF6MFrNKaPMZjI6lxudw7HE3/pcnrsvGr/JwAAAABJRU5ErkJggg==" />

Click **Export** in the top right. Creator exports your Lottie animation directly to your LottieFiles Workspace.

From your Workspace, you can:

<List type="bullet">
  <ListItem>
    **Download** the file in your preferred format (Lottie JSON, dotLottie, GIF, MP4, WebM, MOV, TGS, Google Ads)
  </ListItem>

  <ListItem>
    **Embed** the animation in websites or apps using the LottieFiles player or generated code snippets
  </ListItem>

  <ListItem>**Manage** your files — organize into projects, share with teammates, or publish to the community</ListItem>
</List>

## Next Steps

You have created your first animation. Here are ideas to continue exploring Lottie Creator.

### Add more shapes

Create small animated sequences with rectangles, polygons, stars and custom paths.

### Explore animation techniques

<List type="bullet">
  <ListItem>Trim Path</ListItem>
  <ListItem>Masks and Mattes</ListItem>
  <ListItem>Parenting</ListItem>
  <ListItem>Nested scenes</ListItem>
  <ListItem>Motion presets</ListItem>
</List>

### Try interactive features

Switch to **State Machines** in the top bar to add events, loops and interactive logic.

### Use the ecosystem

Browse animations from the Lottie Library, try plugins or explore AI assisted tools like Motion Copilot.
