back to top

How to Use Panning to Easily Capture Movement

A- A+

Subscribe Below to Download the Article Immediately

You can also select your interests for free access to our premium training:

Your privacy is safe. I will never share your information.
Related course: Photography for Beginners

The one thing photographs don’t capture easily is movement. This is where panning comes into play.
Panning is a term used in photographic and filming circles, and it basically refers to moving the camera horizontally.
It is commonly used in panorama photography, but it has now extended to time-lapses, hyper-lapses and long exposures.
This article will take you through everything you need to know about using panning in photography.

If you want to learn more about basic photography techniques, check out our ‘Photography for Beginners’ course here.
A panned shot of a speedboat on the blue ocean
[ExpertPhotography is supported by readers. Product links on ExpertPhotography are referral links. If you use one of these and buy something we make a little bit of money. Need more info? See how it all works here.]

What Is Panning Photography?

It isn’t always easy to show movement in an image. The panning method is one of the easiest ways to capture a sense of movement. However, it can be tricky and time-consuming.
The idea is that you capture a moving object while moving your camera along with it, preferably at the same speed.
Panning is basically moving your camera at the same speed as a subject while keeping the subject as the main focus.
For example, a cyclist riding along the street can be captured by panning the camera and capturing the image mid-flow.
If you manage to match the speed, then the result should be a static, in-focus image of the cyclist.
A panned shot of a female jogger

How Do I Take a Panning Action Photo?

What Are Good Shutter Speeds for Panning?

To create the panning effect, you need to use a slow shutter speed, such as 1/30th. I usually find that anywhere between 1/15 and 1/200 of a second can work, it all depends on what you’re capturing.
Be careful not to go too slow though, or you’ll ruin the effect altogether. If you use a high shutter speed, such as 1/4000th, both the subject and background will be completely static.

How to Set Focus for Panning

There are two ways you can focus for panning photography. One is using “AI Servo” (“AF-C” for Nikon) which keeps refocusing on a subject if it moves out of the original focal point.
This is great, as your camera will focus for you. However, this can be tricky to get right, as the fast moving subject needs to stay in the focus area.
The other way to use a manual focus. Find something (e.g. a car) to pre-set the focus on where your subjects are going to be.
Using a medium to narrow aperture will work well, as the backgrounds will be too blurry to be in focus.
Colourful and blurry shot of a bus on a street at night

How to Use Framing for a Panning Shot

The idea is that you set up your image by composing and framing as if there was a car/bike/person in the scene. You then wait to see something moving towards your focal area.
As the subject gets closer, you allow it to enter your frame as you move with it. You need to match its speed, and then photograph the subject in the flow of your moving camera.
Another panning photography tip, which I found very useful was to use a strap. You want a fluid movement in your pan, so I use a camera strap around my neck, to stop the camera moving up and down too much. Keep the strap taught, and you will find the side-to-side movement less bumpy.
Hold your camera correctly, and track the movement of your subject. You need a smooth, fluid motion for this photo to work.
This really isn’t as hard as it sounds. A lot of it comes down to your choice in shutter speed.
Tip: When you take the panning shot, keep your camera moving. An abrupt stop could greatly affect your image.
A hand holding a smartphone to take a photo of a busy street scene

What Is the Best Exposure Setting for Panning?

Like I said, the success of your photo is going to come down to the speed of your exposure.
When your subject is nice and close to you, it will take them much further across the frame than if they were 100 feet away. This means that you need a faster shutter speed for subjects that are closer to you.
Generally speaking, that’s it.
You see, objects that are further away are often those very large or very fast subjects. Think of planes, trains, and automobiles.
This photo below was taken at 1/160 of a second. I was also in a moving vehicle, moving at roughly the same pace.
A blurry shot of a F-1 race car

Flash or No Flash?

There’s no reason why you can’t add a flash to your photo.
You set off the flash at the beginning of the exposure to freeze the motion, and then you carry on as you would with any other panning out photo.
Using a flash can really help if you’ve only just started learning this technique.
If you put your camera into manual mode, go all the way past 30 seconds, you will reach bulb mode. This means that for as long as you hold down the shutter, the exposure will continue.
You simply set the exposure for the flash, and you can vary the length of shutter speed, depending on how fast your moving subject is.

How I Captured My Image

From the get-go, I knew I wanted to use a slow shutter speed. I set my camera to manual mode, WB to daylight, focus mode to One Shot, ISO 100 and shutter speed to 1/15th.
This gave me an aperture of f/8, which I thought was adequate. I focused on a car that was in the place where I aimed to photograph.
If you are using auto-focus, or haven’t yet made the switch to back-button focusing, make sure your shutter release doesn’t re-focus.

Shot 1

This was my first camera panning attempt.

A blurry movement of traffic
1/15 – f/8 – ISO 100

As you can see, I am far from the intended capture. I believed the problem to be the shutter speed.
I increased my shutter speed to 1/30th, which meant my aperture had to drop to f/5.6, to keep the ISO at 100.

Shot 2

This was my second camera panning image.

A blurry movement of traffic
1/30 – f/5.6 – ISO 100

Still not perfect, but the image is less affected by the camera moving up and down. I thought that the subject I was trying to capture was too close to the camera. So I stepped away from the edge of the sidewalk about two/three steps (2 metres).
The exposure was a little dark, so I compensated for that by widening the f/stop from f/5.6 to f/4.5.

Shot 3

This was my third camera panning image.

A blurry shot of a cyclist on the street
1/40 – f/4.5 – ISO 100

As you can see, I added more exposure by widening the f/stop. I also used slow shutter speeds from 1/30th to 1/40th to minimise the blur.
Here, I feel like I nailed the shot. The background could have been better, but my idea was to capture the bike first.

Shot 4

Below is my fourth attempt.

A cyclist on the street with motion blur in the background
1/40 – f/4.5 – ISO 100

The cyclist isn’t entirely in focus. He stands out because the background is so blurry.
Bikes are easier to photograph as they are slower than cars. This means it isn’t as difficult to match their speed. Bikers are also more interesting subjects than drivers.

Shot 5

I wanted to challenge myself with a car, so I started panning cars.

A blurry shot of a white van driving on the street
1/40 – f/5.6 – ISO 100

I found that matching the speed of cars was tricky, as they can gradually go faster or slower. They often moved too fast to give me enough time to match the speed and capture.

Shot 6

Here, I realised I was capturing the cars too slowly, and instead of a side view, I wanted more of an angled composition.
TIP: Use the Live View mode on your camera so you can see the situation in front of you.

A blurry shot of a grey car driving on the street
1/40 – f/5.6 – ISO 100

I prefer the angled view as it gives a stronger sense of movement.

Shot 7

This time, I wanted to see if I could frame the image better. I like a challenge. I saw two trees that could serve as a natural frame.
The speed and the location of the car were perfect, only the natural frame is downplayed by the movement and blurriness.

A blurry shot of a black car driving on the street
1/40 – f/5.6 – ISO 100

Shot 8

The last panning challenge was photographing the tram. It is so clear you can see the driver and the people inside. The last few images had the same camera settings.
I found these worked best and continued to use them as the light situation was the same.

A shot of a yellow tram moving on the street
1/40 – f/5.6 – ISO 100

Conclusion

After a little practice, I found it easy to capture images via panning. You can create some very powerful motion photography with this technique, but it might take a while to get there.
What helped me the most was standing farther back from the subject. Standing closer means the cars or bikes are moving faster relative to you, making it harder to track. Think about your background first, and wait there to capture the moving subjects.
A wider camera lens will work better for panning than any lens above standard (50mm). I used my 24-70mm zoom, keeping it wide at 24mm for every shot.

Another variation to this technique is to photograph from a moving object. Being inside a car or any form of public transport can also create an interesting reverse technique. Give it a go.

Photo of a bridge at night shot from a moving car

Save this article to your Pinterest profile to access it later!
2 comments
  1. What a great post! I absolutely love being able to read through your thoughts as you go about the shoot. As a photographer, I do the same thing, so it’s definitely helpful to hear another’s unique thoughts on situations. Make more posts like this!

Leave a Reply

Your email address will not be published. Required fields are marked *

[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]
[type='text']
[type='text']
[type='password']
[type='password']
[activeKey]
[activeKey]
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
['rmockx.RealPlayer G2 Control', 'rmocx.RealPlayer G2 Control.1', 'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)', 'RealVideo.RealVideo(tm) ActiveX Control (32-bit)', 'RealPlayer']
[index]
[index]
[i]
[i]