HomePhotography & Optics › Field of View Calculator

Field of View Calculator

Computes the horizontal, vertical and diagonal angles of view of a rectilinear lens from its focal length and the sensor dimensions, and the width and height of the scene covered at a given subject distance.

When to use

You need the angle of view of a lens on a specific sensor, or how wide a scene (in metres) a lens covers at a known distance.

Do not use when: You want the full-frame equivalent focal length (use crop-factor), or the lens is a fisheye, whose projection is not rectilinear.

Formula

angle = 2·atan(d / (2·focal_length_mm)) with d = sensor width, height or diagonal; frame_width_m = 2·subject_distance_m·tan(horizontal_angle / 2), frame_height_m likewise

Rectilinear lens focused at infinity (thin-lens approximation); at close distances focus breathing and lens extension narrow the real angle slightly. Distance is measured from the lens' front nodal point, which is close to the sensor-plane distance for normal subjects.

Inputs

ParameterTypeUnitRequiredDescription
focal_length_mmnumbermmyesActual (not equivalent) focal length of the lens in millimetres. Range: ≥ 1, ≤ 5000
sensorenum: full_frame | aps_c | aps_c_canon | micro_four_thirds | one_inch | medium_format_44x33 | smartphone_1_over_2_3default full_frameSensor format preset providing the sensor width and height.
sensor_width_mmnumbermmnoOptional sensor width in mm; overrides the sensor preset. Range: > 0, ≤ 200
sensor_height_mmnumbermmnoOptional sensor height in mm; overrides the sensor preset. Range: > 0, ≤ 200
subject_distance_mnumbermnoOptional distance to the subject plane; when given, the covered frame width and height at that distance are returned. Range: > 0, ≤ 100000

Outputs

OutputTypeUnitDescription
horizontal_angle_degreesnumber°2·atan(sensor width / (2·f)).
vertical_angle_degreesnumber°2·atan(sensor height / (2·f)).
diagonal_angle_degreesnumber°2·atan(sensor diagonal / (2·f)); the figure lens makers usually quote.
sensor_width_used_mmnumbermmSensor width applied (preset or override).
sensor_height_used_mmnumbermmSensor height applied (preset or override).
frame_width_mnumbermScene width covered at subject_distance_m (only when given).
frame_height_mnumbermScene height covered at subject_distance_m (only when given).
magnificationnumberSensor width / frame width at the subject distance (only when given).

Example

50 mm on full frame: {"focal_length_mm":50,"sensor":"full_frame"}{"horizontal_angle_degrees":39.6,"vertical_angle_degrees":26.99,"diagonal_angle_degrees":46.79}

200 mm on full frame, subject at 20 m: {"focal_length_mm":200,"sensor":"full_frame","subject_distance_m":20}{"horizontal_angle_degrees":10.29,"vertical_angle_degrees":6.87,"frame_width_m":3.6,"frame_height_m":2.4}

GET https://tttkmbb.com/api/v1/calculate/field-of-view?focal_length_mm=50&sensor=full_frame

Machine access

Sources

FAQ

Why do lens makers quote a different angle?

Manufacturers quote the diagonal angle of view for the sensor the lens is designed for. The horizontal angle is what most people mean by 'how wide', so all three are returned.

How do I use this for a crop-sensor camera?

Enter the lens' actual focal length and pick the sensor preset (APS-C, Micro Four Thirds ...); the smaller sensor narrows the angle, which is the same effect the crop factor describes.

Related calculators