back to top

Expert Tips for Shooting on Black and White Film (Updated 2019)

A- A+

I’ve written about film photography and I’ve written about black and white photography. You’re probably wondering why I’m writing about black and white film photography.
The answer is simple – there’s a lot more to it than meets the eye.
The effects produced and the parameters you have to work within are very different from any other type of photography. This can produce some very interesting results – results that you may associate with a much older style of photography.
Atmospheric portrait of a female model shot with black and white film

How You Shoot Differently in Black & White

In my post on film photography, I talk in detail about how shooting on film helps to hone your skill. You think a lot more about what you’re doing before taking each photo, rather than wasting a piece of 35mm film.
This added pressure of wasting money on the film and development means that you become a much more careful photographer. You consider how else each photo could be taken before actually taking it.
Think twice, shoot once.
Mistakes can get pretty expensive if you’re not sure what you’re doing with your film camera. This forces you to quickly learn what you’re doing wrong.
Black and white film photography is all of this and more. Normally, when I take black and white photos, I shoot in colour first and convert it afterwards. This gives me more options in post production.
You don’t have this option when shooting on film. So you really have to pay attention to what it is that you want to capture and how it’s going to look in black and white.
You rely much more on composition, texture, shape and form to create a good photo, so you have to look for this before you shoot, not after.
That is my favourite reason for shooting on black and white film. You’re forced to hone your skills much faster.
Atmospheric portrait of a female model shot with black and white film

The Dynamic Range

The first thing you’ll notice when you get a roll of black and white film developed (particularly with the brand of film that I use: Ilford HP5 Plus) is that the dynamic range is a lot worse than what you’re used to with digital and colour film.
You need to be really careful about this. You’ll find that even landscape shots don’t come out properly, let alone photos of people indoors.
This really bothered me the first time I got my film back because I didn’t know about it before I shot. I hadn’t adjusted my shooting style to match it.
Now that I know better, I can use this to my advantage.
A portrait of a man sitting in an outdoor cafe - tips for shooting with black and white film photography

Advantages of the Dynamic Range

Once you understand how the film reacts to the light, you can use it as a creative tool in your photography.
The light is harder to control but, when you expose a photo correctly with the light in the right places, the results can be much more dramatic.
Had I shot the photo above on colour film, you’d be able to see the subject with no problem. When shooting on black and white film, it’s important to determine where the light illuminates the subject and work around that.
Take the photo below for example. I knew when I shot it that the left-hand side of the photo was going to be underexposed and that the right would be overexposed. This actually worked out really well.
I particularly like how the light shining on the back of the subject’s head is emphasised by the dark figure behind him.
A portrait of a man sitting in an outdoor cafe - tips for shooting with black and white film photography

Skin Tone

One of my favourite things about shooting on film is how good skin looks.
Black and white film in particular makes the skin look great. The natural grain adds texture and detail, while the lack of colour emphasises the tone of the skin.
That’s also one of the advantages of the poor dynamic range. The contrast on neutral colours is boosted.
Atmospheric portrait of a female model shot with black and white film

Development

35mm film and development is becoming increasingly scarce. This is because some of the major developers are getting rid of their wet labs, only doing digital printing.
That being said, there are still places around that do it at a reasonable price to a good standard. But black and white is a lot harder to get done.
My nearest lab that will actually develop it in-house is about 25 miles away. This isn’t really a lot of use as the development process itself takes a while. Instead, I take mine to my nearest major lab, who send off for it.
This still takes about 2 weeks or longer. I’m there regularly for printing anyway so it’s not too much of a problem.
I have noticed over the past 2 years that development is getting more expensive.  It’s also taking longer to do and film is becoming harder to find. If we take that as a sign of things to come, it doesn’t look too good.
I urge everyone to start shooting on film as soon as possible. There’s a good chance you won’t be able to experience it in the future.
We have a great post on how to digitize film photos you should check out. Or how about trying our black and photography challenge to keep improving your work!
A serene shot of a lake with mountains in the background shot on black and white film

Save this article to your Pinterest profile to access it later!
12 comments
  1. Developing your own film is easier than some think. I’ve been thinking of getting to film and getting some daylight tanks again. The film scanner I have dos a top notch job, so I have the best of both worlds because of digital.

  2. Great article however I totally disagree with you about black and white film having poor Dynamic range. If shot correctly and processed correctly B&W film has a tremendous amount of Dynamic range.

  3. Very good article, and I’m very pleased that you are trying film, particularly B&W. I notice, though, that your posted pics are very high contrast, confirming your conclusion that B&W film has a restricted dynamic range. Please continue to work with film, and I’m sure you will learn how range, texture and scale can far exceed your current experience. I look forward to your views on this.

  4. I appreciate your article, but your conclusion on the dynamic range of black and white film is totally wrong.
    It’s exactly the other way round: Black and white film exceeds the dynamic range of digital sensors by magnitudes! I frequently take photographs on Kodak T-Max and TriX with a dynamic range of 14 stops or more – if i want to. Dynamic range of film totally depends from development. If your rolls get to dense (high contrast, no details in highlights and shadows), development was wrong. Use Ilford Perceptol in a 1:3 dilution and all the tones are back (and you lose about half a stop).
    So: Congrats on experimenting with film, but please learn more about film development before jumping to conclusions and spreading wrong information.

  5. your statement of dynamic range of B&W film being worst than digital is absolute nonsense. With black and white film  you can expose 3 stops under and 3 stops over and still have a useful image, Try that with digital.. where you have half a stop under and none over.
    All your photos in this blog are over and underexposed because you did rely on the meter’s information and omitted to perform the needed correction..probably didn’t know how it works. Obvious with the new generation of digital shooters…”if the first shot isn’t OK we’ll take another 50 and see wat the stupid little monitor shows…”
    Expose for the shadows, develop for the highlights and you have fantastic images. Or get you a spot meter and do the Ansel Adams thing, success guaranteed. Keep that in mind, OK?

  6. @ Jazzman
    What you mean by “(..) develop for the highlights”. It means that I have to develop film longer during the negative process? Or maybe i have to take shorter exposure with englarer (on hard paper course)? 
    I use kodak T-Max with D-76.

  7. Film is not less dynamic in tonal range than digital. Quite the contrary – this is the last big advantage of film that was not surpassed by digital.

  8. Agree with all the comments about dynamic range … pls correct … also, developing is way way easier to do at home … All my stuff fits in a shoe box, and a small paper shopping bag! I use my bathroom as a darkroom and have been making contact prints too, with a table lamp! it’s all easy, really! I’m also wriing a blog, do chk it out …
    And, I should be the one complaining about lack of availability of B&W film … they don’t sell any in India … have to buy expired stuff now and then from Lomography, India. 😀
    all the best, and keep shooting film!! Film is not dead, it just smells funny (read it on http://limitedunlimited.nl/)

  9. Nice article. I recently shot and printed photos from Kodak chromogenic film.
    I run a facebook group called film photography india. Please feel free to join it. We discuss about labs/films/events/photochemicals in India and also post photos . it is open to all

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]