Axle Weight Distribution Calculator
This axle weight distribution calculator converts a vehicle's total weight and longitudinal center-of-gravity position into front and rear axle loads.
Run — free
Enter the wheelbase and the distance from the front axle to the center of gravity using any consistent length unit. The result reports each axle weight in the same unit as the total weight, plus the percentage carried at each end. It is useful for preliminary vehicle setup, loading comparisons, trailer-free road vehicles, and engineering checks based on level, stationary conditions.
Measure the three inputs on a consistent basis
Start with the vehicle's total weight in the condition you want to evaluate, not an unrelated catalog curb figure. Fuel, occupants, cargo, accessories, and removable equipment can all move both the total and the center of gravity. Measure the wheelbase between the centers of the front and rear axles. Then measure the horizontal center-of-gravity position rearward from the front axle along the same reference line. The two length values may be in millimeters, inches, feet, or metres, provided they use the same unit. Total weight may be expressed in kilograms-force, pounds-force, newtons, or another consistent weight unit; both axle results retain that unit. The center-of-gravity distance must fall between zero and the wheelbase. A position outside those limits describes a load whose resultant lies beyond the axle pair and is not supported by this two-axle calculator. For a measured vehicle, obtain total weight and axle loads from suitable scales whenever safety or legal compliance depends on the answer. This calculator is best used for transparent planning and cross-checking rather than as a substitute for certified weighing equipment.
Understand the static-equilibrium calculation
The calculation treats the vehicle as a rigid body resting on two supports: the front axle and the rear axle. Vertical force equilibrium requires the two axle reactions to add to the total vehicle weight. Moment equilibrium supplies the split. Taking moments about the front axle makes the rear axle weight equal to total weight multiplied by the center-of-gravity distance from the front axle, divided by the wheelbase. The front axle carries the remainder, which is equivalently total weight multiplied by the distance from the center of gravity to the rear axle, divided by the wheelbase. Percentages are the corresponding fractions multiplied by one hundred. A center of gravity exactly halfway along the wheelbase therefore produces a fifty-fifty distribution, while moving it rearward increases rear load by the same amount that front load decreases. Results are rounded to six decimal places for stable output. The model assumes level ground, no acceleration, and a single effective front and rear axle location. It does not calculate individual wheel loads, left-right imbalance, suspension geometry effects, aerodynamic downforce, hitch forces, or transient load transfer under braking, acceleration, cornering, or road slope.
Apply the result without overstating its precision
Use the computed axle weights to compare proposed loading arrangements, explore how relocating a component changes balance, or check whether an independently measured axle split is internally consistent with a known center-of-gravity position. For example, moving a battery or cargo rearward changes the combined vehicle center of gravity; calculate that new combined position first, then enter it here. Compare the returned axle weights with every applicable rating, including gross axle weight ratings, tire and wheel limits, suspension limits, and the permitted gross vehicle weight. Leave practical margin for measurement uncertainty and changing consumables. Static distribution alone cannot establish that a vehicle is safe, roadworthy, or legal. Dynamic forces can make the instantaneous axle load substantially different from the stationary result, and uneven loading can overload one tire even when the axle total appears acceptable. Multi-axle groups, trailers, drawbar loads, overhang payloads, and vehicles with lifting axles require a force-and-moment model that includes each support and applied load. When the decision affects public-road compliance or component selection, confirm the fully loaded vehicle on certified individual-axle scales and follow the vehicle manufacturer's limits and local rules. The API costs $0.002 per request when you automate repeated comparisons.
What you can do with it
Plan cargo placement
Compare how a revised longitudinal center of gravity changes the load carried by each axle before arranging cargo.
Check a vehicle design estimate
Turn an estimated total weight and center-of-gravity location into preliminary front and rear reaction loads.
Cross-check scale readings
Compare measured axle weights with the distribution predicted from an independently established center-of-gravity position.
FAQ
Which units should I use?
Use the same unit for wheelbase and center-of-gravity distance. The total weight may use any weight unit, and both axle weights are returned in that same unit.
Where is the center-of-gravity distance measured from?
Measure horizontally from the centerline of the front axle toward the rear axle. Zero is at the front axle, and the wheelbase value is at the rear axle.
Does this calculate braking or acceleration load transfer?
No. It calculates stationary distribution on level ground. Dynamic load transfer requires acceleration, center-of-gravity height, and other vehicle data.
Can I use it for a trailer or a vehicle with three axles?
Not directly. The model has exactly two supports and no hitch force. Trailers and multi-axle vehicles need additional reaction points and load locations.
What does the API request cost?
Each API request costs $0.002. The calculator can also run free in the browser.
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/travel/axle-weight-distribution \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_weight":2000,"wheelbase":3,"cg_from_front_axle":1.2}'const res = await fetch("https://api.kit.forhosting.com/travel/axle-weight-distribution", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_weight": 2000,
"wheelbase": 3,
"cg_from_front_axle": 1.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/axle-weight-distribution",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_weight": 2000,
"wheelbase": 3,
"cg_from_front_axle": 1.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/axle-weight-distribution", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_weight":2000,"wheelbase":3,"cg_from_front_axle":1.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_weight":2000,"wheelbase":3,"cg_from_front_axle":1.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/axle-weight-distribution", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"total_weight": 2000,
"wheelbase": 3,
"cg_from_front_axle": 1.2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.axle_weight_distribution",
"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. |