Print Resolution Calculator
Print Size and Viewing Distance
Diffraction based Shooting Limits
This calculator computes the required minimum resolution needed to satisfy human visual acuity for a given size print at a given viewing distance. Further it calculates the aperture that will be diffraction limited for that resolution. See notes and theory below the calculator for the details.
Notes and Theory
The required resolution is derived simply from considering the visual acuity of the human eye at a given distance and given acuity standard. This is little more than a transform from angular acuity of human vision, to spatial resolving power at the print converted to mega pixels.
The fundamental assumption is that the disc of confusion for a person with 20/20 vision is equal to 1 arc-minute (1/60th of a degree) in diameter. The “spot size” on the print is then calculated using
s = x × tan(0.000290888209 × fs), where s is the spot size, x is the distance to the target and fs is conversion factor from 20/20 to one of the other visual acuity ratings. That gives us the diameter of a disk shaped “pixel” for the print that can’t be better resolved without moving closer or having better vision.
Note, this is of course a skinny triangle approximation. However, even at the minimum distance of 8 inches, the error is well below 0.001% of the actual value which is more than sufficient for these calculations.
Print sizes are assumed to be in inches unless otherwise noted.
The larger print value (1 sq ft) is meant to be used to calculate the resolution need per square foot of a very large print, see the Big Prints section at the end.
Pretty standard, range is 8-inches to 10-feet. Presets are set based on what I find typical for a lot of uses.
Shown as standard US eye test values. 20/60 was included since that’s what most camera manufacturers’ seem to use when computing the circle of confusion and depth of field scales.
By default, the calculator assumes the pixel is circumscribed around the disk of confusion. I would consider this the absolute minimum tolerable resolution for that size print and viewing distance.
I’ve provided an “inscribed pixel” checkbox in this version of the calculator that causes the calculator to assume the image pixels are inscribed in the circle of confusion instead of circumscribed. This option ends up suggesting about 42% more resolution than its counterpart suggests.
Required Resolution Results
The results are all functionally the same but present the information in various ways. The first 2 line cover basic image information. In a lot of ways you can stop here and go with these numbers, and things should be okay. See the chart below for approximate conversion to other scales.
The third line makes a naïve jump from image resolution to sensor resolution. That is it assumes there is no resolution loss between the native resolution of the sensor, and the image it produces. In practice, this isn’t true at all, as both the Bayer pattern sensor and the low-pass/anti-aliasing filter placed over the sensor reduce the sensor’s actual resolution somewhat.
The final line in the Required Resolution section is the estimated resolution of a Bayer sensor to achieve the calculated image resolution. This is higher than the resolution in MP number because a Bayer sensor loses some resolution in the demosaicing process, and some more with the low-pass filter over the top.
For the calculation here, I’ve assumed the Bayer patter and low-pass filter reduce the sensor’s resolving power by 25%, but I would note this isn’t something to be taken as gospel. The debayering algorithm can result in actual resolutions between 50% and nearly the native resolution of the sensor. 50% seems obscenely low given practical experience, and I know we’re not seeing 100% either, so I just used the middle value.
For users of monochrome cameras, and Foevon based bodies the Resolution in MP value is the number you should be considering. For users of Bayer pattern cameras without low-pass filters, such as the Canon 5Ds R, Nikon D800e, Nikon D810, and Sony A7R, the actual value will likely be between the two MP numbers.
Diffraction based Shooting Limits
The idea here is to back drive the diffraction limited aperture calculation with a spot size based on the resolution calculated in the required resolution section. In other words, if you only need 7MP to make your image, you don’t necessarily have to worry about the diffraction that would show up on your 24MP sensor at the pixel level, since it won’t be visible to someone looking at the print from the given distance.
This was inspired by a number of people I’ve talked to bringing up the point that people have told them not to stop down past some f-number because of diffraction. The point here is that while anything past the diffraction-limited aperture of your camera system will see effects from diffraction, the effects may not be something to consider at all.
To put an example to this, the 6.4-micron pixels of my 5D mark III become diffraction limited at f/10.1. However, if I’m printing a 12×18 that will be viewed form 2 feet away, diffraction softening won’t start harming the image visibly until I’ve stopped down some degree further (f/21.4 with the default vision and pixel settings).
One other thing to consider is really large prints. This tool is built around standard sized images, when you get into really large panoramas the normal rules fall apart to a large degree. Big prints intended to go on buildings or billboards won’t need nearly the resolution that a normal print would, simply due to the viewing distances. On the other hand, a big print meant to go on the wall and let users “step into the scene” will need it’s resolution calculated based on intended viewing distance and overall surface area.
To that end, I’ve included the 1sq ft preset to allow you to calculate those kinds of prints. For example, an 8×10 foot print intended to be viewed from 3 feet away, and calculated using the default settings, would require a resolution of 1.3MP per square foot, or 104MP for the entire image.
That said, like many things in photography there’s a certain amount of fuzziness involved in all of this. Perception isn’t mechanical like a camera sensor is, and the brain will smooth out some issues as long as they aren’t massively glaring. Moreover, things like visual acuity tests people typically get aren’t perfect, you might be classed as 20/20 but actually are 20/19 or 20/24. A given viewer might be more sensitive to resolution issues—like another photographer trained to look for flaws. Or people might simply step closer to your images to admire their content.
In other words, don’t get too caught up in the numbers, if you’re pictures are strong and make an emotional connection not being technically perfect won’t even matter.
It would be great to include optimal image dimensions as well as minimum
I’m not quite sure I follow what you mean by optimal here. Can you explain what you’re thinking about in terms of optimal a little better?
For this calculator, the minimum resolution would mean that a person with the visual acuity you specified standing at the specified viewing distance shouldn’t see pixelation or other artifacts due there not being enough resolution in the print.
From one perspective, that is the optimal resolution, since you’re not wasting space and pixels on information that won’t be seen.
On the other hand, if you only just satisfy the threshold, then there’s no margin for someone with better vision or who stands closer. But then the question becomes what is optimal there? Do you figure on half the viewing distance? 50% better visual acuity?
Hi. “Diagonal of print” button seems to be broken at the moment. I checked the source code for you and you’ve changed the capitalization of “Print” in the text, which broke the logic on line 47 of print-res.js
Thank you for a great calculator!
Thanks for finding that. I noticed it was broken a couple of days ago, but I didn’t have a chance to dig into it. It’s fixed now.
Arm’s Length button is broken.
I love the tool – much more realistic than any others I have seen.
Sorry about that, JS and HTML is a frustrating pair of languages to do anything easily and robustly. That’s fixed now, you may need to clear your browser’s cache and reload the page to get the fixed script.
Hi Jason, this is a very clever tool and one I come back to frequently.
I was wondering if, considering the increasing availability, you’d consider adding a line for the 43.8 x 32.9mm “medium format” digital sensors that Fuji and Hasselblad are putting out to this calculator and maybe even the “Diffraction Limited Effective Resolutions” calculator.
Thank you for putting this all together.
Added as Hasselblad X system under medium format. Thanks for the suggestion.