Use this horizontal projectile motion calculator to find time of flight, horizontal distance, and impact speed and angle from a given height, horizontal speed, and gravity (no air resistance).
Advanced options
How to use our Horizontal Projectile Motion Calculator
- Set What do you want to calculate? Choose From height and horizontal speed to compute the flight from a drop height, or choose Target point (solve for horizontal speed) to find the horizontal speed needed to reach a specific point.
- Choose a Unit system (SI uses meters and m/s; US/Imperial uses feet and ft/s). Enter every distance and speed in the units you selected.
- Enter Launch height above landing level (selected unit) (height above where you consider the landing level). Use 0 for a same-level launch and landing.
- Enter Gravity g (m/s^2 or ft/s^2) as a positive number (Earth is about 9.80665 m/s^2 or about 32.174 ft/s^2).
- If you are in the basic mode, enter Initial horizontal speed v_x (selected unit per second). This is sideways speed at launch, and it stays constant in this model.
- If you are in Target point mode, open Advanced options and enter Target horizontal distance x (selected unit) and Target height relative to launch y_target (selected unit) (negative means below the launch point; to use the landing level as the target, set y_target = -h0).
- Optional: In Advanced options, set Rounding (decimals) and Number display format to control how results are displayed.
- Click Calculate.
- Sanity-check: In basic mode, Time of flight t (seconds) should match about sqrt(2*h0/g) (it grows with height and shrinks with larger gravity), and Horizontal distance traveled (selected unit) should be close to v_x times t.
Definitions
Horizontal launch: A launch where the initial vertical speed is 0, so it starts moving sideways only and gravity pulls it down. [1]
Launch height above landing level (selected unit), h0: How far above the landing level the object starts. In the basic mode, h0 must be 0 or greater.
Initial horizontal speed v_x (selected unit per second): Sideways speed at launch. With no air resistance, this stays constant during the flight. [1]
Gravity g (m/s^2 or ft/s^2): Downward acceleration that changes the vertical speed over time. Use a positive number. [1]
Time of flight t (seconds): How long it takes to reach the landing level (basic mode) or the target height (Target point mode).
Vertical speed at impact v_y (selected unit per second): The vertical part of velocity at impact. Negative means downward in this calculator.
Impact speed |v| (selected unit per second): The total speed at impact found by combining the horizontal and vertical velocity parts.
Impact angle below horizontal (degrees): How steeply the velocity points downward at impact, measured from the horizontal direction.
Trajectory equation coefficient k (1/selected unit): The number in y(x) = h0 - k x^2 (landing level as y = 0). Bigger k means the path bends downward faster.
Common mistakes and quick fixes
Mistake: Leaving Gravity g (m/s^2 or ft/s^2) blank, typing text, or entering 0 or a negative number.
Fix: Enter a positive number (for Earth: 9.80665 in SI, or about 32.174 in ft/s^2) so the square root in the time formula is valid.
Mistake: Entering a negative Launch height above landing level (selected unit) in the basic mode.
Fix: Use 0 or a positive height. If your landing point is above the launch point, a purely horizontal launch (initial vertical speed is 0) cannot reach it.
Mistake: Mixing units after switching Unit system (for example, selecting feet but typing meters, or using mph instead of ft/s).
Fix: Re-enter values in the chosen units. If you only know mph, convert to ft/s before typing (the input expects per-second units).
Mistake: In Target point mode, using Target height relative to launch y_target (selected unit) as a positive number and expecting a required speed.
Fix: Set y_target to 0 (same height) or negative (below). A horizontal launch cannot go up without an initial upward vertical speed.
Mistake: Setting a target that is below the landing level implied by Launch height above landing level (selected unit) , then seeing N/A.
Fix: Check the reference: h0 is measured up from the landing level, but y_target is measured from the launch point. If the target is the landing point, use y_target = -h0.
Mistake: Setting Initial horizontal speed v_x (selected unit per second) to 0 and expecting a usable Trajectory equation coefficient k (1/selected unit) or an impact angle.
Fix: With v_x = 0 the object drops straight down: range is 0, k is undefined (division by v_x^2), and the angle below horizontal is not defined. Use time and vertical speed outputs instead.
Limitations & Key Assumptions / Boundary Conditions
No air resistance (drag) and no wind: The model assumes the only acceleration is gravity, so the horizontal speed does not slow down. In real life, drag usually reduces horizontal distance and can change the impact angle.
Constant gravity: Gravity g is treated as constant during the whole flight. This is a good approximation for normal classroom distances and heights, but not for very large altitude changes.
Horizontal launch only: Initial vertical speed is assumed to be exactly 0. If you throw upward or downward at launch, time, range, and impact results can differ a lot.
Height reference must be consistent: The input h0 defines a specific landing level (y = 0). In Target point mode, the target height relative to the landing level is (h0 + y_target). If (h0 + y_target) is negative, the target is below the landing level, so the projectile would hit the landing level first and the required speed is shown as N/A.
Angle and k can be undefined: If v_x is 0, the impact angle below horizontal is not defined and k = g/(2*v_x^2) is not defined due to division by zero. The calculator should show N/A with an explanation.
Signed direction: If you enter a negative v_x, the horizontal distance is negative (meaning left). The magnitude is still the distance traveled.
Methodology
Model: We split the motion into horizontal and vertical parts. Horizontally, there is no acceleration so the horizontal speed v_x stays constant. Vertically, gravity provides a constant downward acceleration g. This is the standard intro-physics projectile model when air resistance is ignored. [1]
Coordinate choice: Let the landing level be y = 0 and upward be positive. The object starts at y = h0 with initial vertical speed 0.
t (seconds) = sqrt(2*h0/g) [basic mode, landing at y=0]
x (selected unit) = v_x * t
v_y (selected unit per second) = -g * t
|v| (selected unit per second) = sqrt(v_x^2 + v_y^2)
φ (impact angle below horizontal, degrees) = atan(|v_y|/|v_x|) * 180/pi
k (1/selected unit) = g/(2*v_x^2) so y(x) = h0 - k*x^2
Target point mode (solve for required horizontal speed): You enter x_target (horizontal distance) and y_target (target height relative to launch). The target height relative to the landing level is h0 + y_target. If y_target is positive, the target is above the launch and cannot be reached with a purely horizontal launch (initial vertical speed is 0). If h0 + y_target is negative, the projectile would reach y = 0 before it could reach that lower target, so we show N/A. [2]
t_target (seconds) = sqrt(2*(h0 + y_target)/g)
v_x_required (selected unit per second) = x_target / t_target
Worked mini-example (SI): Suppose h0 = 10 m, v_x = 5 m/s, and g = 9.80665 m/s^2.
t = sqrt(2*10/9.80665) = 1.4281 s
x = 5 * 1.4281 = 7.1404 m
v_y = -9.80665 * 1.4281 = -14.0089 m/s
|v| = sqrt(5^2 + 14.0089^2) = 14.8748 m/s
φ = atan(14.0089/5)*180/pi = 70.35 deg