Kirchhoff's Current Law (KCL): Complete Guide

Conservation of Charge at a Node

Kirchhoff's Current Law (KCL) states that the algebraic sum of currents entering any node equals the sum of currents leaving it. Written as a single signed sum:

k=1nik=0\sum_{k=1}^{n} i_k = 0

Physically, KCL is conservation of charge. A node is just a connection point with no capacity to store charge, so charge cannot accumulate there. Whatever flows in during any instant must flow out during that same instant. If this were violated, charge would pile up indefinitely at a single point, which is impossible for an idealized circuit node. KCL is the dual of Kirchhoff's Voltage Law: where KVL constrains voltages around a loop, KCL constrains currents at a junction, and together they fully determine any lumped circuit.

A common point of confusion is the sign. The law is an algebraic sum, so you must assign a reference direction to each branch current and stick with it. A convenient convention, and the one used throughout this article, is to treat currents leaving a node as positive. Under that rule the law becomes "the sum of currents leaving equals zero," which is the form that drops directly out of nodal analysis.

Writing a Node Equation

Consider a node at potential VV connected through resistors to three neighbors at potentials VaV_a, VbV_b, and ground (0 V), with a current source IsI_s injecting current into the node. The current leaving through a resistor toward a neighbor at VaV_a is (VVa)/R(V - V_a)/R by Ohm's law. Summing all currents leaving and setting equal to the current injected:

VVaR1+VVbR2+V0R3=Is\frac{V - V_a}{R_1} + \frac{V - V_b}{R_2} + \frac{V - 0}{R_3} = I_s

This single equation captures everything KCL requires at that node. The elegance of the node-voltage method is that each term is automatically a current expressed through the unknown node potentials, so you never have to introduce branch currents as separate variables.

A Worked Four-Node Example

Take a circuit with a reference (ground) node and two unknown nodes, V1V_1 and V2V_2. A 10 mA current source pushes current into node 1. Node 1 connects to ground through R1=2 kΩR_1 = 2\ \text{k}\Omega, node 1 connects to node 2 through R2=1 kΩR_2 = 1\ \text{k}\Omega, and node 2 connects to ground through R3=3 kΩR_3 = 3\ \text{k}\Omega. Working in mA and kΩ (so volts come out directly), KCL at node 1 gives:

V12+V1V21=10\frac{V_1}{2} + \frac{V_1 - V_2}{1} = 10

and KCL at node 2 (no source attached, so the leaving currents sum to zero):

V2V11+V23=0\frac{V_2 - V_1}{1} + \frac{V_2}{3} = 0

The first equation simplifies to 1.5V1V2=101.5 V_1 - V_2 = 10. The second multiplies through by 3 to give 3(V2V1)+V2=03(V_2 - V_1) + V_2 = 0, i.e. 3V1+4V2=0-3 V_1 + 4 V_2 = 0, so V1=43V2V_1 = \tfrac{4}{3} V_2. Substituting: 1.543V2V2=101.5 \cdot \tfrac{4}{3} V_2 - V_2 = 10, which is 2V2V2=102 V_2 - V_2 = 10, so V2=10 VV_2 = 10\ \text{V} and V1=431013.33 VV_1 = \tfrac{4}{3} \cdot 10 \approx 13.33\ \text{V}.

Verify with KCL at node 1: the source delivers 10 mA. Current into ground through R1R_1 is 13.33/2=6.67 mA13.33 / 2 = 6.67\ \text{mA}, and current into node 2 is (13.3310)/1=3.33 mA(13.33 - 10)/1 = 3.33\ \text{mA}. Their sum is 6.67+3.33=10 mA6.67 + 3.33 = 10\ \text{mA}, matching the injected current exactly. The arithmetic closes, which is the surest sign the node equations were written correctly.

Supernodes

A complication arises when a voltage source connects two non-reference nodes directly. You cannot write the source's current in terms of node voltages, because an ideal voltage source allows any current. The fix is the supernode: enclose both nodes and the source in a single boundary, then apply KCL to the entire enclosed region. Charge conservation still holds for any closed surface, so the currents leaving the supernode boundary sum to zero:

