Crawl ratio calculator
A 4.46 first gear, a 2.72 low range and 4.10 axles multiply to a crawl ratio of about 49.74, close to 50:1. Enter the three ratios to compare a stock trail rig with a dedicated rock crawler. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- First gear ratio
- 4.46
- Transfer case low ratio
- 2.72
- Axle ratio
- 4.1
- Crawl ratio
- 49.73792
Crawl ratio is the overall reduction between the engine and the wheels when a vehicle is in first gear and the transfer case is locked in low range. Off-road builders, Jeep and truck owners, and rock-crawling shops use that single dimensionless number to judge how slowly a rig can idle over a ledge, how much torque multiplies at the axle, and whether a planned gearing swap will feel tame or tractor-slow. This calculator multiplies first-gear ratio, transfer-case low ratio, and axle (final-drive) ratio and returns the crawl ratio as a finite number.
What crawl ratio means and why the three-factor product is the number people search
Crawl ratio is the overall gear reduction from the engine crankshaft to the driven wheels when the transmission is in first gear and the transfer case is in low range. Off-road builders treat that single dimensionless number as a proxy for how slowly a vehicle can idle over a boulder, how much torque multiplies at the axle flanges, and how much clutch or stall-speed work the driver must do on a steep ledge. The conventional formula is first-gear ratio multiplied by transfer-case low-range ratio multiplied by axle (final-drive) ratio.
A stock short-wheelbase Jeep with a 4.46 first gear, a 2.72:1 transfer case, and 4.10 axles lands near 50:1, which many trail riders consider a comfortable street-and-trail compromise. A purpose-built rock crawler with a 5.38 first gear, a 4:1 aftermarket low range, and 5.13 gears can exceed 100:1 and crawl at a walking pace with the engine barely above idle. Searchers look for crawl ratio calculator, 4x4 crawl ratio, Jeep crawl ratio, and first gear times transfer case times axle, not a generic gear-teeth tool that counts pinions.
Tire diameter, overdrive, and high-range transfer ratios are out of scope; they change wheel speed and effective gearing but are not part of the classical three-factor crawl-ratio definition this calculator implements. Keep the three factors as published ratios (4.46, not 4.46:1 as a string) and you get a reproducible dimensionless product you can pin in a build sheet.
What you can do with it
Jeep and 4x4 build sheets
Multiply a planned first gear, transfer-case low kit, and axle ratio to lock a crawl-ratio target before ordering gears.
Trail versus crawler comparisons
Compare a stock ~50:1 street-and-trail stack against a 4:1 low-range rock-crawler build without a spreadsheet formula.
FAQ
How is crawl ratio calculated?
Crawl ratio is first-gear ratio × transfer-case low-range ratio × axle (final-drive) ratio.
Why must every ratio be positive?
A zero or negative first gear, transfer-case low, or axle is not a physical crawl stack.
What crawl ratio is typical for rock crawling?
Trail-oriented rigs often land near 30:1 to 50:1. Dedicated rock crawlers commonly target 60:1 and higher (often past 100:1) so the vehicle can idle over obstacles. This tool reports the number; it does not grade a build.
Does this calculator include tire size?
No. Classical crawl ratio is the three-factor gear product only. Tire diameter changes wheel speed and effective gearing; fold it into your own worksheet if you need that extra step.
Should I type 2.72:1 or just 2.72?
Just the number, 2.72. Each factor is a plain dimensionless ratio, and the crawl ratio is the product of first gear, transfer-case low range and axle ratio, so you get a reproducible figure for your build sheet.
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/crawl-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"first_gear_ratio":4.46,"transfer_case_low_ratio":2.72,"axle_ratio":4.1}'const res = await fetch("https://api.kit.forhosting.com/phys/crawl-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"first_gear_ratio": 4.46,
"transfer_case_low_ratio": 2.72,
"axle_ratio": 4.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/crawl-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"first_gear_ratio": 4.46,
"transfer_case_low_ratio": 2.72,
"axle_ratio": 4.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/crawl-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"first_gear_ratio":4.46,"transfer_case_low_ratio":2.72,"axle_ratio":4.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"first_gear_ratio":4.46,"transfer_case_low_ratio":2.72,"axle_ratio":4.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/crawl-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"first_gear_ratio": 4.46,
"transfer_case_low_ratio": 2.72,
"axle_ratio": 4.1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.crawl_ratio",
"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
Every input must be a strictly positive finite value; zero, negative, missing, or non-numeric ratios fail with invalid_input and are not billed.
What crawl ratio means and why the three-factor product is the number people search
This capability answers that intent with a structured JSON result: the three input ratios echoed back, the product as crawl_ratio, and a formula string you can show next to the number.
Input contract, validation, and the exact product this calculator returns
Zero and negative ratios are rejected with a clear message that crawl-ratio factors cannot be zero or negative: a reverse-signed or zero stack is not a physical crawl reduction, and returning a zero or negative product as success would invite a downstream client to treat a broken gearing list as a valid 0:1 crawl. There is no tire-size correction, no dual-range transfer table, and no unit conversion because the three ratios are already dimensionless. POST a JSON body with three required strictly positive finite numbers: first_gear_ratio (aliases first_gear, gear_ratio, transmission_ratio), transfer_case_low_ratio (aliases transfer_low, tcase_low, low_range, transfer_case), and axle_ratio (aliases axle, final_drive, differential_ratio). Each field may arrive as a JSON number or as a numeric string that parses to a finite value, which lets forms and CSV-style pipelines skip an extra cast. Missing fields, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input naming the field, and failed validation is not charged. Magnitude is capped so a typo with a trillion-to-one axle cannot overflow the isolate; if the product is not finite or exceeds that cap the task fails with invalid_input rather than emitting Infinity.
How to read the result, where the API earns its keep, and what it costs
Trail-oriented daily drivers often sit in the 30:1 to 50:1 band; dedicated rock crawlers commonly target 60:1 to well above 100:1 so the vehicle can idle over ledges without riding the clutch. Use the browser tool when you are comparing a first-gear swap, a 4:1 transfer-case kit, or a 4.10 versus 5.13 axle change and want an immediate product. Read crawl_ratio as the conventional X:1 figure without writing the colon: 49.74 is a 49.74:1 crawl. Pair this number with tire diameter in your own worksheet if you also care about wheel revolutions per engine revolution after a taller tire; this endpoint does not mix length into a dimensionless ratio. Each successful request is one billable item at $0.002; failed validation does not consume balance. Results are fully deterministic: the same three positive ratios always yield the same crawl_ratio and the same formula string, which makes the capability safe to pin in continuous-integration checks and reproducible build documents.
Integration use cases
Shop configurators and parts catalogs
Return a stable crawl_ratio JSON field for every transmission, t-case, and axle combination a customer can pick.
Technical questions
What does the crawl ratio calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.