| photography, tutorial | 74 comments

Updated for 2018! Reliably color correcting your scanned film negatives is an exercise in frustration. Not anymore! I've created a set of Photoshop actions that completely automates the process and will get your scanned images looking great with minimal effort and while preserving maximum image quality.

Anyone who scans their own C-41 color negatives at home has felt the pain of trying to get the correct color and contrast out of their photos. I too have felt this pain, and I've spent hours reading and researching different approaches to get the most reliable results with the least amount of effort all while preserving maximum image quality. I've figured it out and packaged a set of automated Photoshop actions for you to use that will get you a perfect color corrected image 99-100% of the time.

I have spent a long time fiddling around with different scanner software trying to get the best result out of my C-41 negatives. In the end I found that you don't need any fancy software, and it's best to use what came bundled with your scanner. In my case, that's Epson Scan, but as long as you have the option to scan as a positive image (or slide film), and you can turn off all adjustments (no color correction,  no contrast adjustments, no unsharp mask), and set the color depth to 48 bit (or 16 bit per channel), then you are good to go. With all post-processing options turned completely off, it should not matter which software you use. I like Epson Scan because it's simple and easy to determine when those options are truly disabled - both VueScan and Silverfast have given me trouble in the past, but it's possible to achieve the same result with them.

This method will preserve the film's original tones as well as it's color temperature with no (or minimal - your choice) loss of color information.

Once you have your image scanned, it should look inverted and very orange, just like the negatives look in person. The goal is to remove the orange mask and get a more natural color. It works best if your scanner does not cut out all of the frame edges from your film, because you need to sample it in order to get a perfect black point for the film base. If your scanner cuts out the frame edges, you can use a piece of the film leader and scan it separately so that you can sample the orange color that way. Note that you should not include anything beyond the film edges in your image, such as the film holders or any part of the empty flatbed, as this will make color correcting much more difficult.

You should have something that looks like this:

Setting the black point

In Photoshop, sample the orange film base with the eyedropper tool. Be sure that the sample size (in the top options bar) is set to an average sample (5 by 5 for example). Click anywhere in the middle of the orange film base to sample its color. Next make a new layer and fill it by pressing Shift+Backspace, or by selecting Edit->Fill from the menu. In the Fill options, choose Foreground Color, blend mode Normal and 100% Opacity. You should see the entire screen has been filled with the orange mask color. In the layers panel, set this layer's blend mode to Divide.

Now merge the layer down by pressing Ctrl-E (or ⌘-E), then invert it by pressing Ctrl-I (or ⌘-I). You should see your image looking halfway decent, but it still has a heavy blue cast.

You should have something that looks like this:

Setting the white point

Make a new curves adjustment layer. In the curves palette, click the top-right menu button and select "Auto Options" - this is where you'll really notice a difference.

Select the "Enhance Per Channel Contrast" option, and check "Snap Neutral Midtones". Set the Shadow Clip to 0% and set the Highlight Clip to 0% as well. If you wanted to preserve as much color information as possible, you could stop here and begin working on color correcting your photo. It will likely still have a heavy cyan cast and lack contrast, but you can fix that with adjustments later. If you want a quick and dirty method and don't mind throwing away a little bit of color information, set the Highlight Clip to a very low value such as 0.05%. Play with it a little, increasing it in small increments until you're happy with the result. Keep in mind you are tossing away highlight information here, so be careful not to go too high. I usually settle somewhere around 1%, but it's completely up to you. You can also increase the Shadow Clip setting a little bit if you want more contrast, but again remember that you're throwing away color information that you can't recover later unless you start over from the original scan. How much you choose to throw away is up to you.

Further color corrections

You may be completely satisfied at this point, or your image might still have a slight color cast or lack contrast. To fix this, you can add yet another curves adjustment layer and play with each individual color channel's curve. For example, if your image looks a bit red, change the channel on the curves palette from RGB to Red and move the red curve down ever so slightly until you're satisfied. You can use the arrow keys to bump the curve up or down if you are not very accurate with a mouse or trackpad.

