Pendulum speed at the bottom calculator
This pendulum speed at the bottom calculator finds how fast an ideal pendulum is moving when it reaches its lowest point.
Run — free
Enter the vertical release height above that point, optionally set gravitational acceleration, and receive the speed in meters per second. The calculation uses conservation of mechanical energy, converting the loss of gravitational potential energy into kinetic energy. It is intended for idealized motion without air resistance, pivot friction, or energy losses in a flexible string.
Measure release height from the correct reference
The required height is the vertical distance between the bob's release position and the lowest point of its path. It is not the pendulum length, the horizontal displacement, or the distance traveled along the circular arc. Imagine a horizontal line through the release position and another through the center of the bob when the string hangs straight down; the separation between those lines is the release height. Enter that value in meters. If an exercise gives pendulum length L and release angle theta measured from the downward vertical, first calculate h = L(1 - cos(theta)). Then use that height here. A release at the lowest point has zero height and correctly produces zero speed. A negative height has no physical meaning under this reference convention, so the calculator returns an input error rather than silently changing the sign. Accurate reference geometry matters because speed depends on the square root of height, and confusing arc length with vertical drop can produce a plausible-looking but incorrect answer.
Understand the energy-conservation calculation
For an ideal pendulum released from rest, the bob begins with gravitational potential energy mgh relative to the bottom and no kinetic energy. At the lowest point, that potential-energy difference has become kinetic energy, written as one half of mv squared. Setting mgh equal to one half of mv squared cancels the mass and gives v = sqrt(2gh). This is why the bob's mass is not an input: in the ideal model, a heavier bob has more potential energy but requires proportionally more kinetic energy to reach the same speed. The calculation assumes the release speed is zero and gravity is effectively constant over the motion. Standard Earth gravity is used by default, while the optional gravity field supports classroom approximations or other celestial bodies. Gravity must be positive. Results are returned in meters per second, and the deterministic calculation rounds only the reported speed to a stable precision after evaluating the formula.
Know when the ideal result is appropriate
Use this result as the theoretical maximum speed for a pendulum whose pivot is fixed, whose connector stays taut, and whose losses are negligible. Real apparatus usually reaches a slightly lower speed because air drag, bearing friction, string flex, and sound remove mechanical energy. The formula also treats the bob as a point mass and does not account for rotational kinetic energy in an extended rigid body. For a physical pendulum such as a swinging rod, energy conservation still applies, but its moment of inertia changes the speed relationship. The result is useful for introductory mechanics, laboratory predictions, sanity checks, and estimating the speed immediately before a bob passes through equilibrium. It should not be treated as a safety rating for rides, cranes, impact systems, or other equipment where structural dynamics and losses require an engineering model. If the pendulum receives an initial push, its initial kinetic energy must also be included; release height alone is then insufficient.
What you can do with it
Check a mechanics exercise
Convert a stated vertical drop into the ideal bottom speed and compare it with a hand calculation based on conservation of energy.
Predict a laboratory measurement
Estimate the maximum photogate speed for a pendulum released from rest before comparing theory with measured losses.
Compare gravitational environments
Change gravitational acceleration to compare the bottom speed produced by the same release height on different celestial bodies.
FAQ
What does it cost?
It is free to run in your browser on this page, or $0.002 per API request.
Which height should I enter?
Enter the vertical height of the release position above the bob's lowest position, in meters. Do not enter arc length or horizontal displacement.
Why is mass not required?
Mass cancels when gravitational potential energy mgh is equated with kinetic energy one half of mv squared, so ideal bottom speed is independent of mass.
Can the release height be zero?
Yes. Zero height means the bob is released at the lowest point, so a release from rest produces zero speed. Negative height is rejected.
Does the calculation include friction or air resistance?
No. It assumes conservation of mechanical energy, so real measured speed may be lower when drag, pivot friction, or deformation dissipates energy.
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/mech/pendulum-speed-bottom \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"height":1.25}'const res = await fetch("https://api.kit.forhosting.com/mech/pendulum-speed-bottom", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"height": 1.25
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/pendulum-speed-bottom",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"height": 1.25
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/pendulum-speed-bottom", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"height":1.25}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"height":1.25}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/pendulum-speed-bottom", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"height": 1.25
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.pendulum_speed_bottom",
"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. |