Kirchhoff’s Laws (KCL and KVL) Explained with Interactive Circuits
Ohm’s law handles one resistor. Kirchhoff’s two laws handle the whole circuit. Here they are from first intuition to nodal analysis, with circuits you can play with.
The two laws in one line each
KCL · current in = current outKVL · voltages around a loop add to zero
Ohm’s law tells you what happens in one resistor. Kirchhoff’s laws tell you how currents and voltages share out across a whole circuit. Together, they’re enough to solve any circuit built from batteries and resistors.
In the Ohm’s law guide, every example had a single path for current. Real circuits branch: an LED and a sensor share one supply, two batteries feed the same load, a microcontroller pin splits current between a pull-up and a button. This guide adds the two rules that handle all of that, with circuits you can play with, a full two-battery worked example, and notes on where the laws stop working on fast PCBs. Jump to the practice problems if you want to test yourself first.
Four words you need first
Kirchhoff’s laws talk about parts of a circuit, so let’s name them. Here is the circuit we’ll solve later in this guide:
| Term | Meaning | In the circuit above |
|---|---|---|
| Node | A point where two or more components connect. A wire with no components counts as one node, however long it is. | A and B, where three branches meet |
| Branch | A single path between two nodes. Everything in one branch carries the same current. | V1 + R1, R3 alone, and R2 + V2 |
| Loop | Any closed path you can trace without passing through a node twice. | Loop 1, Loop 2, and the outer loop round both |
| Mesh | A loop with no other loop inside it, like a window pane. | Loop 1 and Loop 2 |
Kirchhoff’s current law (KCL)
The total current flowing into a node equals the total current flowing out of it. Equivalently, if you count currents in as positive and currents out as negative, they add up to zero:
Why it must be true: charge can’t be created or destroyed, and a node has nowhere to store it. Every electron that arrives has to leave. It’s exactly like water at a pipe junction: whatever flows in per second must flow out per second, or the junction would burst.
The law was published in 1845 by Gustav Robert Kirchhoff, then a 21-year-old student in Königsberg, who generalised Ohm’s work to circuits with many branches.
Example 1: KCL at a node
A microcontroller board draws 150 mA from its supply. The board’s LED strip takes 90 mA and the sensor takes 12 mA. How much is left for the microcontroller itself?
150 mA in = 90 mA + 12 mA + IMCU → IMCU = 48 mA
Kirchhoff’s voltage law (KVL)
Around any closed loop, the voltages add up to zero. The voltage gained in sources equals the voltage dropped across everything else:
Why it must be true: voltage is like height. Walk any route on a hill and come back to where you started, and your total climb minus your total descent is zero, however winding the path. In a circuit, a charge that goes all the way round a loop ends up at the same “electrical height” it started from, so the rises and drops must cancel. That’s conservation of energy.
Example 2: KVL in a single loop
A 9 V battery feeds an LED (VF = 2.1 V) and a resistor in series. A meter across the resistor reads 6.6 V. What else is in the loop?
9 V − 2.1 V − 6.6 V = 0.3 V unaccounted for
KVL says the loop must sum to zero, so 0.3 V is being dropped somewhere you didn’t draw: the battery’s internal resistance, the wires, or a loose breadboard contact. KVL is a superb fault-finding tool for exactly this reason.
Sign conventions: where most mistakes happen
The laws are simple; keeping track of plus and minus is where people slip. Use these rules and you’ll get consistent answers every time:
- Guess a direction for every unknown current and draw an arrow. You don’t need to guess right. A negative answer just means the current flows the other way.
- KCL: count currents whose arrows point into the node as positive and those pointing out as negative, or simply write “in = out”.
- KVL: pick a direction to walk around the loop (clockwise is common). Then:
- Through a battery from − to +: +V (a rise). From + to −: −V.
- Through a resistor with the current arrow: −IR (a drop). Against the arrow: +IR.
- Stay consistent. Once you’ve drawn an arrow, every equation uses that same arrow, even if you later suspect it’s backwards.
Negative answers are not wrong answers
If a current comes out as −0.27 A, the size (0.27 A) is right and it flows opposite to your arrow. Don’t go back and redo the problem; just note the direction. You’ll see this happen in the next example.
Worked example: two batteries, three resistors
Back to the circuit from the start. V1 = 12 V, V2 = 6 V, R1 = 4 Ω, R2 = 2 Ω, R3 = 6 Ω. Find the current in every branch.
Method 1: branch currents (KCL + KVL)
Draw I1 flowing right through R1 into node A, I2 flowing left through R2 into node A, and I3 flowing down through R3.
KCL at node A: I1 + I2 = I3
KVL, loop 1 (V1, R1, R3): 12 − 4·I1 − 6·I3 = 0
KVL, loop 2 (V2, R2, R3): 6 − 2·I2 − 6·I3 = 0
Three equations, three unknowns. Substituting I3 = I1 + I2 and solving gives:
I1 = 15/11 ≈ 1.364 A · I2 = −3/11 ≈ −0.273 A · I3 = 12/11 ≈ 1.091 A
I2 is negative, so it actually flows right, from node A back into the 6 V battery’s + terminal. The 12 V battery is charging the 6 V one. Check with KCL: 1.364 + (−0.273) = 1.091 ✓
Method 2: one node voltage (the shortcut)
Engineers usually skip straight to the voltage at node A, calling node B 0 V (ground). Each branch current is just Ohm’s law, and KCL says they balance:
(12 − VA)/4 + (6 − VA)/2 = VA/6 → VA = 72/11 ≈ 6.545 V
Then I1 = (12 − 6.545)/4 = 1.364 A, I2 = (6 − 6.545)/2 = −0.273 A, I3 = 6.545/6 = 1.091 A. Same answers, far less algebra. Try it with your own values:
Kirchhoff’s laws in real circuits
1. Power budgets (KCL)
Every supply rail is one big node. KCL says the regulator must deliver the sum of every branch current, so a quick table tells you whether a regulator, USB port or battery is big enough:
| Load on the 5 V rail | Current |
|---|---|
| Microcontroller (Wi-Fi active) | 240 mA |
| 2.8″ TFT display and backlight | 110 mA |
| Status LEDs (3 × 10 mA) | 30 mA |
| Sensors | 15 mA |
| Total the supply must provide | 395 mA |
Against a 500 mA USB port that leaves only about 20% headroom, which is too thin once Wi-Fi transmit peaks are counted. It’s one of the first checks we do in an embedded product design.
2. Why a motor makes your microcontroller reset (KVL)
Picture a 3.3 V microcontroller and a small motor sharing one ground wire back to the supply, and that wire has 0.25 Ω of resistance. When the motor starts, it briefly draws 2 A through that shared wire.
Ground wire drop = 2 A × 0.25 Ω = 0.5 V → the microcontroller sees 3.3 − 0.5 = 2.8 V
Walk the loop with KVL and the missing 0.5 V appears across the wire, not across the chip. That can fall below the brown-out threshold of many microcontrollers, and the chip resets. The fix: give high-current loads their own ground return (a “star” ground), and add bulk capacitance near the motor.
3. The Wheatstone bridge (KVL)
Applying KVL around the two halves shows the meter reads zero exactly when R1/R2 = R3/R4. Make R4 a strain gauge or temperature sensor and any tiny change in its resistance unbalances the bridge. For small changes with four equal resistors, the output is about Vexcitation × ΔR/(4R): a 1% change on a 5 V bridge gives roughly 12.5 mV. Weighing scales and pressure sensors work this way.
4. The current divider (KCL + Ohm)
When current splits between parallel resistors, KCL says the parts add up to the total, and Ohm’s law says each branch sees the same voltage. Together they give the current divider: the smaller resistor takes the larger share. For two branches:
Where Kirchhoff’s laws bend: notes for professionals
KCL and KVL are exact for lumped circuits: ones small enough, compared with the wavelength of the signals, that every wire can be treated as a single node. Outside that, you need Maxwell’s equations directly.
The lumped-element limit
A common rule of thumb: treat a circuit as lumped when it’s smaller than about a tenth of the signal wavelength. On FR-4 PCB material, signals travel at roughly half the speed of light, so at 100 MHz the wavelength is about 1.5 m and the limit is about 15 cm. For digital signals, the edge rate matters more than the clock frequency: a 1 ns edge contains energy well above 100 MHz. Beyond the limit, traces behave as transmission lines, and “the same wire” can carry different voltages at its two ends at the same instant.
KVL and changing magnetic fields
KVL assumes no changing magnetic flux threads the loop. If one does, Faraday’s law adds an induced voltage, and the voltages you measure around the loop no longer sum to zero. This is why a long oscilloscope ground lead picks up ringing that isn’t really in your circuit, and why fast switching loops in a power supply are kept physically small. On a PCB, the inductance of a ground return path appears as an extra term, V = L·di/dt, in every KVL equation: the root of ground bounce.
KCL and stored charge
KCL says charge can’t pile up at a node. In a lumped circuit, any charge storage is modelled as a capacitor, and the capacitor’s current (C·dV/dt) is one of the branch currents, so KCL still holds. Parasitic capacitance from a trace to ground is just another hidden branch: at high speed, that current is real and it must be in your equations.
How circuit simulators use these laws
SPICE and most circuit simulators are built on modified nodal analysis: they write KCL at every node (method 2 above, extended to the whole circuit), add one KVL-style equation for each voltage source, and solve the resulting matrix, at every time step for transient simulations. When a simulation fails to converge, it’s usually because those equations have no unique solution: for example, a node with no DC path to ground, or two ideal voltage sources in parallel.
Which method should you use?
| Method | Based on | Best when |
|---|---|---|
| Branch currents | KCL + KVL | Learning, and very small circuits |
| Mesh analysis | KVL around each mesh | Flat circuits with many series elements and current-heavy questions |
| Nodal analysis | KCL at each node | Most practical circuits; it’s what simulators use |
Count unknowns: nodal analysis needs one equation per node (minus ground); mesh analysis needs one per mesh. Pick whichever gives fewer equations.
Common mistakes
- Switching current directions mid-problem. Choose arrows once and keep them.
- Getting resistor signs backwards in KVL. With the current arrow: −IR. Against it: +IR.
- Missing a branch at a node. Count the wires touching each node before writing KCL.
- Writing more KVL equations than you need. Use the meshes; extra loops add no new information.
- “Fixing” a negative answer. It’s correct. It only tells you the direction.
- Forgetting hidden resistances. Battery internal resistance, wires and connectors are real loop elements.
Quick reference
- KCL: ΣIin = ΣIout at every node (conservation of charge)
- KVL: ΣV = 0 around every loop (conservation of energy)
- Battery − to +: +V · Resistor with the current: −IR
- Unknowns: nodes − 1 (nodal) or meshes (mesh analysis)
- Current divider: I1 = Itotal × R2 ÷ (R1 + R2)
- Voltage divider (KVL + Ohm): Vout = Vin × R2 ÷ (R1 + R2)
Practice problems
Try each one before opening the answer.
13 A and 2 A flow into a node. One branch carries 4 A out. What does the fourth branch carry?
In = out: 3 + 2 = 4 + I → I = 1 A flowing out.
2A 9 V battery drives three resistors in series. Two of them drop 2 V and 3.5 V. What does the third drop?
9 − 2 − 3.5 − V = 0 → V = 3.5 V.
312 V across 1 kΩ, 2 kΩ and 3 kΩ in series. Find the current and each voltage drop.
I = 12 V ÷ 6 kΩ = 2 mA. Drops: 2 V, 4 V and 6 V, which add up to 12 V as KVL requires.
430 mA flows into 100 Ω and 200 Ω in parallel. How does it split?
Current divider: I100 = 30 × 200 ÷ 300 = 20 mA, I200 = 30 × 100 ÷ 300 = 10 mA. Check: both see 2 V.
5A USB port supplies 500 mA. Your board has an MCU (80 mA), a display (120 mA) and four LEDs at 20 mA each. How much headroom is left?
Total = 80 + 120 + 4 × 20 = 280 mA, so 220 mA of headroom (44%).
6For professionals: in the two-battery circuit, set V1 = V2 = 10 V and R1 = R2 = R3 = 10 Ω. Find VA and all three currents.
(10 − VA)/10 × 2 = VA/10 → VA = 6.67 V. I1 = I2 = 3.33/10 = 0.333 A each, and I3 = 0.667 A. Symmetry checks out: each battery supplies half of I3.
Summary
- KCL: current into a node equals current out. Charge can’t pile up.
- KVL: voltages around a loop add to zero. Energy is conserved.
- With Ohm’s law, these two laws solve any resistive circuit. Nodal analysis is the fastest way to apply them.
- They hold for lumped circuits. On fast PCBs, inductance, capacitance and wavelength add terms you must account for.
Next in Basic Electronics, we’ll put these laws to work on series and parallel circuits, and the shortcuts they give you. Questions, or stuck on a circuit of your own? Ask in the comments below.
Frequently asked questions
What are Kirchhoff’s two laws?
Kirchhoff’s current law (KCL): the total current flowing into a node equals the total current flowing out. Kirchhoff’s voltage law (KVL): the voltages around any closed loop add up to zero.
What is the difference between KCL and KVL?
KCL is about currents at a junction (node) and comes from conservation of charge. KVL is about voltages around a loop and comes from conservation of energy. Most circuit problems use both together.
What does a negative current mean in a Kirchhoff’s law answer?
Only that the current flows opposite to the direction you assumed. The size is still correct. Keep the minus sign in later steps, or flip the arrow on your diagram.
Do Kirchhoff’s laws work for AC circuits?
Yes, at every instant, and with phasors and complex impedances for steady-state AC. They break down only when a circuit is so fast or so large that it can’t be treated as lumped components, such as at radio frequencies on long traces.
Who discovered Kirchhoff’s laws?
The German physicist Gustav Robert Kirchhoff published them in 1845, while still a student, extending Georg Ohm’s work to circuits with many branches.
Comments
No comments yet. Questions, corrections and your own tips are all welcome.