Some people find curves adjustments to be kind of tricky, so I will share an alternative method I learned about recently which more closely matches the method used to adjust color prints made in the darkroom. You need to make three new layers, one filled with pure yellow (255,255,0) and one filled with pure magenta (255,0,255), and another filled with pure cyan (0,255,255). Set all three layers opacity to 0% and set their blend modes to soft light. Now if your image is too green, simply increase the opacity of the magenta layer by a few percent. Likewise if your image is too blue, increase the opacity of the yellow layer by a few percent until you're happy. And if your image is too red, increase the opacity of the cyan channel accordingly.

That's it! You can always increase the contrast more using another curves layer, or by any other method you like - there are always more than one way to achieve the same result in Photoshop.

New Photoshop action

Of course I have combined the above steps into a new Photoshop action that you can download for free. If you found this guide helpful, please consider buying some film on Amazon using my referral link below. It doesn't cost you anything extra and I get a small cut.

Download the Photoshop Action here


This is awesome! I was reaching the point of getting annoyed by all the time it took to process my film after scanning. This'll save me hours and hours of work.


Great article, and I'll be sure to try it later!
I was wondering how you might adapt that for BW film? If it's C-41 BW I guess you could run the action and then desaturate perhaps? But if it's actually BW film then do you have an action for that too? Or just invert? (hell, while I'm here, any experience getting the perfect color rendition out of scanned slide film?)

Thanks again,

You could easily adapt the actions for BW film by simply omitting the second curves adjustment layer. It should work the same for slide film too.

Hi there Jeff! And thanks for the action. It doesn't seem to work for me for one bit, it seems... When I run your action, a dialog window appears with the message 'The option 'Select' is not available at the moment'. The resulting image is quite dissapointing: very blue shadows, very yellow highlights. It doesn't come near the wonderful results I see here.

I'm probably doing something wrong...but what?

JJ, no idea. I've had many people use it with success. What version of photoshop are you using?


Thank you very much for the photoshop actions! It made converting photos a breathe

HI Jeff, think I found it. In the photos I used, there was still a bit of the negative's edge. It must've taken that as the absolute black in the pictures. I'm getting way better results now.

I still get the message 'Couldn't make selection' though. Amy idea on what that could be?


JJ, I think it might have something to do with how you crop your image. I use the marquee tool and then crop using the command in the menu. I noticed if you use the actual crop tool, it renames the background layer on you. The very last step in my action is to select the background layer, but it's possible that the action is getting confused if the background layer gets renamed.

Hey, thanks for this action! I'm trying to use it with my PC's Photoshop CS5 and it's saying it's incompatible? Any clue what the problem could be? What version Photoshop do you run it on?

Zenz, I am using the Adobe Creative Cloud subscription, so it's the latest version (CC 2015 I believe). I am not sure how far back the compatibility goes.

I use CS2 and it works perfectly, so compatibility goes pretty far

Thank you so much for this. It's going to change my life.

Thank you very much for these PS actions. I'm impressed with the quality and speed. You just saved my life ;-)
I "scan" my negatives with a camera and as the light source I use an enlarger color head to bring the colors more within a color range of the camera sensor. I try to color balance the negatives to around 5000-6000°K and as close as possible to 0 tint for the neutral colors within a frame using the color head before I get the images into ACR. Then your action does the rest.

Hello Jeff, I am impressed by the fast and stunning results. I was several days investigating the best way to positive my negatives films. However, I would like to ask you about one point. I was worried about the orange mask, that is different depending on the development process, film type etc... What do you think about that? would it be possible to take into account this factor in your method?

Thanks a lot again, your work is really helpful and encourage to continue with the hybrid analog-digitla work flow.


The action is "smart" enough to take care of variances in the orange base between film stocks. However, a slightly less automated way involves selecting the orange base as the "black point" (after inverting your colors) when setting your curves adjustment. I found this method to give more accurate results depending on the development process and the scene.

Thanks! Just wanted to say that these really do the trick - so much easier than fiddling with the curves manually.

Just use it as a batch process on my first two rolls of color negative film in 15 years: https://flickr.com/photos/phidauex/…

I fucking love you. Why havent I googled this sooner. You will save me so much time!

You are the Jeff and you are the best. Thank you so much for this. Thanks to you. I get to see the unique colours of different films that I use.

I am new to actions. I cannot see a .ATN file in the download from your link above, and so cannot install it as an action file. Am I missing something obvious, I understood these files are often zip files which are unzipped to give the correct file?
thanks, Col

Col, just drag those files into your photoshop window. They should install automatically! I can't wait to try this out when I get home!

Tested with film scanned with a D810 and works! Will be spending a few bucks on Amazon so you get some kickback.

Tested with negatives "scanned" with a D800. Works really well! Thank's!!!!

Instant bookmark thanks!

Hi. Just stumbled upon this page. Thanks for putting it in actions. An interesting alternative when using the imagemagick+negfix8 command-line is not an option.
However, I'd love to know about your sources of research. Have you perhaps found articles/books/videos that explain why this is the "correct" way of doing it ? (ie. finding darkest and brightest points for each individual channel in order to "balance" or have an initial interpretation of the negative)
I've found multiple methods but rarely have I found proofs and detailed explanations why such and such approach is valid, from a color processing standpoint.


Hell Sir;
Where can I buy this Photoshop action?

It's in the post body to download - it's free. But you can pay me if you want.

Jeff, have you ever compared your results with those obtained by the ColorPerfect plugin for PhotoShop? I'm curious if that would be worth the purchase when your action already works this good.

Hey Jeff, great job on the action, but I'm having a problem. When I run the action, it inverts the picture making it heavily cyan (as it is supposed to), but the next step doesn't really remove the cyan color. I'm wondering if CS3 would require slightly different steps?

JJ, yes I have and the results vary depending on the photo. I am not sure what secret sauce ColorPerfect uses, but they're not always the same result. Not better or worse, just different. It might depend on your preference.

Alex, I am not sure, it's possible your version of photoshop is too old (10 years at this point)

Thank you for the quick response. I am going to "fine tune" the steps in the script. If anything, this gave me an awesome starting point!

Great information, but I am a newbie to this. I am picking up film photography again, this time medium and large format. I'd like to scan color and B&W negs with an old HP flat scanner that will create a file with a lot of detail. I'm not sure which photoshop to buy. Does the Elements version have enough features to do what you have lined out here? Thanks

Smitty, I have no idea if Elements supports Photoshop actions, I would assume not.

You're a life saver! I was almost giving up on film photography until I found this. It works perfectly 90% of the times, and the other 10% it only needs some slight adjusting. Hero!

Is it really required to remove dust before running this action? A lot of times I like to see what it looks like before commuting to dust removal.

J, it is not crucial but it does help in some cases when there is very very large spots of dust that are pure black or white.

Hi Jeff, I have Photoshop CC 2015. So I open my scan in PS, apply your action, but the result is a positive image with a cyan color cast. Do you have any advice on what I should do after the action? How do I subtract the color cast using curves or levels? Thanks!

Calvin, that usually happens when you haven't cropped out the frame borders from your image first.

Holy crap. Such a simple solution. Thanks for the quick reply! I'll be using your referral link for a long time.

Holy crap. Such a simple solution. Thanks for the quick reply! I'll be using your referral link for a long time.

Its not working for me. I'm using a dutch version of photoshop. Therefore it doesn't recognize de layer-names. Is there anyway to adjust that?

sorry for my bad English

Jeff, I have the exact same problem as Jac here: in my Dutch version of Photoshop the layer "Background" is called "Achtergrond" (just threw in your first free Dutch lesson). How can we change that to make this action work the way it should?

P.s. I've tried your action on the RAW-files you can get out of Vuescan as well. Those results are too contrasty and some colours tend to oversaturate. In particular the reds in skin and the greens of foliage.

Would you suggest simply not using RAW's or trying a different approach?

Thank you for sharing this!
I really want to automate my workflow, i take lots of time trying to adjust scanned images in lightroom...
However, I am having some trouble also with this method.
I am scanning Fuji Industrial 100 film with PrimeFilm XA scanner and Vuescan, set as slide film. I got a negative image similar to your sample here, but when using the actions, all i get is a very washed-out image.
There is almost no color cast, i think... But the photo is really washed out, almost without color (very low contrast & saturation).
I think i am doing something wrong, but what do you think it is?

1.I am already cutting the frame edges.
2. I've got similar results with Fuji Natura 1600 and Lomography Color Negative 100 films, so it's something wrong here, i think.

I'm the same person who asked the question above, and i've already figured out the solution.

To those using vuescan: Don't use the RAW file straight out the way because it has a gamma setting of 1.0.
Use the raw file to export a 48 bits TIFF file, and set in the "color" tab:
Curve low: 0.001
Curve High: 0.001
Brightness: 2.2 (This is the gamma value... You can use 1.8 depending on yout system, I think. i use the standard 2.2).

Set it up as a generic COLOR SLIDE (not negative), and do the process above.

If you get washed out colors, try to clip out more highlights and shadows by:
1. Flatten the image after running the actions of this page
2. Image -> Adjustments - > Levels
3. Options
4. Find dark and light colors
5. Try higher percentages of clipping

This was all by trial and error, so maybe it's not the best method.

Thanks a bunch Ricardo! Works like a charm :)

