Home > Photography > Depth of Field Equations

Depth of Field Equations


Hyperfocal distance, near distance of acceptable sharpness, and far distance of acceptable sharpness are calculated using the following equations*:

Hyperfocal distance:

H = \frac{f^2}{Nc}+f

Near distance of acceptable sharpness:

D_n = \frac{s(H-f)}{H+s-2f}

Far distance of acceptable sharpness:

D_f = \frac{s(H-f)}{H-s}

H is the hyperfocal distance, mm
f is the lens focal length, mm
s is the focus distance
Dn is the near distance for acceptable sharpness
Df is the far distance for acceptable sharpness
N is the f-number
c is the circle of confusion, mm

f-number is calculated by the definition N = 2i/2 , where i = 1, 2, 3,… for f/1.4, f/2, f/2.8,…

Calculations using these equations must use consistent units. When focal length and circle of confusion have units of millimeters, the calculated hyperfocal distance will have units of millimeters. To convert to feet, divide H by 304.8. To convert to meters, divide H by 1000.

An online calculator of DoF


An DoF calculation example: Canon T3i(1.6x CF), Canon 50mm F1.8 lens, Object distance 0.45m, a very shallow 0.49 cm DoF is produced by the lens.

Subject distance 45 cm
Depth of field
Near limit 44.8 cm
Far limit 45.2 cm
Total 0.49 cm
In front of subject 0.24 cm (50%)
Behind subject 0.25 cm (50%)
Hyperfocal distance 7389.6 cm
Circle of confusion 0.019 mm


*Greenleaf, Allen R., Photographic Optics, The MacMillan Company, New York, 1950, pp. 25-27


Categories: Photography
  1. September 7, 2012 at 11:39 am

    Great advice. Thanks

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: