Power factor correction kVAR calculator
Find the capacitor bank that lifts your power factor: raising 100 kW from 0.80 to 0.95 takes about 42.13 kvar, and apparent power falls from 125 kVA to about 105.26 kVA. Real power stays the same while transformer capacity is released. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Real power kw
- 100
- Pf initial
- 0.8
- Pf target
- 0.95
- Angle initial deg
- 36.8698976458
- Angle target deg
- 18.1948723388
- Reactive initial kvar
- 75
- Reactive target kvar
- 32.8684105179
Power factor correction is the usual plant-side answer when a facility pays a utility penalty for lagging reactive demand, or when a transformer and feeder are running out of ampacity while real work is still modest. Given three numbers—real power in kilowatts, the existing lagging power factor, and the target power factor—the shunt capacitor bank size is a closed-form identity: capacitor kilovars equal real power times the difference of the tangents of the two displacement angles. This power factor correction kVAR calculator applies that identity, returns the initial and corrected reactive and apparent powers, and rejects power factors outside the open-closed interval from zero to one instead of inventing a bank.
What capacitor kilovars mean on a lagging plant load
A lagging industrial load draws real power P that does useful work and reactive power Q that magnetizes motors and transformers. The power factor is the cosine of the displacement angle between voltage and current, so the existing angle is the inverse cosine of the initial power factor and the desired angle is the inverse cosine of the target. Reactive power is P times the tangent of that angle, which is also the compact identity square root of one over PF squared minus one.
To raise the power factor you must cancel part of Q with a shunt capacitor bank whose kilovars equal the difference of those two reactive powers: Qc equals P times tan of phi initial minus tan of phi target. When the target is unity the second tangent is zero and the whole existing Q must be supplied by capacitors.
Apparent power S equals P divided by the power factor, so the same correction that cuts Q also cuts kVA and line current even though kilowatts stay the same—that is why a plant can free transformer capacity without reducing production. The identity assumes a linear, lagging displacement factor and a capacitor that is purely shunt; it does not size harmonic filters, does not convert leading loads, and does not replace a full short-circuit or resonance study.
Understanding the split between P, Q, and S prevents the common mistake of treating a percent such as eighty as a decimal 0.80, or of dividing kvar by voltage when the problem only asked for the bank rating in kilovars.
Where capacitor sizing pays off
Plant electricians and energy consultants use a power factor correction kVAR calculator to turn a logger snapshot—kilowatts and existing PF—plus a utility or corporate target into a first-cut capacitor schedule before they open a vendor catalog. Motor-control and switchgear desks screen whether a proposed bank will free enough transformer kVA to avoid an upgrade, because apparent power after correction is returned next to the capacitor rating.
University power-engineering labs and online homework platforms need a deterministic oracle that matches the textbook identity Qc equals P times the difference of tangents, including the unity-target case where the entire initial Q is cancelled, so auto-graders never mark a correct 0.70-to-1.00 problem as wrong. Failed validation does not consume balance.
What you can do with it
Industrial capacitor-bank first cut
Turn measured kilowatts and existing lagging PF plus a utility target into shunt capacitor kvar before you open a vendor catalog or schedule a switching study.
Transformer and feeder capacity recovery
Compare initial and target apparent power (kVA) after correction to see how much transformer and feeder ampacity a proposed bank would free without cutting real work.
Power-engineering homework and labs
Check textbook Qc = P(tan φ1 − tan φ2) problems, including the unity-target case, with a deterministic oracle that rejects PF values outside (0, 1].
FAQ
Should I enter power factor as 0.85 or as 85?
Use the decimal form 0.85. Eighty-five percent is 0.85, not 85.
What if the target power factor is lower than the existing one?
Lowering PF would require inductive vars, which is a different device.
Does the result include voltage, current, or harmonic-filter sizing?
No. The identity is purely P and two displacement factors.
How do I calculate the capacitor kvar for power factor correction?
Multiply the real power by the difference between the tangents of the present and target angles, where each angle is the inverse cosine of its power factor. For 100 kW going from 0.80 to 0.95, that is about 42.13 kvar.
Why does correcting the power factor release transformer capacity?
Because apparent power is real power divided by the power factor. The kilowatts stay the same, but kVA and line current fall: in the example, from 125 kVA to about 105.26 kVA.
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/eng/pf-correction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"real_power_kw":100,"pf_initial":0.8,"pf_target":0.95}'const res = await fetch("https://api.kit.forhosting.com/eng/pf-correction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"real_power_kw": 100,
"pf_initial": 0.8,
"pf_target": 0.95
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eng/pf-correction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"real_power_kw": 100,
"pf_initial": 0.8,
"pf_target": 0.95
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eng/pf-correction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"real_power_kw":100,"pf_initial":0.8,"pf_target":0.95}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"real_power_kw":100,"pf_initial":0.8,"pf_target":0.95}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eng/pf-correction", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"real_power_kw": 100,
"pf_initial": 0.8,
"pf_target": 0.95
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eng.pf_correction",
"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
Input contract, response fields, and validation rules
A power factor written as eighty-five instead of 0.85 is rejected because it is greater than one. Example: one hundred kilowatts from 0.80 to 0.95 yields about 42.13 kvar of capacitors, initial Q of 75 kvar, and a drop in apparent power from 125 kVA to about 105.26 kVA. POST a JSON body with three required finite numbers: real_power_kw (aliases p, kw, power, p_kw, real_power, active_power_kw), the positive real power in kilowatts; pf_initial (aliases pf1, initial_pf, existing_pf, pf_old, power_factor_initial), the existing lagging power factor as a decimal in the range above zero through one; and pf_target (aliases pf2, target_pf, desired_pf, pf_new, power_factor_target), the desired lagging power factor in the same range and not smaller than the initial value. Each field may arrive as a JSON number or as a numeric string; missing fields, empty strings, non-finite values, zero, negatives, and magnitudes above one trillion fail with invalid_input naming the field, and those failures are not billed. A target below the initial power factor is rejected because this endpoint sizes shunt capacitors to raise power factor, not shunt reactors to lower it. On success the body echoes the three inputs rounded to twelve decimal places, plus angle_initial_deg and angle_target_deg, reactive_initial_kvar and reactive_target_kvar, capacitor_kvar as Qc, apparent_initial_kva and apparent_target_kva, a formula string restating Qc = P × (tan φ1 − tan φ2) with φ = arccos(PF), method shunt_capacitor_qc_p_tan_phi, and a short human-readable message. Pair the result with your own voltage and switching study if you need amperes or step sizes; this endpoint only converts P and two power factors into the standard correction metrics.
Where a power factor correction API earns its keep
Keep requests tiny, pin the rounded capacitor_kvar and reactive fields in tests, and you get reproducible bank sizes for design memos, LMS plugins, and edge workers without standing up a full harmonic-filter or load-flow package.
Technical questions
How do I calculate capacitor kVAR from real power and two power factors?
Send real_power_kw plus pf_initial and pf_target as decimals in (0, 1]. The API returns capacitor_kvar = P × (tan φ1 − tan φ2), where each angle is arccos of that power factor, along with the initial and target Q and S.
What does the power factor correction kVAR calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.