Wow, this is just awesome, I really like the look of vintage films in my digital photography work. I often use PsdFilm, have you ever heard?

Nice article, but there is much easier and much more natural way to convert color negatives i PS.
1) Scan your negative to RAW 16bit file (or hold them in front of your monitor with white background color and take snap with DSLR) Do it without any corrections or enhancements by the scanner software.
2) Scan or take snap of (small) piece of film without picture (gap between the pictures or the piece of the film on the beginning or the end). You will need it to find color of your orange mask, so do it without any color corrections or enhancements.
3) Open both pictures in PS.
4) Open color picker dialogue and use eyedroper tool with big averaging setting to pick the color of the pure orange mask. Now you can close the image with the orange mask sample.
5) Convert Background of the scanned negative to normal Layer (doubleclick on it in layers window) and create new empty layer and place it below the negative layer.
6) Use paint bucket tool to fill the new empty layer with the orange mask color.
7) And now is the trick! Change mode of the upper (negative image layer) to Subtract. the result is more or less perfect positive, because color values of pixels are subctracted from the value of orange mask which makes them inverted and simultaneously removes orange mask cast by the most natural way.

After that step I usualy merge this two layers, convert the merged layer to smart object and aply Camera Raw filter to tune up the color, contrast and denoise settings of the image.

