Current divider calculator
A current of 10 A entering 100 Ω in parallel with 300 Ω splits into 7.5 A and 2.5 A, with the larger share through the smaller resistor. Enter the total current and both resistances to get each branch and the parallel value. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Total current
- 10
- R1
- 100
- R2
- 300
- R sum
- 400
- R parallel
- 75
- I1
- 7.5
- I2
- 2.5
A current divider splits a single source current between two resistors that share the same voltage because they sit in parallel. The branch with the smaller resistance carries the larger share of the current, following the inverse-resistance rule derived from Ohm's law and Kirchhoff's current law. This current divider calculator takes the total amperes entering the parallel pair plus the two branch resistances in ohms, then returns the current through each path, the resistance sum, the parallel equivalent, and a sum-check that should match the source current. Classroom labs, LED current budgeting, and sense-resistor design all use the same closed form. Requests with a zero total resistance fail with a clear validation error instead of dividing by zero.
Where current divider calculators show up in real work
Introductory electronics courses assign current-divider drills right after series resistance and before full mesh analysis, so students need a trusted oracle that returns both branch currents with a sum-check they can compare to a multimeter reading in lab. Hobbyists splitting supply current between two LED strings or two heater elements use the inverse-resistance rule to pick stock E-series values without guessing. Firmware and hardware bring-up teams size sense-shunt pairs and load-share resistors so each path stays inside a current limit, then record the predicted split in the design document.
Repair technicians diagnosing a shorted parallel path often ask what share each branch should have carried before the failure, and a closed-form answer is faster than spinning up a full SPICE deck for two resistors. Keep series-only totals, voltage dividers, and n-branch network reduction on separate landings so each search intent has one clear page rather than an overloaded multi-topology tool that confuses both students and search engines.
What you can do with it
Lab homework and multimeter checks
Compute expected branch currents for two parallel resistors so students can compare calculator results with breadboard multimeter readings.
FAQ
What formula does this current divider calculator use?
Each branch current is proportional to the other branch's resistance.
Can one resistance be zero?
Yes, if the other is positive. A zero-ohm branch is an ideal short and carries the entire source current; the other branch carries zero.
Does this handle more than two parallel branches?
No. This landing is the classic two-branch current divider. Multi-branch or mixed series-parallel networks are separate search intents.
What does it cost?
The browser tool is free and runs locally.
Why does the smaller resistor carry more current?
Both resistors sit across the same voltage, and current equals voltage divided by resistance. So each branch carries a share proportional to the other branch's resistance, and the lower-resistance path takes the bigger part.
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/elec/current-divider \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_current":10,"r1":100,"r2":300}'const res = await fetch("https://api.kit.forhosting.com/elec/current-divider", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_current": 10,
"r1": 100,
"r2": 300
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/current-divider",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_current": 10,
"r1": 100,
"r2": 300
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/current-divider", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_current":10,"r1":100,"r2":300}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_current":10,"r1":100,"r2":300}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/current-divider", 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_current": 10,
"r1": 100,
"r2": 300
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.current_divider",
"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 the two-branch current divider works
Kirchhoff's current law at the top node requires I equals I1 plus I2. In words, each branch current is proportional to the other branch's resistance, so the lower-resistance path steals more of the total current. Empty or non-finite fields fail validation. Negative ohms fail because passive resistors cannot contribute negative resistance.
What you send and what you get back
Both resistances must be greater than or equal to zero; a single zero-ohm branch is allowed when the other is positive and means that ideal short carries the entire source current while the open branch carries zero. Missing fields, non-numeric strings, NaN, and Infinity also fail and are not charged. Classic classroom checks include ten amperes into one hundred ohms parallel with three hundred ohms, which should give seven point five amperes through the hundred-ohm branch and two point five through the three-hundred-ohm branch. When both resistances are zero, or their sum is otherwise approximately zero, the request fails with invalid_input and a message that total resistance cannot be zero. Pricing for successful API calls is the published base of $0.002 per item; validation failures do not consume prepaid balance.
Where current divider 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.
Integration use cases
LED and load current budgeting
Split a supply current between two parallel paths by choosing R1 and R2 so each branch stays inside its current limit.
Sense-shunt and fixture regression
Script the same divider formulas used in the browser so CI fixtures assert that programmed load pairs still match the design document.
Technical questions
What happens if total resistance is zero?
The request fails with invalid_input. When R1 + R2 is zero the divider divides by zero and the branch split is undefined.