Projectile Motion Calculator

Range, max height, flight time and impact speed with a trajectory plot.

About this tool

Enter the launch speed in metres per second, the launch angle and the launch height, and choose a gravity. The calculator shows range, maximum height, time of flight, impact speed and impact angle, plus the horizontal and vertical components of the velocity, and draws the trajectory to scale.

How projectile motion is calculated

Ignoring air resistance, a projectile's motion splits into two independent parts. Horizontally there's no force, so the horizontal speed v cos θ stays constant. Vertically gravity accelerates the projectile downward at g, slowing it to a stop at the peak and pulling it back down. The time of flight is (v sin θ + √((v sin θ)² + 2gh)) ÷ g, the range is v cos θ × time, and the maximum height is h + (v sin θ)² ÷ 2g. A ball launched from the ground at 20 m/s and 45° stays in the air for 2.88 s, peaks at 10.2 m and lands 40.8 m away. From ground level, 45° gives the maximum range, and complementary angles such as 30° and 60° land at the same distance, 35.3 m here, though the higher one takes longer. Launched from a height, the best angle is slightly below 45°. On the Moon, with one sixth of Earth's gravity, the same throw goes six times as far. Honest limits: real projectiles feel air resistance, spin and wind, which can shorten range dramatically for light or fast objects such as balls and arrows. The SUVAT calculator solves the underlying equations of motion and the weight on other planets calculator compares gravities.

Frequently asked questions

What angle gives the maximum range?

45° when launching and landing at the same height, ignoring air resistance. From a height, slightly less.

How do you calculate time of flight?

From ground level it is 2v sin θ ÷ g; from a height h, (v sin θ + √((v sin θ)² + 2gh)) ÷ g.

Does air resistance matter?

Yes, often a lot. This calculator ignores it, so real ranges are shorter, especially for light objects.

Is my data saved?

No. The calculation runs in your browser and nothing is stored or sent.