Audited ·Last updated 31 Jul 2026·4 citations·Tier 3·0 uses

Shockley Diode Equation Calculator — Current, Voltage and Thermal Voltage

Solve the Shockley ideal diode equation either way: current from voltage or voltage from current, with thermal voltage from exact CODATA constants.

Shockley Diode Equation Calculator

Solve for
Used when solving for current. Positive is forward bias, negative is reverse. Above roughly 0.9 V the ideal equation returns currents no diode survives, and the calculator says so rather than printing them.
V
Used when solving for voltage. A negative value must stay above −I_S: the equation approaches that reverse limit asymptotically and never reaches it.
mA
The scale factor of the whole curve, extracted by fitting measurements — it is not a table value. Small-signal silicon junctions land in the picoamp to nanoamp range; the Rice University source cited below measured 2.89 nA on a real device.
pA
Also called the emission or quality factor. The source cited below gives 1 for germanium and 2 for silicon; measured silicon signal diodes usually fall between. n = 1 makes this equation identical to the form printed in the second source, which is why it is the default.
Sets the thermal voltage V_T = kT/q only. It does not model the temperature dependence of I_S, which is much stronger — a real diode conducts more when hot, not less.
°C
Diode current
13.8707
I = I_S(e^(V/nV_T) − 1). Negative under reverse bias, where it settles at −I_S and goes no further however negative the voltage.
Diode voltage
0.6 V
Thermal voltage V_T
25.6926 mV
Small-signal resistance r_d
1.8523 Ω
Bias in thermal voltages
23.353
Reading the result
Forward bias: 0.6 V across the junction gives 13.87073 mA, which is 23.353 thermal voltages of drive at n·V_T = 25.6926 mV. Past 5 thermal voltages the −1 in the equation contributes under 0.7 %, so the familiar I ≈ I_S·e^(V/nV_T) shortcut is safe here. (Five thermal voltages is this page's own cut-off, not a published standard.) The small-signal resistance at this operating point is n·V_T/(I + I_S) = 1.8523 Ω, which is what the diode looks like to a small ripple riding on this bias. Scope: an ideal junction at a fixed 25 °C. No bulk series resistance, no high-level injection, no reverse breakdown, and no temperature dependence of I_S itself — a real I_S roughly doubles every 10 K, which this page does not model. I_S and n come from measuring a device, not from a table.

Background.

The Shockley equation is the one line that explains why a diode has a 'forward voltage' at all. It says the current through an ideal junction rises exponentially with voltage — I = I_S(e^(V/nV_T) − 1) — and everything people say about diodes follows from that shape. There is no threshold in the equation, no 0.7 V anywhere in it; 0.7 V is simply where the exponential has climbed to a current you notice. Change I_S, and the same diode 'turns on' somewhere else.

This page solves the equation in both directions. Give it a voltage and it returns the current; give it a current and it returns the voltage using the exact inverse, V = n·V_T·ln(I/I_S + 1), so a round trip lands back on the number you started with. Alongside the answer it reports the thermal voltage at your junction temperature, the small-signal resistance n·V_T/(I + I_S), and the bias expressed in thermal voltages — the last of which tells you whether the −1 term is still doing any work.

The thermal voltage is built from the CODATA 2022 values of the Boltzmann constant and the elementary charge, both of which have been exact since the 2019 SI redefinition, giving 25.6925791211 mV at 25 °C. That matters because one of the sources behind this page offers the shortcut V_T = T/11,586, which is 0.16 % low; the difference and the choice are recorded rather than smoothed over.

The model is deliberately ideal, and the limits sit beside the result rather than in a footnote. There is no bulk series resistance, so the curve keeps climbing where a real diode flattens — past about 0.9 V the equation returns currents nothing survives, and the page refuses to print them. There is no reverse breakdown, so nothing here describes a Zener. And the temperature input changes V_T only: a real diode conducts more when it gets hot because I_S rises steeply with temperature, and that dependence is not modelled here. I_S and n are numbers you extract by measuring a device, not values to look up.

What is shockley diode equation calculator?

The Shockley ideal diode equation, also called the diode law, gives the current through a p-n junction as I = I_S·(exp(V/(n·V_T)) − 1). I_S is the reverse saturation current, the tiny leakage that flows when the junction is reverse biased. V_T is the thermal voltage kT/q, about 25.7 mV at room temperature, which sets the scale of the exponent — every extra V_T of forward bias multiplies the current by e. n is the ideality or emission factor, a fitting parameter between about 1 and 2 that absorbs recombination in the depletion region. Three consequences are worth holding on to. Under forward bias beyond a few thermal voltages the −1 becomes irrelevant and the current is a clean exponential, which is why plotting log I against V gives a straight line whose slope yields n and whose intercept yields I_S. Under reverse bias the exponential collapses and the current settles at −I_S, which is why an ideal diode blocks. And because the relation is exponential, the small-signal resistance r_d = n·V_T/(I + I_S) falls in inverse proportion to current — 26 Ω at 1 mA, 2.6 Ω at 10 mA — which is the property every diode-based mixer, log amplifier and temperature sensor exploits.

How to use this calculator.

  1. Choose which side to solve for: current from a voltage, or voltage from a current.
  2. Enter the saturation current I_S in picoamps and the ideality factor n. Both are properties of the device you are modelling and should come from a datasheet curve fit or your own measurement.
  3. Enter the junction temperature. It sets the thermal voltage and nothing else.
  4. Read the current or voltage, then look at the bias-in-thermal-voltages figure: past about 5, the familiar I ≈ I_S·e^(V/nV_T) shortcut is safe.
  5. Use the small-signal resistance when you need the diode's behaviour for a small AC signal sitting on this DC bias.
  6. If the calculator refuses a forward voltage, it is telling you the ideal equation has left physical reality at that bias — a real diode would be limited by its bulk resistance long before.

The formula.

I = I_S · ( e^(V ⁄ n·V_T) − 1 ) V = n·V_T · ln( I⁄I_S + 1 ) V_T = kT ⁄ q r_d = n·V_T ⁄ (I + I_S)

Start with the thermal voltage. At 25 °C the absolute temperature is 298.15 K, so V_T = (1.380649×10⁻²³ × 298.15) ÷ 1.602176634×10⁻¹⁹ = 0.0256925791211 V, or 25.6925791211 mV. Both constants have been exact since the 2019 SI redefinition, so this figure carries no measurement uncertainty at all — only the temperature does.

Now the exponent. With n = 1 and 0.6 V applied, V/(n·V_T) = 0.6 ÷ 0.0256925791 = 23.3530466977. That is the number the page reports as 'bias in thermal voltages', and it is the whole story: the current is I_S multiplied by e raised to it, less one. e^23.353 is about 1.387×10¹⁰, so with I_S = 1 pA the current is 1×10⁻¹² × 1.387×10¹⁰ = 0.0138707299472 A, or 13.8707299472 mA.

The −1 is worth keeping. At 23 thermal voltages it changes the answer by one part in 1.4×10¹⁰ and could safely be dropped, but at 5 thermal voltages it is worth 0.67 %, and at zero bias it is what makes the current exactly zero rather than I_S. The page classifies your bias against ±5 thermal voltages and says which regime you are in — that cut-off is this page's own convention, not a published standard.

Solving backwards uses the exact inverse. Feed 13.8707299472 mA back in with the same I_S and n, and V = n·V_T·ln(I/I_S + 1) returns 0.6 V. A test asserts that round trip, which is the strongest check available on an invertible relation.

The small-signal resistance is the derivative, not a ratio. Differentiating the equation gives dI/dV = (I + I_S)/(n·V_T), so r_d = n·V_T/(I + I_S) = 25.6925791211 mV ÷ 13.8707299472 mA = 1.8522874583 Ω at this operating point. Note that it is n·V_T divided by the current, not the voltage divided by the current — the DC ratio 0.6 V ÷ 13.87 mA would be 43 Ω, more than twenty times larger, and it is the wrong number for any small-signal calculation.

One recorded disagreement. The LibreTexts Solar Basics module that supplies the equation with its ideality factor also gives the thermal voltage as V_T = T/11,586. The CODATA constants give T ÷ 11604.518…, so the shortcut runs 0.16 % high — 25.735 mV against 25.693 mV at 298.15 K. This page uses the constants, and a test pins the size of the gap so the discrepancy cannot quietly disappear.

Rounding happens once, at the return boundary, to ten decimal places. That precision has a visible consequence worth knowing: a current of 4×10⁻¹⁷ mA, which is what one nanovolt of forward bias produces, displays as zero. The bias-in-thermal-voltages output does not, which is why the forward/reverse classification is made on the voltage rather than on the rounded current.

A worked example.

Example

A junction with a 1 pA saturation current and an ideality factor of 1, sitting at 25 °C with 0.6 V across it. The thermal voltage is 25.6925791211 mV, so the bias is 23.3530466977 thermal voltages — well past the point where the −1 term matters. The current is 13.8707299472 mA. The small-signal resistance at that operating point is n·V_T/(I + I_S) = 1.8522874583 Ω, which is about twenty-three times smaller than the DC ratio of voltage to current, and it is the figure to use for a small AC signal riding on this bias. Feeding 13.8707299472 mA back into the page with 'solve for voltage' returns exactly 0.6 V, which is the round trip a test asserts. Raise the ideality factor to 2 and the same 0.6 V produces only 0.0001177731 mA — a factor of about 1.2×10⁵ less, because the exponent halves. Raise the temperature to 100 °C instead and the thermal voltage climbs to 32.1555790677 mV and the current falls to 0.1269471533 mA; that is the V_T term acting alone, and it is the opposite of what a real hot diode does, because in reality I_S climbs far faster than V_T does. This page does not model that, and says so beside the number.

saturation Current1
temperature C25
diode Voltage0.6
ideality Factor1
diode Current10
solve Forcurrent

Frequently asked questions.

Why does the equation have no 0.7 V turn-on voltage in it?
Because there is no threshold in the physics — the exponential is smooth all the way from zero. What people call the forward voltage is just the bias at which the current becomes large enough to notice for a given saturation current. With I_S = 1 pA and n = 1, this page gives 13.87 mA at 0.6 V and about 0.68 A at 0.7 V; make I_S a hundred times smaller and the same currents appear about 118 mV higher up. The 0.7 V figure is a rule of thumb about typical silicon parts at typical currents, not a property of the equation.
What value should I use for the saturation current and the ideality factor?
Ones you measured, or ones fitted from the datasheet's forward-voltage curve. Neither is a table constant. The usual method is to plot the log of forward current against forward voltage: over the region where the exponential dominates the plot is a straight line, its slope gives n and extrapolating it back to zero volts gives I_S. The Rice University source cited on this page does exactly that and reports I_S = 2.89 nA for the device it measured, and notes real silicon diodes sit around 10⁻¹⁰ A. The LibreTexts module cited gives n = 1 for germanium and 2 for silicon as a starting point.
Why does the current go down when I raise the temperature?
Because this page moves only the thermal voltage, which appears in the denominator of the exponent — a hotter junction has a larger V_T, so a fixed voltage is fewer thermal voltages of drive and the current falls. A real diode does the opposite: its saturation current rises roughly by a factor of two every 10 K, and that swamps the V_T effect, which is why a forward-biased diode's voltage drops about 2 mV per °C at constant current. That I_S temperature dependence is deliberately not modelled here, because it needs a bandgap term and device parameters this page does not take. The result says so.
Why does the calculator refuse some forward voltages?
Because the ideal equation has no series resistance and therefore no upper limit. At 0.9 V with a 1 pA saturation current it returns about 1.6 kA — a number with no physical meaning, since the bond wires would have vaporised. Rather than print it, the page stops at 1000 A and explains why. In a real diode, bulk resistance in the neutral regions turns the exponential into something close to a straight line above a few hundred milliamps, and modelling that needs a series-resistance term this page does not have.
Is the small-signal resistance the same as voltage divided by current?
No, and confusing the two is the most common error on this page's subject. The small-signal resistance is the slope of the curve, dV/dI = n·V_T/(I + I_S) — for the worked example, 1.85 Ω. The DC ratio V/I is 0.6 V ÷ 13.87 mA = 43 Ω, twenty-three times larger. The slope is the one that matters when a small AC signal rides on a DC bias: a diode at 1 mA presents about 26 Ω to that signal regardless of it dropping 0.5 or 0.7 V of DC.

References& sources.

  1. [1]Engineering LibreTexts, 'Solar Basics' supplemental module, D. P-N Junction Diodes, §3 'Ideal Diode Equation'. Primary source for the form implemented, including the ideality factor: 'i(v) = I_S [exp(v/ηV_T) − 1]', with I_S the reverse saturation current, v the applied voltage where 'negative values indicate reverse bias', V_T the thermal voltage, and 'η is the emission coefficient, which is 1 for germanium devices and 2 for silicon devices'. The module also names the relation the 'Shockley ideal diode equation'. Its shortcut V_T = T/11,586 is NOT used here — see the note on the CODATA constants below, and the 0.16 % gap recorded on the page. Retrieved 2026-07-29.
  2. [2]Don H. Johnson (Rice University), 'Electrical Engineering', Engineering LibreTexts §3.20 'The Diode'. Independent second authority for the same relation without an ideality factor: 'i(t) = I₀(e^(qv(t)/kT) − 1)', where q is 'the charge of a single electron', k is Boltzmann's constant, T is 'the diode's temperature in Kelvin' and I₀ is the leakage current. Also states 'kT/q = 25mV' at room temperature, against the 25.693 mV this page computes from the exact constants — agreement to the precision the source gives. Setting n = 1 makes this page's equation identical to Johnson's, which is why n = 1 is the default. Retrieved 2026-07-29.
  3. [3]Bill Wilson (Rice University), 'Introduction to Physical Electronics', Engineering LibreTexts §1.9 'The Diode Equation'. Third treatment, used for the saturation-current guidance quoted in the field hint and the FAQ: the ideal equation I = I_sat(e^(qV_a/kT) − 1); the statement that q/kT ≈ 40 V⁻¹ at room temperature, i.e. kT/q ≈ 25 mV; that for real silicon diodes 'I_sat is such a small value (on the order of 10⁻¹⁰ amps)'; and a measured extraction giving 'I_sat = e^−19.68 = 2.89 × 10⁻⁹ amps'. Retrieved 2026-07-29.
  4. [4]NIST Reference on Constants, Units and Uncertainty — CODATA 2022 recommended values. Boltzmann constant k = 1.380649×10⁻²³ J K⁻¹, listed as exact; elementary charge e = 1.602176634×10⁻¹⁹ C, listed as exact. Both are exact by definition following the 2019 revision of the SI, so the thermal voltage kT/q carries no uncertainty beyond that of the temperature itself. Source of every digit of the 25.6925791211 mV figure quoted on this page. Retrieved 2026-07-29.

In this category

Embed

Quanta Pro

Paid features are coming later.

  • All 977 calculators remain free
  • No billing is enabled
Coming soon