branches crossing the boundaryik=0\sum_{\text{branches crossing the boundary}} i_k = 0

The voltage source then supplies one constraint equation, VaVb=VsV_a - V_b = V_s, that pairs with the supernode KCL equation to keep the system solvable. This trick is what makes nodal analysis work even when floating sources would otherwise block it.

Counting Independent Equations

A practical question is how many KCL equations a circuit actually provides. For a circuit with NN nodes, you can write KCL at each node, but the equations are not all independent: the last one is the negative sum of the others, because a current leaving one node must arrive at another. The reliable rule is that N1N - 1 of the node equations are independent. This is exactly why nodal analysis designates one node as the reference (ground) and writes KCL only at the remaining N1N - 1 nodes. In the four-node example above there were three non-reference nodes' worth of structure but, with one node being a plain current-source injection, two unknown potentials and two equations sufficed. Understanding this counting prevents the frustration of writing a redundant equation and finding your system singular.

The same idea explains why KCL can be applied not just to a single node but to any closed surface enclosing several nodes, a generalization sometimes called the "Gaussian surface" view of KCL. Charge cannot accumulate inside the surface, so the net current crossing the boundary is zero. The supernode is precisely this principle applied to a region containing a troublesome voltage source, and it is one of the most powerful generalizations of the basic law.

KCL Versus KVL at a Glance

PropertyKCLKVL
Conserved quantityChargeEnergy / potential
Applied atA node (or supernode)A closed loop (mesh)
Sums to zeroBranch currentsElement voltages
Natural unknownNode voltagesMesh currents
Special constructSupernodeSupermesh

Common Mistakes

  • Mixing sign conventions between terms. If one term is written as current leaving, every term must be. Flipping the sense of a single branch is the most frequent KCL error.
  • Forgetting a branch connected to the node. Every wire touching a node contributes a current. Omitting the ground resistor or a source branch leaves the equation under-counted.
  • Trying to write a branch current for an ideal voltage source between two nodes. Use a supernode instead; the source's current is an unknown that the source equation does not provide.
  • Confusing a node with a branch. Two points joined by a plain wire (no element) are the same node. Treating them as two separate nodes invents a spurious equation.
  • Sign errors in (VVneighbor)(V - V_{\text{neighbor}}). The current leaving the node always uses the node's own potential first: (VhereVthere)/R(V_{\text{here}} - V_{\text{there}})/R.

KCL in the Frequency Domain

Like its voltage counterpart, KCL is not confined to resistive, steady-state circuits. Because it is a statement about charge conservation at an instant, it holds for time-varying currents exactly as written, and it carries over unchanged into phasor and ss-domain analysis. In those domains the branch currents are complex, and the node equation becomes a sum of complex terms set to zero. For a node connected to neighbors through admittances Yk=1/ZkY_k = 1/Z_k, the node equation takes the compact form in which the node voltage multiplies the sum of attached admittances:

VkYkkYkVk=IsV \sum_k Y_k - \sum_k Y_k V_k = I_s

This is the building block of the admittance matrix that powers computer-aided circuit simulators. Every simulator you use, from SPICE to the engine behind this site, assembles exactly these KCL equations at each node and solves them as a matrix system. Far from being a textbook abstraction, the node equation you write by hand is identical in form to the one a solver builds automatically, which is why a firm grasp of KCL translates directly into an understanding of how the tools work internally.

Related Tutorials

Related Tutorials

Fundamentals

Kirchhoff's Voltage Law (KVL): Complete Guide

Learn KVL from first principles: sign conventions, step-by-step mesh examples, common mistakes, and how CircuitMath automates loop equations.

Fundamentals

Ohm's Law and Circuit Elements in the s-Domain

Review Ohm's law, understand impedance of R, L, and C in the Laplace domain, and see why s-domain analysis simplifies circuit solving.

Fundamentals

Voltage Divider Equation: Derivation and Applications

Derive the voltage divider from KVL and Ohm's law, understand loading effects, and explore biasing and sensing applications.

Back to All Tutorials