back to top

Prime vs Zoom Lenses

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.

Prime lenses have a fixed focal length, meaning that you can’t zoom them at all. This may sound odd but they do have distinct advantages.
Zoom lenses carry the obvious advantage of allowing you to change how the photo is cropped. This comes at a price though: quality and aperture.
This post should clear up any misconceptions you have about either and help you to find the right lens for you.
So, which is best… prime vs zoom.
A photographer loking at his DSLR camera
[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.]

Prime Lenses

As I stated above, prime lenses have a constant focal length – both a good and a bad thing.
It’s bad because it means that you may not be able to get the photo framed exactly as you’d like it. It’s good because it makes you experiment more. It forces you to think of a different way around taking a photo, one you may have missed otherwise.
There are two distinct reasons why people buy prime lenses though: quality and aperture.

Quality

The quality of a prime lens is often vastly superior to that of a zoom as it doesn’t have as many moving parts.

The glass inside a prime lens doesn’t have to provide acceptable quality in different settings. It needs to provide exceptional quality at one focal length setting, resulting in much sharper images.

This used to make a much bigger difference when zoom lenses first came out because the technology wasn’t as good.

Now, however, you can get zoom lenses that are just as good as some primes. They just come at a price.

I paid £1000 for my 24-70mm f/2.8 and £1040 for my 35mm f/1.4. The quality of the zoom lens is very good but still isn’t quite as good as the f/1.4 prime.

Even when you’re investing a lot of money into a zoom lens, you’re still making a compromise.

You can see how sharp the image is below – it’s hard to believe that this was shot at f/1.4, the widest aperture I have.
A female model posing outdoors in low light

Aperture

Prime lenses have a lot less moving parts so they’re not constricted by the zooming action. They can focus on the job in hand: aperture.

This allows them to open up to much wider apertures than zoom lenses.

In fact, the prime lens that I mentioned above allows four times as much light into the lens than the zoom. An aperture of f/1.4 is four times larger than f/2.8. Keep in mind that f/2.8 is very good for a zoom lens.

The main advantage of having a wide aperture is that you can take photos in low light. The wider aperture allows more light into the lens.

This makes it ideal for shooting indoors: in a bar, a club, or in a dimly lit room – somewhere where you don’t want to push your ISO.

We also have the advantage of being able to produce a shallow depth of field. This can have a whole range of creative uses. Portrait photographers usually much prefer primes because of this. A soft, creamy background is often exactly what people like to see in portraits.

Again, the photo below was shot at f/1.4.
A female model posing outdoors in low light

Price

Another big advantage of prime lenses is that they can be picked up very cheaply. But they do tend to get expensive very quickly, as you probably saw above.

A 50mm f/1.8 ranges from around $110-$220. For that price, you’ll see a dramatic increase in quality over your kit lens. You’ll also gain the ability to play around with depth of field a lot more.

Special Primes

There are some specific lens constructions that simply can’t be adapted to a zoom lens. One of them is tilt-shift lenses.

A tilt-shift allows you to manipulate your perspective by shifting parts of the lens. You can also modify your focal plane’s direction by tilting some of the elements. This results in a unique, “mini-world” look.

These lenses are the workhorses of professional interior and architecture photographers. But they are also used in portraiture and event photography sometimes.

Another type of specialised primes are defocus-controllable lenses.

These allow the photographer to alter the form and amount of background blur without actually changing the aperture. They are hidden gems of portrait photographers.

Super telephoto lenses are also rare to find in zoom format. There are some excellent 150-600mm lenses out there, but that’s where it stops. 800mm lenses, or even above (at astronomical prices) are exclusively primes.

Fisheye lenses, too, are rarely manufactured in zoom constructions. There’s only one I know of, the Canon 8-15mm. There are some great cheap fisheyes, though, such as the Rokinon 8mm.

Zoom Lenses

Zoom lenses are a lot more complicated and the prices vary a lot more, depending on what the lens does.

It’s a common misconception for beginners to think that an 18-250mm lens should cost more than a 24-70mm because it zooms farther. That’s not true because it does so at a price.

When it comes to zoom lenses, you really do get what you pay for. It would be hard to compare the two lenses that I just mentioned. They’re built for very different purposes and cameras.

An 18-250mm is built with a hobbyist in mind. Someone who doesn’t want to carry around multiple lenses – perhaps someone who travels a lot.

A 24-70mm is for a much more serious shooter. One who understands the compromises made when building a lens with a much longer zoom range but, at the same time, need to be able to freely change the way they’re framing a photo. You can’t do this with a prime lens.

An 18-250mm is built for someone who only wants one lens. A 24-70mm is built as a kit lens for professionals.

Quality

The overall image quality of a zoom lens is catching up with that of a prime lens but I reckon there’s still a long way to go.

I still notice that my zoom isn’t as sharp as my prime lens. But I knew that when I bought it and I’m still very happy with the results. You could call it a happy compromise.

One thing I have noticed from using both types of lenses is that the photos appear a lot softer when the aperture is all the way open and the photos look better a stop or two narrower.

This was definitely more noticeable with a zoom lens but that’s just part of the compromise.

There is one thing to keep in mind though. An expensive zoom lens can easily surpass a cheap prime in image quality, even though there are exceptions to this (like the Canon 50mm).

Zooms are less sharp because of optical errors coming from their complex nature. Some of these errors can be corrected with expensive special glass elements and coatings. They drastically increase quality.

So, there is definitely quite a large quality overlap between the two. There are websites out there that will show you sharpness samples and MTF charts. They can give you a general idea of a lens.

But if you’re planning on getting a new lens, I advise getting your hands on it and have a quick test. There’s a lot more to a lens than sharpness and aperture.
Atmospheric monochrome portrait of a male model posing indoors

Aperture

Because the aperture is f/2.8 throughout the zoom range in the 24-70mm lens, I always know what I’m working with. This is not often the case with cheaper lenses.

A cheaper zoom, such as a Canon 18-55mm kit lens, will have an aperture of f/3.5 when it’s zoomed all the way out at 18mm but will slowly narrow the aperture to 5.6. This is less than half the amount of light.

To reach f/2.8 throughout the entire range is an achievement not very common with crop sensor lenses. But all three large brands now offer f/2.8 standard zooms as part of their advanced crop sensor systems. They are quite expensive though, even nearing their full-frame counterparts.

There are some zooms that go beyond the notorious f/2.8 frontier. A few years ago Sigma was praised for introducing an 18-35mm f/1.8 and a 50-100mm f/1.8 lens for crop sensor cameras. These have since become very popular in the mirrorless videographer community, but also among photographers. They are relatively affordable, especially for what they offer.

Not long ago Canon introduced a 28-70mm f/2 lens to go with the new RF system. It’s a beast of a lens for sure, at a beast of a price – but some professionals love it for its image quality and large aperture.
Atmospheric portrait of a female model posing indoors

Price

The prices of good zoom lenses can be pretty expensive but they do reach a limit. A good zoom lens can only do so much before the lens maker has to stop making compromises and start making a new lens for a different focal range.

When you start buying lenses, it’s often a cheaper and more sensible option to buy a zoom lens. You can do more with it.

Conclusion

There will always be prime lenses and zoom lenses in my camera bag because they have very different uses.
I will use a prime when I know what I’m shooting and the focal length that I’m working with. Or I’ll use it if I’m shooting in low light and want to allow more light into the lens. But I probably still use a zoom lens more often.
It’s not a better lens but I can do more with it and, even though it’s heavier, it’s worth the extra weight.
I would encourage everyone to use a prime. Not only did I find that my photos started coming out a lot better after using one, but it actually taught me a lot about aperture and depth of field.

Save this article to your Pinterest profile to access it later!
9 comments
  1. I’ve got a bit of a thing for Primes, mainly because I always used to shoot on a Hasselblad with a handful of primes and this is what I got used to. I’ll use them when shooting portraits, products and internals. Basically any situation that is controllable.
    I do have to pull out the zoom when shooting events, you’ll find yourself missing shots otehrwise.
    Nice article as always.

  2. aperture and depth of field can be learn regardless of zoom or prime. 🙂
    however, the thing about prime is that their lack of zoom makes one THINK more. It’s a great way to improve!
    nowadays I’m actually using my EF-S 15-85 more than all my other lenses, the image quality is superb (not all range though).
    my recent stock photo images were mostly taken with the zoom lens and it turns out great!

  3. Josh, thank you so much for your great explanation, is clear and easy to understand. Congratulations and thank you for share your expertise with all.

  4. Hi Josh, I have the Sony Alpha, A-57. I like the camera itself but the 18-55 kit doesn’t cut it anymore. Please recommend a prime lenses I should check.I love to compose my photos in the camera and the zoom is convenient. Can you clue me into a wide-angle zoom that will help me get better image quality. Thanks, Bob

Leave a Reply to Jack Daniel Mason Cancel 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]