HomeCalculatorsElectricalSemiconductorDiode Equation Calculator
Electrical calculator

Diode Equation Calculator

Shockley diode law I_D=I_S·(e^(V_D/(n·V_T))−1). Solve current or voltage, including reverse branch I_D > −I_S. Runs locally in your browser.

Instant result
Result

Enter values to calculate.

Inputs
Mode
Formula
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance
Input interpretation
Enter values to calculate.
Result
Assurance
Engineering
Declared partition coverage
PASS · 5/5 declared partitions (fwd-id, inv-vd, reverse-bias, small-x, invalid-domain) · Matrix
Known limitations
  • No series Rs / breakdown / recombination extras / high-injection. Is is specified at T, not computed from a reference-temperature value.
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
Ideal Shockley diode I_D↔V_D, including reverse branch I_D > −I_S.
Scope
Ideal Shockley; no series Rs, breakdown, recombination extras, or high-injection
Verification
Engine tested · Source checked · v1.1.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· View Manifest · CVP overview · Specification
Versions
Calculation 1.1.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-13.shockley-inverse-trust.2
Verification revision
2026-09-13.shockley-inverse-trust.2 · 2/2 property · digest 4899855db55a
Legacy regression
15/15 tests · Production surface contract 4/4
Trust layers
Verification VERIFIED · Production CURRENT · overall VERIFIED
Reference
O1 model · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session.
Supplemental domain review
Internal · Pass · electrical-engineer
Named expert review
Not performed
CVP suite
6/6 golden · 10/10 CVP boundary · 11/11 invalid · 2/2 property · 8/8 round-trip · 4/4 cross-interface · 4/4 CVP contract · Manifest
Sources
Sources
Evidence
5 legacy golden · 6 legacy boundary · legacy regression suite · 6/6 oracle-backed golden · 11/11 invalid · Artifact integrity PASS · CalculatorX electrical review
This calculator CURRENT · Public schema 1.1.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

ShockleyI_D = I_S·(e^(V_D/(n·V_T))−1)
InverseV_D = n·V_T·ln(1+I_D/I_S)
Thermal voltageV_T = kT/q
iIdeal Shockley model. I_S is specified at the selected junction temperature T; this calculator does not derive I_S(T) from a reference-temperature value. Not for series R_s, breakdown, capacitance, or high-injection.

How to use

1

Choose I_D from V_D or V_D from I_D

Forward solve uses Shockley. Inverse uses V_D = n·V_T·ln(1+I_D/I_S) on the full domain I_D > −I_S, including I_D = 0 and reverse bias.

2

Enter I_S, ideality n, and temperature

I_S > 0 is the saturation current at this T. n > 0. Canonical temperature is T_K (default 300 K). REST/MCP also accept T_C, normalized to T_K.

3

Enter V_D or I_D

Read diode current or voltage. V_T = kT/q is computed from temperature. Large V_D/(n·V_T) returns NUMERIC_OVERFLOW rather than Infinity.

Example calculations

Common configurations with formula and result.

ϟ

Si-like forward

V_D=0.7 · I_S=1e-12 · n=1 · 300 K

Shockley
I_D ≈ 0.574755 A (ideal model)

Diode Equation calculator specification

Version 1.1.0 · Engine tested · Supplemental domain review · Internal · 2026-09-13

Calculation status

Review policy · Evidence · Reviewed by CalculatorX electrical review (electrical-engineer)

Definition
The Shockley equation models an ideal p–n diode DC characteristic: I_D = I_S·(e^(V_D/(n·V_T))−1), with V_T=kT/q. Inverse: V_D = n·V_T·ln(1+I_D/I_S) for I_D > −I_S.
What it calculates
Ideal Shockley diode I_D↔V_D, including reverse branch I_D > −I_S.
Inputs
  • mode id|vd (default id)
  • Vd (mode=id) or Id (mode=vd, Id > -Is)
  • Is > 0 at selected T
  • n (default 1)
  • T_K (default 300; UI/query alias T_C normalized to T_K)
