Blender 3D is a free software capable of creating amazing animations. Most animation in Blender uses what are known as keyframes. This introduction to keyframes in Blender will cover everything you need to start animating!

This page may contain affiliate links which pay me a commission if used to make a purchase. As an Amazon Associate, I earn from qualifying purchases.

What is a Keyframe? 

Before computers, animators had to manually draw each and every frame of an animation – making extremely small changes between each image.

With keyframes in Blender (and other animation software) we tell the program how or where we want “something” to be at one point in time.

Then, we move to another point in time in our animation and tell Blender how the “something” should be there. Those two points in time are known as “keyframes.” Blender will calculate the animation for every frame between the two keyframes. 

Why do I say “something?” That’s because animation keyframes can control a lot of things. They can control the location, shape and color of objects. Keyframes can control lighting conditions, fog, camera positioning and almost every other component of an animation. 

An arrow shows the direction of a cube's movement in the Blender 3D viewport.

Basic Keyframe Example

Here is the most basic example of keyframe animation. Let’s say we want the cube in the above image to move from the left side of the screen to the right. We need to decide at which frame in the animation, the cube will begin to move. Secondly, we need to identify the frame where the cube stops moving. 

In this example, we will have the cube begin moving on frame 50 of our animation and stop moving on frame 100. We need to first go to frame 50 in the timeline. Ensure the cube is at the desired starting location and enter a keyframe (I’ll show you how in the next section). 

Industrial 3D Models in the Blender viewport.
Industrial greeble assets in Blender 3D viewport.

Then we need to go to frame 100 in the animation, move the cube to its end location and enter another keyframe. 

We’ve just told Blender we want the cube to start in one location on frame 50 and end in another location on frame 100. Blender will calculate where the cube will be on every single frame (ie: frame 51, 52, etc.).

Without keyframes, we would have to move the cube 50 times and render it in each location as it travels. There is of course much more to cover on keyframe animation. 

The Timeline Editor

Before jumping into adding keyframes, let’s look at the timeline editor. In Blender’s default workspace, the timeline editor is at the bottom of the screen. 

An infographic shows the various controls in Blender's timeline editor including frame control and auto keying.

If you’ve ever used a video editing software, this will look familiar. The most important part is we understand how to move back and forth on the timeline and to recognize which frame we are currently on. 

The current frame will appear in the “Current Frame” box and will be visually indicated by the vertical line with a highlighted number above it. In the above example, the timeline is on frame #1. 

How to Add a Location Keyframe

Keyframes can be added to many things in Blender, but let’s stay with the simple example of moving a cube across the screen. Here’s how to add location keyframes to an object in Blender. 

  • Select the object we want to move. Ensure it is in the desired starting position and go to the frame in the timeline where we want the movement to begin. 
  • Use the shortcut “I” to insert a keyframe. This will open a long list of keyframe types to choose from. Because we are trying to animate a change in location, select “location” from the menu. 
  • Alternatively, we could right click and choose “insert keyframe” from the context menu. 
  • Move to the location on the timeline to where we want the movement of the object to end. 
  • Move the object to where we want it to be located at the end of the movement. With the object selected, add another keyframe using the shortcut “I.” Again choose location as the keyframe type. 
  • Play the animation and ensure the object moves as desired. 
The list of animation keyframe types form the insert keyframe menu in Blender.
List of keyframe types

Following these instructions will add two keyframes to the object. One is where the object starts moving and one is where it stops.

In the timeline, two diamonds will appear indicating where the keyframes have been placed. The diamonds are yellow when selected and white when they are not selected. 

In the Blender timeline editor, two keyframes are highlighted.

We could of course add additional keyframes to continue animating the movement and Blender will calculate the location for each frame between keyframes. 

Transform Values in Sidebar

When we add keyframes to the location, rotation or scale of an object, we are actually keyframing the values of these transform properties.

In the Sidebar under “View” we will see colors appear on the keyframed values.

We will discuss what these colors mean a little farther down.

The location transform values are highlighted yellow with keyframes assigned in the sidebar.

Reversing Direction

Let’s say we want the cube to stay in the final position for another 50 frames (until frame 150) and then go back to the left side of the screen by frame 200. We would need to go to frame 150 and without moving the cube, add another location keyframe.

The purpose of this keyframe is to tell Blender that no movement should occur between the last key frame and this one. When two adjacent keyframes display the same value, a line between them will appear in the timeline indicating there is no change.

Adjacent keyframes with no value change in the timeline have an orange line drawn between them.

Then we will go to frame 200, move the cube back to the left side and add a location keyframe. 

The addition of the keyframe at frame 150 is easily overlooked, but is important. Without it, the cube would move to the right and then immediately begin moving back to the left. 

Two 3d human models
Human Generator Add-On for Blender


The calculation of movement or other changes between two keyframes is called “Interpolation.” There are different methods for how animated characteristics can be interpolated (again, much more than just location can be animated.)

You may have noticed the cube started to move slowly, sped up and then slowed down as it came to a stop? This is because the interpolation type was set to “Bezier” which slows the change at the beginning and end of the movement. 

With one or more keyframes selected in the timeline (they are yellow when selected), press “T” while hovering in the timeline. This will open a menu box to set the keyframe interpolation method for the selected keyframes. 

The menu to choose interpolation methods for animation in Blender is displayed with bezier interpolation highlighted.
The Bezier interpolation is selected

On the left are three basic types of interpolation. The other two columns include additional effects that can be added to the interpolation but we’ll focus on the basics for now. 

Constant Interpolation

A constant interpolation will not change anything until the final keyframe has been reached. In the case of our cube, it would not move until frame 100 and then suddenly jump to its end position.

This is rarely the interpolation type we would want to use. 

Linear Interpolation

Linear interpolation is a smooth and constant transition. The cube would move at the same speed from the start keyframe to the end keyframe. There are many times when this would be used (including for looping animations) but the perfectly constant speed does not appear realistic for most movements. 

A beach scene with nature assets
Geo Scatter Add-on for Blender

Bezier Interpolation

Bezier interpolation uses a bezier curve (discussed more in the graph editor) to have the animation start off slowly. It will then gain speed but will again slow down as it approaches the final keyframe. 

This is a very common interpolation and is turned on by default. Few (if any) things in the real world start and stop without gaining and reducing speed. The bezier interpolation can be modified extensively in the graph editor to determine how much or how little of the effect is in the transition. 

Changing the Default Interpolation Method

Blender will set a default interpolation method for every keyframe added. The default interpolation can be changed in Blender’s User Preferences. Go to Edit – Preferences. Choose the tab labeled “Animation” and find the Default Interpolation setting under “F-Curves.” 

In Blender's user preferences, the default interpolation setting is displayed and set to linear in the animation tab.

Auto-Keying / Automatic Keyframes

The auto keying feature in the timeline looks like a record button. Activating this will automatically keyframe any changes to the scene. This can be a very quick way to add our keyframes, but…

The auto key toggle button is located at the top of the Timeline Editor in Blender.
The auto-key button in the timeline

We NEED to make sure we turn it off when we’re done auto-keying!

Otherwise, keyframes will be placed where we don’t want them and can really screw up our entire project.

Deleting and Clearing Keyframes

In Blender, we can remove individual keyframes or entire keyframe channels. To remove a keyframe in Blender, right click on the value with the keyframe to open a context menu. We see options to delete or clear keyframes.

Right clicking on a keyframed value in the Blender sidebar displays options to delete or clear keyframes for that value.

Deleting will remove the current keyframe. Clearing keyframes will remove all keyframes for that value.

Animating Other Transformations

As mentioned, change in an object’s location is far from the only thing we can animate with keyframes. Location, rotation and scale are the three “transforms” of an object. They each can be keyframed in the same way. 

A wall covered in ivy created by the Baga Ivy Add-On for Blender 3D.
Baga Ivy Blender Add-On

Animating Rotation

The rotation can be animated in the same way as an object’s location. When adding a keyframe, we choose “Rotation” as the keyframe type if we are only animating the rotation. Also, “Location and Rotation” is an option listed in which location and rotation keyframes can be added simultaneously. 

Animating Scale

Along with location and rotation, an object’s scale can be keyframed the same way. If all three transforms are being keyframed together, the option of “Location, Rotation and Scale” can be chosen. 

Animating Values in Blender

We can animate much more than just an object’s location, rotation and scale. Almost anything with a value that’s displayed in a slider can be assigned keyframes. By “slider” I mean the types of values shown in these images: 

Values which can be animated in the mix shader, the array modifer, the noise texture node and in the materials properties panel are highlighted.

As you see, almost anything we could want to animate, we can in Blender. 

To add a keyframe to any value, ensure you are on the frame where you wish to add the keyframe. Hover your cursor over the value and press “I.” The value slider will turn yellow to indicate a keyframe is active on the current frame. 

A mix shader node has a yellow factor value indicating a keyframe is assigned at the current frame.

You may see value sliders highlighted in other colors as well. 

A mix shader shows an orange factor value indicating it has a keyframe assigned at a different value.
A mix shader in Blender displays a green value indicating its keyframe status.

An orange slider indicates a keyframe is assigned on the current value, but that the value displayed is different than what the keyframe indicates it should be.

For example, if we had an existing keyframe on a cube’s location and we moved the cube, the current keyframe would not be updated by default. As soon as we change frames, the cube will revert to the location indicated by the keyframe. 

A green slider means there is a keyframe for that value, but not on the current frame of the animation. 

Animating Values Example – Light Strength

As an example of animating a value in Blender, let’s say we had the light in the following image and we wanted it to increase intensity between frames 30 and 90 of our animation.

We can do this by adding keyframes to the light’s power setting found in the Light Properties Panel. 

A light is displayed in the Blender 3D viewport with the power properties and the timeline editor visible.

We would go to frame #30 in the animation and set the light’s power to where we want it to begin in strength – let’s start with zero power. Place a zero in the value box. Hover over the box and press “I” on the keyboard. The box will turn yellow to indicate a keyframe exists on the current frame. 

