Premium apps Part of Ohmforge

Ohmforge Impedance Calculator

Complex impedance of R, L, C series/parallel networks: |Z|, phase, admittance, resonance.

Elements R<value>, L<value>, C<value>; + = series, || (or //) = parallel, parentheses group. || binds tighter than +.

Hz

Try an example: R100 + (L10m || C1u) at 1 kHz · Series RLC at resonance (≈ 5.03 kHz) · Speaker crossover branch at 3 kHz

More about this tool

How it works

Type a small network such as R100 + (L10m || C1u) and a frequency. The calculator returns the complex impedance (R + jX), magnitude and phase, the admittance G + jB, the equivalent inductance or capacitance at that frequency, Q, every resonance of the network, an |Z| and phase plot over frequency and the reactance of each part – checked against Ohmforge's AC simulator.

  • Each element becomes a complex impedance: Z_R = R, Z_L = jωL, Z_C = 1/(jωC) with ω = 2πf. Series groups add impedances, parallel groups add admittances (Y = 1/Z). Complex division uses Smith's algorithm for numerical robustness.
  • Admittance Y = 1/Z = G + jB. The equivalent part at the frequency is L = X/ω for X > 0 or C = −1/(ωX) for X < 0; Q = |X| / R of the series equivalent.
  • Resonances are frequencies where the reactance X changes sign (zero phase): found on a 50-points-per-decade scan from 1 mHz to 100 GHz and refined by bisection. A minimum of |Z| (X from − to +) is a series resonance, a maximum (X from + to −) a parallel resonance.
  • Cross-check: the network is driven by a 1 A AC current source in Ohmforge's AC analysis, so the simulated node voltage equals Z; the relative difference is reported.

Ideal parts: real inductors have winding resistance and self-resonance, capacitors have ESR and ESL, and both change with frequency, temperature and (for ceramics) DC bias.

Sources

Part of Ohmforge

  • Ohmforge Virtual electronics workbench

    Draw a circuit, switch it on, and measure it with real-feeling bench instruments.

    Open Ohmforge

Related tools

Calculate the complex impedance of an RLC network

Type a small series/parallel network of resistors, inductors and capacitors and get Z, |Z|, phase, admittance, resonances and a frequency plot.

What it is for

Impedance questions come up whenever reactive parts meet a signal: what load does a speaker with its crossover present at 3 kHz, where does an LC tank resonate, is a decoupling network inductive above some frequency? Doing the complex arithmetic by hand is slow and error-prone, especially with nested parallel branches.

Write the network as a short expression. Elements are a letter and a value: R100, L10m, C1u. A + joins parts in series, || (or //) puts them in parallel, and parentheses group. Parallel binds tighter than series, so R100 + L10m || C1u means R100 in series with the parallel pair. Then enter the frequency.

The calculator treats every part as ideal. Real inductors have winding resistance and self-resonance; capacitors have ESR and ESL. Add those as extra R or L elements if they matter.

Worked example

First a classic exercise: R100 + (L10m || C1u) at 1 kHz. The result is Z = 100 Ω + j103.8 Ω, |Z| = 144.1 Ω at a phase of 46.07°. The reactance table shows why: L1 contributes +62.83 Ω and C1 −159.2 Ω, and their parallel combination is inductive. At this frequency the network behaves like 16.52 mH in series with 100 Ω. The resonance table lists a parallel resonance at 1.592 kHz = 1/(2π√(10 mH · 1 µF)), where the ideal tank's impedance is unbounded.

Then a speaker model with a Zobel network, (R8 + L0.42m) || (C6.6u + R2.2) at 3 kHz: Z = 8.018 Ω − j4.502 Ω, |Z| = 9.195 Ω, phase −29.31°, admittance 94.83 mS + j53.24 mS. Its reactance never crosses zero between 1 mHz and 100 GHz, so the tool reports no resonance.

In both cases the simulator cross-check drives the network with a 1 A AC source in Ohmforge's AC analysis and gets the same |Z| to about 1e-10.

How to read the result

  • Z in rectangular form (R + jX), |Z| and Phase: positive phase means inductive, negative capacitive.
  • Admittance Y = 1/Z = G + jB, useful when you add parallel branches or match to a source.
  • Q (|X| / R) of the series equivalent at this frequency; shown as "—" for a pure reactance.
  • Behaviour: the inductance or capacitance that would give the same reactance at this frequency, in series with the real part.
  • Resonances: frequencies where X crosses zero. A series resonance is an |Z| minimum, a parallel one a maximum.
  • The |Z| and phase plots span two decades either side of the frequency and the first resonance.

Tips and common mistakes

  • Write R4k7 or R4.7k, not 4k7 alone: every element needs its letter.
  • Mind the precedence. R1 + R2 || R3 is not (R1 + R2) || R3; add parentheses when in doubt. The Network line shows how the tool grouped it.
  • An ideal parallel LC has infinite impedance at resonance; add the coil resistance as L10m + R2 inside the branch for a realistic peak.
  • The equivalent inductance or capacitance is valid only at the frequency you entered.

FAQ

Can I enter a frequency of 0 Hz?

No. At DC an inductor is a short and a capacitor an open circuit; use the resistor network calculator or the DC operating point tool for that case.

How many parts can a network have?

Up to 60 elements and 30 levels of parentheses, which covers crossovers, matching networks and filter sections.

Why does the resonance frequency differ from 1/(2π√(LC))?

With resistance in the branches, the zero-phase frequency moves away from the ideal formula. The tool reports where the reactance really crosses zero.

Is the phase in degrees?

Yes, from −90° (pure capacitance) to +90° (pure inductance).

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://ohmforgeimpedancecalculator.usefulweb.app/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://ohmforgeimpedancecalculator.usefulweb.app/mcp · tool name ohmforge_impedance_calculator
Example request
curl -s -X POST https://ohmforgeimpedancecalculator.usefulweb.app/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"network":"R100 + (L10m || C1u)","frequency":1000}'
Feedback · ideas & bug reports welcome