Really appreciate the steps tutorial. I've been getting far better quality images with my epson v370 now. The only thing that keeps bothering me is the unshark option... Some of my images aren't as sharp as they supposed to be. Could you tell a thing or two about this step?

having problem with download, expected a "atn" file but got [AdjLUsngObjcAdjLTypeObjcCurvesCrvs presetKindenumpresetKindType] text only. What am I not doing correctly

Just freaking awesome. Works works works !!!

Thank you very much, this is great! Saves me a lot of time and is very consistent. I'm using a dutch version of photoshop, so I had to change "achtergrond" to "background" and "Omkeren 1" to "Invert 1". After that it works like a charm. As a side note... I'm using a dslr for scanning and did a test with different 5 White Balance settings. The differences in the end result, after your action, are neglisable.

Don't want to spam, but for those who are interested, this is one of the results:



Do you think this action would translate to another program like Affinity Photo?

Best, JJ

Thank you so much for sharing this. It cut my editing time down drastically and with better results. The rest is up to my taste. Cheers!

im making contact sheets - basically using D850 with 60mm macro nikkor lens for sharpness. so there are a lot of gaps - i shoot on strobed lightable, invert, go to curves point black eyedrop at clearest neg edge for max black of orange neg base, then find darkest neg point for white dropper tool to get bright white - its the closest i can get then i tweek over all color for average ---i haven't come up with anything other ideas

Awesome stuff, thank you!

I have to say this is the best and simplest approach I’ve tried, and good on you for making the action available for free. I hope you don’t mind that I’ve linked this article to the Dslr scanners FB page. https://m.facebook.com/groups/287716734970881
Jeff and Anybody else interested in scanning film with a Dslr should check it out As we’re trying to build a community that she is it’s knowledge, experience and understanding.

Thanks so much! This works amazing for me!

You are a genius! Finally someone who was able to help! You will see the insane difference in my photos on IG (@_joka), rn they are all blueish and i had no idea how to solve that. THANKS A LOT!!