Next we will go to frame #90 in the timeline. The value slider will turn green because there is a keyframe assigned to the value but not on the current frame.

We will change the light’s power value to 1000. Again, we hover over the value and press “I” on the keyboard to add a second keyframe. 

Now if we play the animation, the light will have a strength of zero until it reaches frame 30. Then it will begin to climb between frames 30 and 90. On frame 90, the light will reach a power of 1,000 and remain there for the rest of the animation. 

The Graph Editor and Dope Sheet

When learning animation in Blender, we will eventually encounter a need for the Graph Editor and Dope Sheet. Along with the Timeline Editor, these are the three main animation editors.

The three main animation editors in Blender are highlighted in the editor selection menu.
The Dope Sheet, Timeline and Graph Editor are the main animation editors in Blender

At first, they look similar to each other. However, each tool does something different than the others. 

Graph Editor

The graph editor displays all keyframes assigned in a Blender file with curved lines connecting them. These curves are known as “f-curves” and plot whatever value is being animated over time to a graph. 

The Blender graph editor displays a list of animation channels on the left and graphs them in the center area. On the right is the sidebar with controls for the f-curve and f-curve modifiers.
The Blender Graph Editor

Time is represented from left to right in the graph editor. Animation values are graphed vertically. 

We can control a lot about an animation using the graph editor. The keyframes can display handles which allow us to change the shape of the f-curve the same way we would change a bezier curve in the 3D viewport.

The change in direction and curvature affects how the animation is interpolated. We can also move keyframes left and right to adjust their timing. 

Animation Channels

On the left of the graph editor, we see all active animation “channels.” A channel is a single “something” that is animated. If we animate the location of an object, we actually create three animation channels – one for each axis (X, Y and Z).

The channels are displayed in hierarchical order and can be expanded. Depending on how many elements of a specific object or scene are animated, there may be several layers of channels.

Channels can be renamed, hidden and further edited individually. Unused channels can be deleted if not necessary. Channels will also appear in the Dope Sheet.

Normalize Graph Editor

Because values for different animations can vary drastically, the graph in the graph editor may be much too large or too small for us to work with. If we highlight the f-curve we want to focus on and press the “Normalize” button above the graph, Blender will resize the f-curve graph appropriately.

The normalize button in the Blender graph editor.

The Home button on the keyboard is the shortcut for normalizing the graph editor. 

Graph Editor Modifiers

When in the graph editor, we can hover our cursor and press “N” on the keyboard to open a sidebar. In the sidebar are options to add modifiers to our f-curve. Each modifier does something different to the f-curve. Modifiers can be added to an f-curve even when there is only one keyframe assigned to it. 

F-Curve Noise Modifier

The noise modifier adds procedural noise to the f-curve. This is great to get random effects such as when we want the strength of a light to flicker. The noise can be adjusted using the scale and strength settings in the modifier panel. 

A noise modifier is added to an f-curve in Blender's graph editor.
F-Curve Cycles Modifier

The cycles modifier causes the selected keyframes to repeat in a cyclical manner. Before I knew about this, I spent way too much time copying and pasting keyframes unnecessarily. 

A cycles modifier is added to an f-curve in the Blender graph editor.
F-Curve Limits Modifier

The limits modifier adds limits to values of the animation. These limits can be placed on the X (time) or Y (value) axes. There can be upper and lower limits for each.

The modifiers can be stacked just like modifiers for objects. For example, you could add a noise modifier but then add a limits modifier as shown in the image below. 

A noise modifier and limits modifier are applied to an f-curve in the Blender graph editor.

Looking for more info on the graph editor? Here’s what the official Blender manual has on it.

Dope Sheet

The Dope Sheet is another tool for viewing how an entire scene’s keyframes are arranged.

The Blender Dope Sheet Editor displays various animation channels.

Here we can work on aligning or offsetting keyframes and tweaking the timing of our animation. While the main Dope Sheet shows an overview or “bird’s eye” of the keyframes, specific types of keyframes can be viewed using the different Dope Sheet modes (drop down in the top left corner).

Here’s the Blender Manual’s overview of the Dope Sheet Editor.

Ryan King's Ultimate Procedural Material Pack
Ryan King Ultimate Procedural Materials Pack

Related Animation Topics

Blender’s animation tools don’t end with keyframes. More advanced topics include: 

The Non-Linear Animation (NLA) Editor converts a series of keyframes into Animation Actions and allows them to be moved, combined and manipulated similar to how video clips are handled in video editing software. 

Character rigging is the process of adding a skeleton-like armature (or “rig”) to characters. The rig is attached to the character using vertex groups. Individual bones in the armature will control different assigned body parts and can be animated. 

Shape Keys are tools to animate the deformation of meshes or curves. These are often used for muscles on characters and facial expressions. 

Final Thoughts

Whether you’re brand new to keyframe animation or have been animating in Blender for a while, I hope this post was helpful. Take a look around the site for more useful content.

I also have a YouTube Channel with video tutorials on a variety of Blender topics. Take care and Stay Creative!

Get Brandon’s Newsletter

By submitting, you agree to receive periodic e-mails from me. You can unsubscribe at any time.