Maximum height projectile motion
A ball launched at 20 m/s and 45° under a gravity of 9.8 m/s² rises just over 10 m above its launch point. Enter speed, angle and gravity to get the peak height and the time to reach it, without air resistance. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Velocity
- 20
- Angle
- 45
- Gravity
- 9.8
- Angle rad
- 0.7853981634 m
- Vertical velocity
- 14.1421356237
- Maximum height
- 10.2040816327
- Time to apex
- 1.4430750636
The maximum height of projectile motion is the highest point an ideal projectile reaches above its launch level when it leaves with a known launch speed at a known angle under constant gravity. This calculator accepts those three quantities in SI units — velocity in metres per second, launch angle in degrees above the horizontal, and gravitational acceleration in metres per second squared — and returns the peak height in metres from the closed-form identity H equals v squared times sine squared of theta, all over two g. Air resistance is ignored, so the vertical motion is independent of the horizontal motion and the apex occurs when the vertical component of velocity crosses zero.
What maximum height means in projectile motion and how H is formed
In introductory mechanics a projectile is treated as a point mass launched with speed v at an angle theta above the horizontal under constant gravitational acceleration g, with air resistance ignored. The two-dimensional motion separates: the horizontal component of velocity stays constant, while the vertical component starts at v times sine of theta and decreases at rate g. The highest point above the launch level is the instant the vertical velocity crosses zero.
Energy or kinematics both give the same peak height: H equals v squared times sine squared of theta, all over two g. That is identical to taking the vertical launch component, squaring it, and dividing by twice gravity. This maximum height projectile motion calculator evaluates that identity and reports the peak in metres, the SI length unit that matches metres per second and metres per second squared.
It does not integrate a trajectory, does not apply quadratic drag, does not take a launch height above a floor (the reference is the launch point itself), and does not return horizontal range or a sampled parabola. Those are different questions and different search intents. When the vertical component is zero or downward, the projectile never rises above the launch level, so maximum height and time to apex are zero rather than a spurious positive rise from blindly squaring a negative sine.
Typical classroom numbers are tens of metres per second at tens of degrees under Earth gravity near nine point eight; the same formula also serves other planets when you send that planet's g.
Input contract, SI units, and what happens when gravity is non-positive
Velocity must be non-negative: a speed magnitude cannot be negative, and a bad cell is not silently absolute-valued. Zero speed is valid and yields zero height. Angle may be any finite number of degrees, including values outside the first quadrant; the engine converts to radians with pi over one hundred eighty, takes the sine, and applies the vertical-component rule.
Gravity must be strictly positive. Zero gravity and negative gravity are rejected because dividing by two g would be undefined or would reverse the meaning of an apex under a downward acceleration: a non-positive g is invalid for projectile maximum height and fails with a message that names gravity. Keep units SI: do not send kilometres per hour or feet per second and expect a silent conversion.
Extremely large speeds that overflow to Infinity are rejected rather than returned as a non-finite height. The arithmetic is a handful of multiplies and one sine; there is no table lookup and no network.
Where a maximum-height projectile calculator earns its keep, and what it costs
Classrooms and tutoring platforms use a maximum height projectile motion calculator so learners can check how high a ball, water rocket, or contest launch will rise without dropping a degree-versus-radian conversion or writing g equals ten by habit when the problem stated nine point eight. Exam generators and LMS plugins need a deterministic oracle that rejects a non-positive gravity instead of silently returning Infinity or NaN that a buggy grader might treat as success.
Sports and hobby contexts use the ideal formula as a first-order check: a backyard toss, a simple model-rocket altitude estimate under constant g, or a lab spring launcher whose muzzle speed is known. Failed validation does not consume balance. Pin the returned metre value in tests, keep requests small, and you get reproducible apex heights for homework, explainers, and edge workers without standing up a numerical integrator of your own.
What you can do with it
Homework and lab apex checks
Compute ideal peak height from launch speed, angle in degrees, and g before graphing trajectories or grading projectile-motion worksheets.
Tutoring and teaching software
Normalize user-entered velocity and angle into peak height in metres for interactive lessons, with a clear error when gravity is zero or negative.
FAQ
How do I calculate the maximum height of projectile motion?
Send finite numbers velocity (m/s, non-negative), angle (degrees above the horizontal), and gravity (m/s², strictly positive).
What happens if gravity is zero or negative?
Projectile maximum height requires a finite positive g; non-positive gravity is rejected and is not billed.
Is the launch angle in degrees or radians?
Degrees. The engine converts to radians internally with π/180. Send 45 for a forty-five degree launch, not π/4, unless that radian value happens to be the number of degrees you intend.
What if the launch angle is zero or points downward?
Then the projectile never rises above the launch level, so the peak height and the time to the top are both zero. The calculator does not invent a positive rise by squaring a negative sine.
Does it account for air resistance or a launch height above the ground?
No. Drag is ignored and heights are measured from the launch point itself. It also does not give horizontal range or the full trajectory, only the highest point and the time to reach it.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/phys/maximum-height-projectile-motion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"velocity":20,"angle":45,"gravity":9.8}'const res = await fetch("https://api.kit.forhosting.com/phys/maximum-height-projectile-motion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"velocity": 20,
"angle": 45,
"gravity": 9.8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/maximum-height-projectile-motion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"velocity": 20,
"angle": 45,
"gravity": 9.8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/maximum-height-projectile-motion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"velocity":20,"angle":45,"gravity":9.8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"velocity":20,"angle":45,"gravity":9.8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/maximum-height-projectile-motion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"velocity": 20,
"angle": 45,
"gravity": 9.8
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.maximum_height_projectile_motion",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
A non-positive gravity is unphysical for this identity and is rejected as invalid_input rather than a hollow zero. Successful API calls cost $0.002; failed validation is not billed.
What maximum height means in projectile motion and how H is formed
There is no numerical ODE and no Monte Carlo sampling of paths: the engine either evaluates the closed form or rejects the input with invalid_input.
Input contract, SI units, and what happens when gravity is non-positive
POST a JSON body with three required finite numbers: velocity, the launch speed in metres per second; angle, the elevation above the horizontal in degrees; and gravity, the gravitational acceleration in metres per second squared. Each field may arrive as a JSON number or as a numeric string. Aliases v0, v, initial_velocity, and speed for velocity, theta and launch_angle for angle, and g for gravity, are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Missing velocity, angle, or gravity, an empty string, NaN, plus or minus Infinity, and any non-numeric token fail with invalid_input naming the field and are not billed. On success the body echoes velocity, angle, and gravity; reports angle_rad; reports vertical_velocity; returns maximum_height in metres as the primary figure; reports time_to_apex in seconds; and includes unit equal to m, formula, and method equal to ideal_projectile_maximum_height so clients can branch without sniffing shapes.
Where a maximum-height projectile calculator earns its keep, and what it costs
Use the on-page tool for a single launch at the desk; use the API when a grader, CMS plugin, or data pipeline needs the same contract under KIT balance. Do not send a drag-inclusive trajectory or a launch from a cliff and expect this endpoint to integrate it; this capability is the peak height above the launch point for ideal projectile motion only.
Integration use cases
Deterministic test fixtures
Generate reproducible maximum_height and time_to_apex values for unit tests, game-physics demos, and CI assertions that must not invent floating-point steps by hand.
Technical questions
What if the launch angle is zero or downward?
If the vertical component of velocity is zero or negative, the projectile never rises above the launch level, so maximum_height and time_to_apex are zero.
What does the maximum height projectile motion calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.