Displacement calculator
A body starting at 10 m/s and speeding up at 2 m/s² for 5 seconds ends 75 metres from where it began. Enter the initial velocity, the elapsed time and the constant acceleration to get the signed displacement. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Initial velocity
- 10
- Time
- 5
- Acceleration
- 2
- Displacement
- 75
Displacement under constant acceleration is the signed change in position of a body that starts at a known velocity, continues for a known elapsed time, and feels a constant acceleration along the line of motion. Students, tutors, game developers, and engineers reach for the SUVAT identity s equals u t plus one half a t squared whenever acceleration does not change during the interval of interest.
What displacement means and which quantities determine the answer
In one-dimensional kinematics under constant acceleration, displacement is the signed change in position of a particle relative to where it started, not the scalar path length a speedometer would accumulate along a possibly reversing trajectory. When you already know the initial velocity u along a chosen axis, the constant acceleration a along that same axis, and the elapsed time t since the clock started, the displacement s from the starting point is completely determined: s equals u times t plus one half times a times t squared.
That identity is the workhorse of problem sets that ask how far a vehicle travels while speeding up, how far a projectile moves along a chosen axis during a known flight interval, or how much travel a robot joint covers while ramping velocity under a constant drive. Search intent clusters around phrases such as displacement calculator, kinematics displacement from velocity and time, s equals u t plus half a t squared, and constant acceleration displacement.
People want a numeric signed displacement they can check against a worksheet, embed in a simulation, or feed into a larger pipeline—not only a reminder that the formula exists. Units stay consistent with whatever length and time basis you chose for the three inputs: metres per second with metres per second squared and seconds yield metres of displacement. Distance and displacement are not interchangeable in physics: a round trip can have large travelled distance and zero net displacement, and this calculator returns only the signed SUVAT displacement.
Practical use, coherent units, pricing, and delivery channels
Use the browser displacement calculator when you want an immediate signed change in position while checking homework, verifying a lab timing run, sanity-checking a game physics constant, or sketching how far a body moves under constant thrust for a short interval. Choose units consistently—if u is in kilometres per hour and t is in seconds, convert first so a and s share the same length and time basis.
There is no language model, no external physics service, and no randomness, so the capability is safe to pin in continuous-integration checks and reproducible lesson materials. Pair this tool with a final-velocity identity when you also need v equals u plus a t, or keep it standalone when the only unknown is how far the body moved along the chosen axis. Authors shipping SDKs can map the three input fields directly into form widgets, matching the SUVAT rearrangement students already write by hand on paper and in lab notebooks.
What you can do with it
Game, sim, and motion sanity checks
Quick structured numbers for straight-line moves under constant acceleration without standing up a full dynamics stack.
FAQ
Which formula does the displacement calculator use?
Variable acceleration and multi-axis paths are not modeled.
Why is negative time rejected?
Elapsed time cannot run backwards under this product contract. Time equal to zero is allowed and yields zero displacement.
Is the displacement calculator free?
The browser tool runs free on your device.
Can initial velocity or acceleration be negative?
Only elapsed time is required to be non-negative.
Is displacement the same as the distance travelled?
No. Displacement is the signed change from the starting point, so a round trip can cover a long distance and still end at zero. This calculator returns only that net, signed change in position.
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/displacement \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"initial_velocity":10,"time":5,"acceleration":2}'const res = await fetch("https://api.kit.forhosting.com/phys/displacement", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"initial_velocity": 10,
"time": 5,
"acceleration": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/displacement",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"initial_velocity": 10,
"time": 5,
"acceleration": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/displacement", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"initial_velocity":10,"time":5,"acceleration":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"initial_velocity":10,"time":5,"acceleration":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/displacement", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"initial_velocity": 10,
"time": 5,
"acceleration": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.displacement",
"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
This displacement calculator accepts finite initial velocity, elapsed time, and constant acceleration, rejects a negative time because elapsed time cannot run backwards under this product contract, and returns the signed displacement as structured JSON.
What displacement means and which quantities determine the answer
Delivering initial_velocity, acceleration, time, displacement, formula, and method as JSON makes the result easy to paste into notes, diff in automated tests, or reuse across languages without reimplementing the arithmetic.
How this calculator validates input and applies s = u t + 0.5 a t²
Numeric strings that parse to finite numbers are accepted so forms and CSV-style pipelines can pass values without an extra cast. Time equal to zero is allowed and yields zero displacement, which is the correct rest-at-the-origin result for a vanishing interval. Signed initial velocity and signed acceleration are allowed: negative values simply reverse the sense of the motion axis and produce the corresponding signed displacement. There is no air resistance, no variable acceleration profile, and no multi-axis composition; this is the ideal one-dimensional constant-acceleration displacement from the three known SUVAT inputs. Send a JSON body with required initial_velocity, time, and acceleration. Every field must be present and finite: missing keys, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input before any displacement is returned, and failed validation is not charged. Elapsed time must not be negative: a clock that runs backwards is outside this product contract, so a negative time value is rejected with invalid_input rather than plugged into the algebraic identity as a formal parameter. After validation, displacement is computed as initial_velocity times time plus one half times acceleration times time squared. Results are rounded to a stable decimal precision so the same input always yields the same JSON across JavaScript engines.
Practical use, coherent units, pricing, and delivery channels
Each successful request is one billable item at $0.002; failed validation, including a negative elapsed time, does not consume balance. Results are fully deterministic: the same initial_velocity, time, and acceleration always yield the same displacement field. Wire the endpoint into kinematics drills, contest answer checkers, motion worksheets, or preprocessing steps where you already prefer explicit domain errors—such as rejecting a negative time—over opaque black-box widgets that cannot explain why a bad input was refused.
Integration use cases
Homework and lab kinematics drills
Students and graders confirm signed displacement for given u, t, and a triples, with a clear invalid_input rejection when elapsed time is negative or any field is missing or non-numeric.
Deterministic fixtures for physics tests
Pipelines that seed unit tests or interactive motion demos can call a pure displacement oracle instead of reimplementing s=ut+0.5at² in every language.
Technical questions
How do I compute displacement with this API?
Send a JSON body with initial_velocity, time, and acceleration to phys.displacement. The response returns displacement plus the validated inputs, formula, and method.