A voltage source V feeds R_1 in series with the parallel combination of R_2 and R_3. The simulator visualizes the Kirchhoff voltage (KVL) and current (KCL) laws in real time, making current division and voltage drops intuitive.
Parameters
Source voltage V
V
Series resistance R_1
Ω
Parallel resistance R_2
Ω
Parallel resistance R_3
Ω
Defaults give I_total = 54.5 mA, I_2 = 32.7 mA, I_3 = 21.8 mA and V_par = 6.55 V. The sweep moves R_3 from 1 Ω to 1000 Ω.
Results
—
Total current I_total
—
Branch current I_2
—
Branch current I_3
—
Parallel voltage V_par
Series-Parallel Circuit
Source V -> R_1 (series) -> node a -> R_2 and R_3 (parallel) -> GND. Arrows show the current direction and labels mark the voltage drops.
KCL Bar Chart: I_total = I_2 + I_3
Blue = total current I_total / green = branch current I_2 / orange = branch current I_3. The height of I_total matches I_2 + I_3.
Theory & Key Formulas
A source V feeds R_1 in series with the parallel pair R_2 and R_3. The equivalent of the parallel section is:
Branch current is inversely proportional to resistance, so when R_2 < R_3 we have I_2 > I_3.
What is the Kirchhoff Laws Simulator
🙋
For a single resistor across a battery I just use V = IR. But how do you actually solve a circuit when resistors are mixed in series and parallel?
🎓
That is exactly what Kirchhoff's laws are for. There are only two. KVL says the voltages around any closed loop add up to zero. KCL says the currents flowing into any node equal the currents flowing out. For a series-parallel circuit the trick is to collapse the parallel section into a single equivalent resistor, so the network looks like one big series loop. Then V = IR gives the total current and you walk back to compute the branch currents.
🙋
With V = 12 V, R_1 = 100, R_2 = 200, R_3 = 300, the tool says I_total is 54.5 mA. Can we follow the calculation step by step?
🎓
Sure. The parallel section is R_par = R_2*R_3/(R_2+R_3) = 200*300/500 = 120 Ω. Adding the series R_1 gives R_total = 220 Ω, so I_total = 12/220 ≈ 0.0545 A = 54.5 mA — the blue stat at the top. The drop across R_1 is I_total * R_1 = 5.45 V, so the parallel-section voltage is V_par = 12 − 5.45 = 6.55 V. From that V_par you distribute the current between R_2 and R_3.
🙋
Which branch carries more current then? They look comparable on the schematic.
🎓
The branches share V_par, so the current is inversely proportional to the branch resistance: more current goes through the smaller resistor. With V_par = 6.55 V, I_2 = 6.55/200 ≈ 32.7 mA and I_3 = 6.55/300 ≈ 21.8 mA, giving the 3:2 ratio. The bar chart shows I_2 + I_3 = 54.5 mA, exactly matching I_total — that is KCL in action. Drag R_3 down and you can see how more and more of the current is diverted through R_3.
🙋
What happens if I push R_3 all the way down to 1 Ω? That feels close to a short.
🎓
Good experiment. At R_3 = 1 Ω, R_par drops to about 1 Ω, R_total to about 101 Ω, and I_total climbs to roughly 119 mA. V_par crashes to about 0.12 V, so I_2 = 0.12/200 ≈ 0.6 mA, and I_3 = 0.12/1 = 120 mA. Almost all the current now flows through R_3 — the classic "current floods to the low-resistance path" phenomenon used in shunt design and fuse selection. Press the Sweep R_3 button and you can watch it happen smoothly.
Physical Model and Key Equations
Kirchhoff's laws supply two conservation constraints — loop voltage (KVL) and node current (KCL) — that close any linear network of resistors, voltage sources and current sources. The simulator handles the simplest non-trivial case: a single loop with one node, a source $V$ driving a series resistor $R_1$ followed by the parallel combination $R_2$ // $R_3$.
The equivalent of the parallel section is $R_{par}=R_2 R_3/(R_2+R_3)$ and the total resistance is $R_{total}=R_1+R_{par}$. KVL around the loop reads $V = I_{total} R_1 + V_{par}$, immediately giving $I_{total}=V/R_{total}$, and the parallel-section voltage is $V_{par}=V-I_{total} R_1$. The branch currents follow from Ohm's law, $I_2=V_{par}/R_2$ and $I_3=V_{par}/R_3$, and the KCL identity $I_{total}=I_2+I_3$ is satisfied automatically at node a.
With the defaults $V=12$ V, $R_1=100$ Ω, $R_2=200$ Ω and $R_3=300$ Ω, the equations yield $R_{par}=120$ Ω, $R_{total}=220$ Ω, $I_{total}=12/220\approx 54.5$ mA, $V_{par}=6.55$ V, $I_2\approx 32.7$ mA and $I_3\approx 21.8$ mA, so that $I_2+I_3=54.5$ mA $=I_{total}$. Drag any of the four sliders to see all of these quantities update live.
Real-world Applications
Ammeter shunts: The classic way to extend an ammeter's range is to wire a small shunt resistor $R_s$ in parallel with the meter movement $R_m$. Most of the current flows through $R_s$, while only $I_m=I\cdot R_s/(R_s+R_m)$ reaches the movement. Power meters, clamp meters and automotive battery monitors still use this design today.
Parallel LED drive imbalance: Wiring two or more LEDs directly in parallel is a textbook mistake. Small differences in forward voltage $V_f$ cause the LED with the lowest $V_f$ to hog the current and overheat. The cure is to add a small ballast resistor in series with each LED so that the voltage drop absorbs the $V_f$ tolerance — a direct application of KVL and KCL.
Power distribution with parallel loads: Residential AC panels and data-center DC busbars feed many parallel loads, each pulling its share according to KCL. When the cable resistance $R_w$ is non-negligible — long EV charging cables, sensor power runs, busbars — each branch sees a voltage drop and conductor cross-sections must be sized accordingly. KVL is the bookkeeping that ensures the end-of-line voltage still meets spec.
Wheatstone bridges: A bridge of four resistors with a galvanometer across the middle is the most elegant application of Kirchhoff's laws. The null condition $R_1/R_2=R_3/R_4$ is detected as zero current through the galvanometer, enabling precise unknown-resistance measurements and the differential read-out used in strain gauges and temperature sensors.
Common Misconceptions and Pitfalls
The most frequent mistake is the assumption that parallel branches share current equally. The shared quantity is voltage, not current; the currents split inversely to resistance, so equal currents only occur when the resistors are equal. With the defaults R_2 = 200 and R_3 = 300, the ratio is 3:2 in favor of R_2. The bar chart in the simulator makes this immediately visible.
Another classic error is adding parallel resistances as if they were in series. Series resistances add directly, but parallel resistances combine as a sum of reciprocals, $1/R_{par}=1/R_2+1/R_3$, and the result is always smaller than the smallest branch. With R_2 = 200 and R_3 = 300 the equivalent is 120 Ω, which is the safety net to check whether your design calculation is consistent.
Finally, ignoring wiring resistance when writing KVL produces real-world surprises. Lead wires, connectors and PCB traces all carry a small but non-zero resistance, so the "12 V at the source" can become "11 V at the load". EV battery wiring, long sensor runs and DC distribution panels must always include wiring as series elements in the KVL/KCL model to make end-of-line voltages predictable.
Frequently Asked Questions
It depends on the topology. For a clean series-parallel circuit it is natural to use KVL first to obtain the total current, then return to the parallel section and use KCL to split that current between the branches. For more elaborate networks with several independent loops, mesh analysis (a system of KVL equations) or nodal analysis (a system of KCL equations) solves everything at once. This simulator illustrates the simpler KVL-then-KCL path.
In a parallel section every branch shares the same terminal voltage $V_{par}$. Each branch carries $I_k=V_{par}/R_k$ and the total branch current is $I=V_{par}\sum 1/R_k$. Replacing the section with a single equivalent gives $I=V_{par}/R_{par}$, so $1/R_{par}=\sum 1/R_k$. For exactly two branches this rearranges to the compact "product over sum" formula $R_{par}=R_2 R_3/(R_2+R_3)$; for more branches you use the general reciprocal sum.
Yes. Resistors are replaced by complex impedances $Z=R+jX$ and voltages and currents are phasors (complex numbers carrying magnitude and phase), but the equations $\sum V_k=0$ around any loop and $\sum I_k=0$ at any node are unchanged. The same framework solves RLC circuits, resonators and filter networks. This simulator uses only resistors and DC, so no phase appears.
KVL and KCL themselves hold for any element, linear or not, because they express charge and energy conservation. What changes is the element relation $V=f(I)$, which is no longer a straight line. The loop and node equations become non-linear and usually require an iterative solver such as Newton-Raphson — exactly what SPICE-type simulators do under the hood. With only linear resistors this simulator can use a closed-form solution.