Belt and pulley speed calculator
This belt and pulley speed calculator finds the rotational speed of a driven pulley from the driver pulley speed and the pitch diameters of both pulleys.
Run — free
Enter the driver speed in revolutions per minute, then provide both diameters in the same length unit. The result reports the driven speed in rpm and the diameter-based speed ratio. It is useful for checking workshop designs, selecting pulley sizes, documenting maintenance changes, and confirming whether belt-driven equipment will operate near its intended speed.
Enter the three values that define the belt drive
Start with the rotational speed of the driver pulley, expressed in revolutions per minute. This is commonly the rated shaft speed of an electric motor, engine, gearbox output, or another powered shaft. Next, enter the pitch diameter of the driver pulley and the pitch diameter of the driven pulley. Both diameters must use the same length unit, but that unit can be millimetres, centimetres, inches, or another consistent measure because the calculation uses their ratio. Use pitch diameters when they are available, since they represent the effective belt travel circle more accurately than an outside measurement. The driven diameter must be greater than zero; zero cannot describe a physical pulley and would require division by zero. The other values may be zero, which can legitimately represent a stopped driver or a theoretical zero driver diameter, although practical designs normally use positive dimensions. Before accepting the result, confirm that the entered speed belongs to the driver rather than the driven shaft and that the two diameter fields have not been reversed.
Understand the formula and the reported ratio
For an ideal belt drive with no slip, the belt has the same linear speed at both pulleys. Equating those surface speeds gives the familiar relationship between rotational speed and diameter: the driver speed multiplied by the driver diameter equals the driven speed multiplied by the driven diameter. Rearranging it produces driven speed equals driver speed times driver diameter divided by driven diameter. The calculator also reports speed_ratio, defined as driver diameter divided by driven diameter. A ratio below one means the driven pulley turns more slowly than the driver, while a ratio above one means it turns faster. A ratio of one means equal pulley diameters and equal rotational speeds. For example, a four-unit driver turning at 1,750 rpm with a ten-unit driven pulley has a ratio of 0.4, so the ideal driven speed is 700 rpm. The output retains ordinary JavaScript numeric precision and does not impose arbitrary display rounding, allowing a consuming application to choose the precision appropriate to its measurements.
Apply the result with realistic mechanical allowances
Treat the calculated rpm as an ideal kinematic result, not as a guarantee of measured shaft speed under every operating condition. Real belt systems can experience slip, belt stretch, pulley wear, elastic creep, changing load, and measurement tolerances. V-belts also run at an effective pitch diameter that may differ from a quick measurement across the outside flange. If exact operating speed matters, compare the calculated value with a tachometer reading after the machine reaches its normal load and temperature. The calculator is especially useful during early sizing: increase the driven pulley diameter to reduce output speed, or decrease it to raise output speed, while checking that the selected pulleys remain compatible with belt bend limits, guard clearance, shaft loads, and available centre distance. It can also support maintenance records by showing the expected consequence of replacing either pulley. API automation costs $0.002 per request, while the same deterministic calculation can be used for repeated design checks without relying on a network service or changing data source.
What you can do with it
Size a workshop belt drive
Estimate the output rpm produced by a motor and a proposed pair of pulley diameters before purchasing components.
Check a pulley replacement
Calculate how a replacement driver or driven pulley changes the expected speed of a fan, pump, spindle, or conveyor.
Document maintenance expectations
Record the ideal driven rpm beside measured tachometer readings to help identify slip, wear, or an incorrect installed pulley.
FAQ
What formula does the calculator use?
It uses driven rpm = driver rpm × driver diameter ÷ driven diameter, which follows from equal ideal belt surface speed at both pulleys.
Do both pulley diameters need the same unit?
Yes. They may be entered in inches, millimetres, or another length unit, but both must use the same unit because only their ratio is used.
Why does a zero driven diameter cause an error?
The driven diameter is the divisor in the speed equation. A zero diameter is not physically meaningful and would make the result undefined.
Does the calculation include belt slip?
No. It returns the ideal no-slip speed. Compare it with a tachometer reading or apply a separately established slip allowance when real operating speed is required.
Should I use outside diameter or pitch diameter?
Use pitch diameter when possible because it represents the effective belt travel circle. Outside diameter may produce a less accurate speed estimate.
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/belt-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"driver_speed_rpm":1750,"driver_diameter":4,"driven_diameter":10}'const res = await fetch("https://api.kit.forhosting.com/mech/belt-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"driver_speed_rpm": 1750,
"driver_diameter": 4,
"driven_diameter": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/belt-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"driver_speed_rpm": 1750,
"driver_diameter": 4,
"driven_diameter": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/belt-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"driver_speed_rpm":1750,"driver_diameter":4,"driven_diameter":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"driver_speed_rpm":1750,"driver_diameter":4,"driven_diameter":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/belt-speed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"driver_speed_rpm": 1750,
"driver_diameter": 4,
"driven_diameter": 10
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.belt_speed",
"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. |