Inclined plane calculator
A 10 kg block on a 30-degree slope with a friction coefficient of 0.2 accelerates downhill at just over 3 m/s² and presses on the surface with about 85 N. Enter angle, mass and friction to get every force on the block. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Angle
- 30
- Mass
- 10
- Kinetic friction coefficient μ
- 0.2
- G
- 9.80665
- Angle rad
- 0.5235987756
- Sin theta
- 0.5
- Cos theta
- 0.8660254038
An inclined plane is one of the classic free-body setups in introductory mechanics: a block of mass m rests or slides on a fixed slope at angle θ to the horizontal, with kinetic friction coefficient μ between the surfaces. Gravity pulls straight down with magnitude mg; the plane supplies a normal force perpendicular to its face, and kinetic friction opposes sliding along the face. Resolving weight into components parallel and perpendicular to the slope yields closed-form results used in every homework set and many engineering first-pass checks: the normal force is N equals m g cos θ, and the acceleration down the plane under kinetic friction is a equals g times the quantity sin θ minus μ cos θ. This calculator accepts angle in degrees, mass, friction coefficient, and an optional gravity magnitude, returns acceleration, normal force, weight components, friction force, and net force along the plane, and rejects angles greater than ninety degrees so an invalid slope never becomes a silent NaN.
How acceleration and normal force are derived on an incline
Start with a fixed rigid plane inclined at angle theta relative to the horizontal and a block of mass m under uniform gravity of magnitude g. Draw the free-body diagram: weight mg straight down, normal force N perpendicular to the plane, and kinetic friction f equals mu times N directed opposite the intended sliding direction down the slope.
Resolve weight into a component parallel to the plane equal to mg sin theta pointing down the slope, and a component perpendicular to the plane equal to mg cos theta pressing into the surface. With no other forces normal to the plane, Newton’s second law in the perpendicular direction gives N equals mg cos theta. Along the plane the net force is mg sin theta minus mu N, which simplifies to mg times the quantity sin theta minus mu cos theta.
Dividing by mass cancels m and produces the acceleration a equals g times sin theta minus mu cos theta, independent of mass when mu and g are fixed. Positive a means the kinetic-friction model accelerates the block down the plane; zero a is the special balance where tan theta equals mu; negative a means friction would overcome the parallel component if the block were already sliding that way under the kinetic model. Angle must not exceed ninety degrees; mass must be positive; mu must be non-negative; g must be positive.
NaN and Infinity are rejected with invalid input so clients can fix units and types rather than guessing.
Where inclined plane calculators show up in real work
Secondary-school and introductory university physics courses assign free-body diagrams on ramps, compare frictionless versus frictional slopes, and require signed acceleration before kinematics along the plane; a single trusted oracle speeds grading and demo setup. Mechanical design and manufacturing staff convert package mass, conveyor incline, and estimated kinetic coefficients into first-pass acceleration and normal-load checks before multi-body simulation. Civil and materials labs estimate sliding acceleration on chutes and ramps from measured angles and dry-friction tables.
Robotics and warehouse automation teams sanity-check whether a pallet will accelerate down a dock ramp given mu from tire or pad data. If you later need static friction stick-or-slip thresholds as a dedicated mode, rolling without slipping, Atwood machines with one mass on a ramp, work done along a ramp path, or projectile motion after leaving a ramp, treat those as separate search intents and landings rather than overloading this inclined plane calculator page.
What you can do with it
Homework and lab answer keys
Compute a = g(sinθ − μ cosθ) and N = mg cosθ from angle, mass, and friction so students and auto-graders share one closed-form ground truth.
Conveyor and chute first-pass checks
Convert package mass, incline angle, and estimated μ into acceleration and normal load before multi-body simulation.
Dock ramp and warehouse safety
Estimate whether a pallet accelerates down a ramp given measured angle and kinetic friction from pad or tire data.
FAQ
What formulas does this inclined plane calculator use?
Acceleration down the plane a = g (sin θ − μ cos θ) and normal force N = m g cos θ, with kinetic friction f = μ N opposing downslope sliding. Angle is converted from degrees to radians for sine and cosine.
What happens if the angle is greater than 90 degrees?
An incline angle above 90° is not a valid slope relative to the horizontal for this model.
Does acceleration depend on mass?
In this kinetic-friction model, acceleration a = g(sin θ − μ cos θ) is independent of mass. Mass still appears in forces: weight, normal force, friction force, and net force scale with m.
What does a negative acceleration mean?
Under the kinetic-friction formula, negative a means the friction term exceeds the parallel weight component, so the signed acceleration along the downslope axis points up the plane. Static stick-or-slip checks may use tan θ versus μ separately.
What does it cost?
The browser tool is free and runs locally.
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/mech/inclined-plane \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle":30,"mass":10,"friction":0.2}'const res = await fetch("https://api.kit.forhosting.com/mech/inclined-plane", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle": 30,
"mass": 10,
"friction": 0.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/inclined-plane",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle": 30,
"mass": 10,
"friction": 0.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/inclined-plane", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle":30,"mass":10,"friction":0.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle":30,"mass":10,"friction":0.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/inclined-plane", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"angle": 30,
"mass": 10,
"friction": 0.2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.inclined_plane",
"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
How acceleration and normal force are derived on an incline
The entire pipeline is deterministic: no random seeds, no wall-clock timestamps, no network calls, and no model drift, so identical inputs always produce identical JSON.
What you send and what you get back
Send three required finite numbers under the fields angle, mass, and friction, plus an optional g. Angle is the incline in degrees and must not exceed ninety; mass is the block mass in kilograms or consistent mass units and must be positive; friction is the dimensionless kinetic coefficient mu and must be non-negative; g defaults to standard gravity nine point eight zero six six five metres per second squared when omitted and must be positive when provided. Classic textbook checks include thirty degrees, ten kilograms, and mu equals zero point two with standard g for a clear positive downslope acceleration and a normal force near eighty-five newtons; a frictionless horizontal surface at zero degrees for zero acceleration and normal force equal to weight; and the critical balance where tan theta equals mu for near-zero acceleration. Missing fields, non-numeric strings, NaN, Infinity, angles greater than ninety, non-positive mass, negative mu, and non-positive g fail with invalid_input and are not charged. On success the response echoes cleaned angle, mass, friction, and g; provides angle_rad, sin_theta, and cos_theta; returns weight, weight_parallel, and weight_perpendicular; returns normal_force, friction_force, and net_force along the plane; returns acceleration as the primary result in length per time squared when g is in those units; sets acceleration_direction to down_the_plane, up_the_plane, or equilibrium; and includes a units hint object, method set to inclined_plane_kinetic_friction, and the short formula string a equals g open parenthesis sin theta minus mu cos theta close parenthesis semicolon N equals m g cos theta. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where inclined plane calculators show up in real work
Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.