This method works well in some instances, but in many cases you may still find the end result too blue, and attempting to remove it may negatively affect the blue

The orange dye layer is a necessary evil that was designed to remove unwanted interference in the magenta and cyan layers by blue and green light respectively. The dye is formed during processing in inverse proportion to the amount of dye in the magenta and cyan layers. But fortunately, not the yellow layer, whose photometric curve allows other wavelengths to pass through without unwanted absorption.

In order to accurately reconstruct the image (and thus fully remove the cyan cast of the final result) you need to remove approximate 20% of the yellow from the magenta layer, and 40% of the red from the cyan using the untouched yellow dye layer. In print enlargers this is done by using color filters, but the process can be replicated in Photoshop or by using the appropriate filters during scanning with a DLSR.

The process is a bit complicated, but once you've done it you can easily create a set of actions for it. Tutorials on how to do this are relatively easy to find.

Taylor, thanks for the reply. I would be interested in reading about those methods you described if you could link to a couple tutorials. I would like to compare the process to my own. Thanks!

Thanks for your great work! Should I include the right frame edge when using the Photoshop Action?

Hi Jeff, thanks again for updating this! I've just tried it and the results are much better. (even though your previous action was already great). Colors seem to pop a bit more, contrast seems to be better, without overdoing anything. My photos seem to need even less tweaking after running this new action. Great job!

Very useful! I'm back shooting film and man oh man the scanning is a challenge! I'll try this. Wish it could be done in Lightroom though ;/

Hi! I used the latest version of your actions, and I find that in some cases after setting the black point by clicking on the frame border, either highlights or shadows get somewhat overdone, and my image gets either too bright or too dark. Am I doing something wrong? Thank you!

Thanks for the updated version!, sadly its not working anymore if the images already scanned and inverted, I always use your photoshop action to color correct bad lab scanned negatives. Good thing i still have the old version though.

How is sad is that I'm in the 1%... this didn't work as expected. It's so frustrating every time I scan with the Epson Scan and get horrible colours (Cyan or purple skies, with or without colour correction). I really thought this could help me with my constant fight of getting the right colours of my films :( it's a really really good approach to good results tho. Thanks!

Wow and thanks! The Photoshop actions work great! I just developed my first roll of color film, and was getting disappointing results playing around in Lightroom. I was thinking about buying colorperfect, but your ps actions exceeded my expectations! Looking forward to shooting more color. Next time I buy film I'll use your link :)

Wow and thanks! The Photoshop actions work great! I just developed my first roll of color film, and was getting disappointing results playing around in Lightroom. I was thinking about buying colorperfect, but your ps actions exceeded my expectations! Looking forward to shooting more color. Next time I buy film I'll use your link :)

Jeff, thank you for sharing this action. I have been using it for a while with good results, but I have just discovered how to use the results of this action to generate film inversion profiles for use in Lightroom. We now have a method to invert and color correct negatives in one click directly in Lightroom. Your action simplifies the process of creating the initial color correction. http://cuchara.photography/blog/2018/…

Thanks for this Jeff! I am wondering if the cyan/blue color balance is due to basing the “orange mask” removal on the unexposed portion of the frame rather than on a neutral mid-tone? Since the orange mask is not merely the film base but (as TaylorH explained above) a dye-coupler that develops in proportion with cyan and magenta exposure it seems to me that you could get a more accurate inversion by photographing a gray-card (or an ExpoDisc) at middle gray in daylight and using that for your mask sample. I’m thinking that if you photographed the neutral gray in the same light as your subject then maybe your action could take care of both the orange mask AND white balance at the same time. Thoughts?

Duuuuuude!!!! Thankyou so much!!!!!

The action works perfectly and is a total lifesaver. I am now actually seeing the film I'm shooting without hours of futzing! Sheesh.
I wonder if there was any way to have this setup work in Lightroom to easily do batches? Just a thought.
I'll be sure to buy my next batches of film through your links, if there is another way to help you back please let me know!

Thanks so much for the guide...I've modified it slightly to get around having to scan the orange background and am using it to convert RAW film scans when used with the Nikon ES-2 adapter - much better than using the inbuilt digitizer. I've put up quite a few examples at http://www.camerachops.com/nikon-d850-digitizer/