Outputs
  • Id or Vd
  • Vt
Formula
I_D=I_S(e^(V_D/(n·V_T))−1)
Assumptions
  • Ideal Shockley; no series Rs, breakdown, recombination extras, or high-injection
  • I_S is the saturation current at the selected junction temperature; I_S(T) is not derived
Units
  • V, A, K
Boundary conditions
  • Is,n,T ≤0 → VALUE_MUST_BE_POSITIVE
  • mode=vd and Id ≤ -Is → VALUE_OUT_OF_RANGE
  • binary64 overflow of expm1/log1p → NUMERIC_OVERFLOW
Example
Vd=0.7 Is=1e-12 n=1 T_K=300 → Id≈0.574755 A
Validation cases

1 published on this page · 15/15 tests · Production surface contract 4/4 · View evidence

  • id Vd=0.7 Is=1e-12 n=1 T_K=300 → Id≈0.574755
Sources
Last reviewed
2026-09-13
Reviewed by
CalculatorX electrical review (electrical-engineer)
Calculation version
1.1.0

Background

Interpretation and common distinctions.

Shockley diode I_D↔V_D. Ideal p–n model, including reverse bias down to I_D → −I_S⁺.

I_S is treated as the saturation current at the selected junction temperature. This calculator does not derive I_S(T) from a reference-temperature value. Changing T with I_S held fixed only updates V_T = kT/q.

Supported and not supported

Supported — Ideal Shockley forward and reverse DC · inverse I_D > −I_S (includes I_D = 0) · API electrical.diode.equation

Not supported — Breakdown, series R_s, capacitance, high-injection, SPICE models, automatic I_S(T)

Agent / API notes

Capability id: electrical.diode.equation · tool id: diode-equation · pin 1.1.0.

Defaults: mode=id, n=1, T_K=300. Canonical REST/MCP temperature is T_K. UI and query also accept T_C (Celsius), normalized to T_K; if both are sent, T_K wins.

mode=id requires Vd. mode=vd requires Id with Id > -Is. Id = 0Vd = 0.

Errors: MISSING_REQUIRED_INPUT, VALUE_MUST_BE_POSITIVE, VALUE_OUT_OF_RANGE, NUMERIC_OVERFLOW.

}

Frequently asked questions

Key distinctions behind the calculation.

What is n?

Ideality factor, typically ~1–2 depending on recombination. n=1 is the ideal Shockley case.

What is saturation current I_S?

I_S is the scale of the exponential. In this calculator it is an input at the selected junction temperature T — not computed from a reference-temperature I_S(T) model. Changing T with I_S held fixed only moves V_T = kT/q.

What is thermal voltage V_T?

V_T = kT/q using CODATA 2022 exact k and e. At 300 K, V_T ≈ 25.852 mV.

Why is 0.7 V not a fixed diode drop?

Forward voltage depends on I_D, I_S, n, and T. 0.7 V is a silicon rule of thumb, not a constant. In this ideal model, 0.7 V at I_S=1 pA and 300 K already gives ~0.575 A — far above typical small-signal diode current because the model has no series resistance or high-injection limit.

How does temperature affect the result?

Only through V_T = kT/q. Real devices also have a strongly temperature-dependent I_S. This tool does not apply I_S(T); enter the saturation current that applies at the T you selected.

When does the Shockley equation stop being accurate?

When series resistance, self-heating, high injection, recombination-generation, or breakdown matter. Reverse current in the ideal model saturates at −I_S; real reverse leakage and breakdown are not modeled. Large V_D/(n·V_T) is numerically overflowed (NUMERIC_OVERFLOW) and is already outside the model.

Can I solve reverse bias?

Yes. Inverse mode allows I_D > −I_S, including I_D = 0 (→ V_D = 0) and I_D = −0.5·I_S. I_D ≤ −I_S returns VALUE_OUT_OF_RANGE.