ForHosting KIT · Developer Utilities

Shockley diode equation calculator

The Shockley diode equation calculator computes the current through an ideal diode model from the applied diode voltage, reverse saturation current, and thermal voltage.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

It evaluates I = Is × (exp(Vd / Vt) − 1), reports the current in amperes, and also returns the normalized voltage used by the exponential. The calculation is deterministic and runs without network access, making it useful for quick circuit checks, teaching examples, spreadsheet replacement, and repeatable engineering scripts.

Understand the Shockley diode equation

The Shockley equation describes the strongly nonlinear relationship between voltage across an ideal diode junction and the resulting current. In this calculator, Vd is the applied diode voltage in volts, Is is the reverse saturation current in amperes, and Vt is the thermal voltage in volts. The calculation is I = Is × (exp(Vd / Vt) − 1). A modest positive voltage can create a large forward current because voltage appears in an exponential, while a sufficiently negative voltage makes the exponential approach zero and the modeled current approach minus Is. That reverse-bias behavior represents saturation before breakdown; the equation does not model avalanche or Zener breakdown. Thermal voltage is approximately 25.85 millivolts near room temperature, but it is supplied directly so you can use a value appropriate to your assumptions. This form omits an ideality factor, so it corresponds to an ideality factor of one. Use a more detailed device or SPICE model when series resistance, recombination, high-level injection, self-heating, leakage variation, or breakdown materially affects the circuit.

Enter parameters with consistent units

Provide voltage and thermal_voltage in volts and saturation_current in amperes. Forward bias uses a positive voltage; reverse bias uses a negative voltage. All three inputs must be finite, while saturation current and thermal voltage must also be strictly greater than zero. For example, enter 0.6 V, 1e-12 A, and 0.02585 V to estimate forward current for a simplified silicon-junction case. Do not enter 25.85 for thermal voltage when you mean millivolts: convert it to 0.02585 V first. Likewise, a saturation current of one nanoampere is 1e-9 A, not 1. The response includes diode_current, the cleaned inputs, and normalized_voltage, which is Vd divided by Vt. That ratio is useful for checking why the result changes so sharply. The implementation uses expm1 rather than subtracting one from an ordinary exponential, which improves numerical accuracy around zero voltage. Inputs that would overflow the finite numeric range are rejected instead of returning Infinity, so automated callers receive a clear invalid-input failure rather than unusable JSON.

Use the result within the model's limits

Treat the returned current as the result of a compact analytic model, not as a guaranteed current for a particular manufactured diode. Saturation current can vary substantially between devices and with temperature, and thermal voltage itself depends on absolute temperature. Real circuits also include source resistance, diode bulk resistance, wiring resistance, and power limits that constrain the current predicted by an unconstrained exponential. The calculator is therefore most useful for coursework, sensitivity studies, first-pass hand calculations, regression fixtures, and comparing a known formula across many parameter sets. When designing hardware, verify the result against the component data sheet and include the surrounding circuit. In reverse bias, do not use this equation beyond the device's breakdown region because it intentionally has no breakdown term. Browser calculations run locally, while API automation costs $0.002 per successful request. Both channels use the same pure solver, so the same inputs produce the same JSON without a clock, random seed, external service, or hidden environmental dependency. Validation failures are reported before any result is produced.

Check a diode homework calculation

Evaluate the ideal Shockley model and inspect the normalized voltage without repeatedly entering the exponential expression into a general calculator.

Run parameter sensitivity studies

Call the API across several voltages, saturation currents, or thermal voltages to see how each assumption changes modeled junction current.

Create deterministic test fixtures

Generate stable current values for circuit-analysis examples and software tests that need a transparent formula with no network dependency.

What formula does this calculator use?

It uses I = Is × (exp(Vd / Vt) − 1), where Vd is diode voltage, Is is saturation current, and Vt is thermal voltage.

Does the equation include an ideality factor?

No. This capability implements the three-parameter form requested, equivalent to an ideality factor of one.

Can the applied voltage be negative?

Yes. A negative voltage models reverse bias, where the result approaches the negative saturation current before breakdown.

Does it model Zener or avalanche breakdown?

No. The Shockley expression used here does not include reverse-breakdown behavior, series resistance, or self-heating.

What does it cost?

The browser calculator is free. Automated API requests cost $0.002 per successful item.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/elec/shockley-diode

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/elec/shockley-diode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"voltage":0.6,"saturation_current":1e-12,"thermal_voltage":0.02585}'
{
  "voltage": 0.6,
  "saturation_current": 1e-12,
  "thermal_voltage": 0.02585
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.shockley_diode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →