back to top

Prime vs Zoom Lenses

A- A+

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 - prime vs zoom lens
[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 of a prime lens is very precise, 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.
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 - prime vs zoom lens

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 almost four times as much light into the lens than the zoom. 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.
Along with aperture, we also have the advantage of being able to produce a shallow depth of field. This can have a whole range of creative uses.
Again, the photo below was shot at f/1.4.
A female model posing outdoors in low light- prime vs zoom lens

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.

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.
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 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.
Atmospheric monochrome portrait of a male model posing indoors - prime vs zoom lens

Aperture

Because the aperture is f/2.8 throughout the zoom range, 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.
Atmospheric portrait of a female model posing indoors - prime vs zoom lens

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!
7 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 goldfries 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]