MOSFET Drain Current in Saturation Calculator
This MOSFET drain current calculator applies the ideal square-law saturation equation to a gate overdrive voltage and a device transconductance parameter.
Run — free
Enter the overdrive voltage in volts and the parameter in amperes per volt squared; the result is returned in both amperes and milliamperes. It is useful for quick bias estimates, classroom calculations, and first-pass circuit checks when the long-channel model is appropriate and channel-length modulation can be neglected.
Choose the two quantities the equation actually needs
The saturation square-law model uses gate overdrive voltage rather than gate-to-source voltage by itself. Gate overdrive, commonly written V_OV, is V_GS minus the threshold voltage V_TH. If a circuit provides V_GS and V_TH separately, subtract them before entering the value. The second input is the device transconductance parameter k, expressed in amperes per volt squared. In this calculator, k is defined so that drain current equals one half of k times the square of V_OV. Datasheets and textbooks do not always use identical symbols or definitions: some call the parameter beta, some include the factor of one half inside a quoted constant, and some distinguish process transconductance from the geometry-adjusted device parameter. Confirm the convention before copying a value. Enter only finite, nonnegative numbers. A zero overdrive or zero parameter produces zero current under this idealized model, while negative overdrive is rejected because the requested equation is specifically the conducting saturation expression, not a subthreshold model. Keeping units consistent is essential: volts and amperes per volt squared produce amperes.
Understand the square-law result
The calculator evaluates I_D = 0.5 × k × V_OV². Squaring the overdrive means that current is highly sensitive to changes in gate bias: doubling V_OV makes the ideal drain current four times as large when k remains constant. The response includes the current in amperes and milliamperes, echoes the normalized inputs with their units, and identifies the equation used. For example, an overdrive of 2.5 volts with k equal to 0.004 amperes per volt squared gives 0.0125 amperes, or 12.5 milliamperes. This calculation assumes that the MOSFET is already operating in saturation. For the simplest long-channel NMOS model, that normally requires V_DS to be at least V_OV. The calculator does not receive V_DS, so it cannot verify that condition. It also omits channel-length modulation, body effect, mobility degradation, velocity saturation, temperature dependence, leakage, and mismatch. The result is therefore a model value, not a guaranteed measurement. Use it as a transparent baseline whose assumptions are easy to inspect.
Apply the estimate safely in circuit work
Use the result to establish a first-pass bias point, compare candidate device parameters, or check hand calculations before moving to a richer simulation. After calculating current, verify that the chosen drain and source voltages really place the device in saturation and that the predicted power dissipation, I_D times V_DS, remains acceptable. For a discrete MOSFET, consult transfer curves and parameter ranges because threshold voltage and transconductance can vary substantially between parts and with junction temperature. For an integrated design, compare the ideal current with the process model at the relevant channel length, width, supply voltage, and corners. If your source defines beta so the current equation is beta times V_OV squared without the one-half factor, convert that value before using this calculator; otherwise the answer will differ by a factor of two. Automated calls cost $0.002 per request, while the browser calculation can support quick interactive checks. Record both input values and the stated equation alongside a result so reviewers can reproduce the assumption rather than treating a bare current figure as universal device behavior.
What you can do with it
Estimate a bias current
Calculate the ideal saturation current for a selected gate overdrive and geometry-adjusted transconductance parameter.
Check coursework
Verify a square-law MOSFET calculation and see the result in amperes and milliamperes.
Compare design points
Evaluate how a changed overdrive voltage or device parameter affects the first-pass drain-current estimate.
FAQ
Which equation does the calculator use?
It uses I_D = 0.5 × k × V_OV², where k is in amperes per volt squared and V_OV is in volts.
What is gate overdrive voltage?
Gate overdrive voltage is V_GS minus the threshold voltage V_TH. It indicates how far the applied gate voltage is above threshold.
Does the calculator verify saturation?
No. It does not receive V_DS. You must independently check the saturation condition appropriate to the MOSFET model you are using.
Why might a datasheet calculation differ by a factor of two?
Different references define k or beta differently. This calculator expects the convention with an explicit one-half factor in the drain-current equation.
Does the result include channel-length modulation?
No. It is the ideal square-law saturation current and neglects channel-length modulation and other short-channel or second-order effects.
What does an automated calculation cost?
Each API request costs $0.002. The same deterministic calculation is also available in the browser.
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/elec/mosfet-drain-current \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gate_overdrive_voltage":2.5,"transconductance_parameter":0.004}'const res = await fetch("https://api.kit.forhosting.com/elec/mosfet-drain-current", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gate_overdrive_voltage": 2.5,
"transconductance_parameter": 0.004
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/mosfet-drain-current",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gate_overdrive_voltage": 2.5,
"transconductance_parameter": 0.004
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/mosfet-drain-current", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gate_overdrive_voltage":2.5,"transconductance_parameter":0.004}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gate_overdrive_voltage":2.5,"transconductance_parameter":0.004}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/mosfet-drain-current", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"gate_overdrive_voltage": 2.5,
"transconductance_parameter": 0.004
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.mosfet_drain_current",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |