Series RLC impedance calculator
This series RLC impedance calculator evaluates an ideal resistor, inductor, and capacitor connected in series at one specified frequency.
Run — free
Enter resistance in ohms, inductance in henries, capacitance in farads, and frequency in hertz. The result includes the real and imaginary impedance components, inductive and capacitive reactance, total magnitude, and phase in both degrees and radians. It also identifies whether the circuit behaves inductively, capacitively, or as a purely resistive load at that operating point.
Enter consistent component values and frequency
Use SI base units for every input: resistance in ohms, inductance in henries, capacitance in farads, and frequency in hertz. Convert common prefixes before submitting values. For example, 100 millihenries is 0.1 henry, 1 microfarad is 0.000001 farad, and 1 kilohertz is 1000 hertz. Resistance may be zero for an ideal lossless series LC circuit, but inductance, capacitance, and frequency must all be greater than zero. The calculation models ideal lumped components at a single sinusoidal frequency. It does not include an inductor's winding resistance, a capacitor's equivalent series resistance, parasitic capacitance, skin effect, dielectric loss, or frequency-dependent component tolerances unless those effects have already been represented in the resistance you enter. For a practical design, use measured or datasheet values at the intended operating frequency when available. Keeping units consistent is especially important because a prefix error can shift reactance by factors of thousands or millions while still producing a numerically valid result.
Understand the impedance calculation
The calculator first converts frequency to angular frequency using ω = 2πf. It then computes inductive reactance as XL = ωL and the positive magnitude of capacitive reactance as XC = 1/(ωC). In complex impedance notation, the resistor contributes the real part R, the inductor contributes +jXL, and the capacitor contributes −jXC. Their series sum is therefore Z = R + j(XL − XC). The returned net reactance is XL − XC, so a positive value means inductive behavior and a negative value means capacitive behavior. The impedance magnitude is obtained from the right triangle formed by the real and imaginary components: |Z| = √(R² + X²). Phase is computed with atan2(X, R), which preserves the sign of the reactance and handles zero resistance correctly. Phase is positive for an inductive load, negative for a capacitive load, and zero when the two reactances cancel. Both degree and radian values are provided so the output can be used directly in engineering calculations or software.
Apply magnitude and phase correctly
Impedance magnitude tells you the ratio between RMS voltage magnitude and RMS current magnitude for the ideal series branch: |I| = |V|/|Z|. The phase tells you the current and voltage timing relationship. With the impedance angle convention used here, a positive phase means voltage leads current, as in an inductive circuit; a negative phase means current leads voltage, as in a capacitive circuit. At series resonance, XL and XC are equal, net reactance is zero, and the impedance reduces to the resistance. Real component values and finite precision may leave a very small nonzero reactance near that point, so inspect the component values rather than assuming an exact zero. This tool evaluates one frequency per request; it does not generate a sweep, bandwidth, quality factor, transient response, power factor under nonsinusoidal excitation, or component ratings. Use the detailed real and imaginary fields when passing results to another complex-number calculation, and use the magnitude and phase fields when working with polar-form phasors. Automated API requests cost $0.002 per item.
What you can do with it
Check a filter operating point
Evaluate the magnitude and phase of a series RLC branch at a cutoff, test, or signal frequency.
Size current for a sinusoidal source
Use the impedance magnitude with an RMS source voltage to estimate ideal steady-state branch current.
Identify reactive behavior
Determine whether the chosen component values make the branch inductive, capacitive, or resistive at a frequency.
FAQ
What formula does the calculator use?
It uses Z = R + j(2πfL − 1/(2πfC)), then computes magnitude with the Pythagorean relation and phase with atan2.
Which units should I enter?
Enter resistance in ohms, inductance in henries, capacitance in farads, and frequency in hertz. Convert metric prefixes before entry.
Why is the phase negative?
A negative phase means capacitive reactance is larger than inductive reactance at the selected frequency, so the series branch behaves capacitively.
What happens at series resonance?
Inductive and capacitive reactance cancel, leaving zero net reactance. The ideal impedance magnitude then equals the resistance and phase is zero.
Does the result include parasitic losses?
No. It is an ideal lumped-component calculation. Include known series losses in the resistance input or use a fuller component model.
What does an API calculation cost?
Each item costs $0.002. The browser version uses the same deterministic calculation.
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/impedance-rlc-series \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"resistance":100,"inductance":0.1,"capacitance":0.000001,"frequency":1000}'const res = await fetch("https://api.kit.forhosting.com/elec/impedance-rlc-series", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"resistance": 100,
"inductance": 0.1,
"capacitance": 0.000001,
"frequency": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/impedance-rlc-series",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"resistance": 100,
"inductance": 0.1,
"capacitance": 0.000001,
"frequency": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/impedance-rlc-series", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"resistance":100,"inductance":0.1,"capacitance":0.000001,"frequency":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"resistance":100,"inductance":0.1,"capacitance":0.000001,"frequency":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/impedance-rlc-series", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"resistance": 100,
"inductance": 0.1,
"capacitance": 0.000001,
"frequency": 1000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.impedance_rlc_series",
"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.
Limits
max_abs_input | 1000000000000000 |
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. |