
NEC 2023 electrical calculators: wire size, ampacity, voltage drop, conduit fill, box fill, load.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Electrical bid price from materials, markup, labor hours and rate, job costs, overhead and a target net margin (price = break-even / (1 − margin)).
Burdened labor cost ($/h).
Labor hours (h).
Target net margin (%).
Overhead (% of direct cost) (%).
Material cost ($).
Permits and other job costs ($). Optional.
Material markup (%). Optional.
Electrical bid price from materials, markup, labor hours and rate, job costs, overhead and a target net margin (price = break-even / (1 − margin)).
| Argument | Type | Description |
|---|---|---|
| rate* | number | Burdened labor cost ($/h). |
| hours* | number | Labor hours (h). |
| direct | number | Permits and other job costs ($). Optional. |
| margin* | number | Target net margin (%). |
| markup | number | Material markup (%). Optional. |
| overhead* | number | Overhead (% of direct cost) (%). |
| materials* | number | Material cost ($). |
{
"type": "object",
"required": [
"materials",
"hours",
"rate",
"overhead",
"margin"
],
"properties": {
"rate": {
"type": "number",
"default": 55,
"minimum": 0,
"description": "Burdened labor cost ($/h)."
},
"hours": {
"type": "number",
"default": 40,
"minimum": 0,
"description": "Labor hours (h)."
},
"direct": {
"type": "number",
"default": 250,
"minimum": 0,
"description": "Permits and other job costs ($). Optional."
},
"margin": {
"type": "number",
"default": 15,
"minimum": 0,
"description": "Target net margin (%)."
},
"markup": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Material markup (%). Optional."
},
"overhead": {
"type": "number",
"default": 20,
"minimum": 0,
"description": "Overhead (% of direct cost) (%)."
},
"materials": {
"type": "number",
"default": 1850,
"minimum": 0,
"description": "Material cost ($)."
}
},
"additionalProperties": false
}Minimum outlet box volume from NEC 314.16(B): conductor, device (2 each), clamp and grounding allowances times the Table 314.16(B) volume for the largest conductor.
| Argument | Type | Description |
|---|---|---|
| awg* | string | Largest conductor. "6" = 6 AWG; "8" = 8 AWG; "10" = 10 AWG; "12" = 12 AWG; "14" = 14 AWG; "16" = 16 AWG; "18" = 18 AWG. |
| clamps* | string | Internal cable clamps. "0" = None; "1" = One or more. |
| devices* | number | Devices (switches, receptacles). |
| grounds* | string | Equipment grounding conductors. "0" = None; "1" = One or more. |
| conductors* | number | Insulated conductors (not counting grounds). |
{
"type": "object",
"required": [
"awg",
"conductors",
"devices",
"clamps",
"grounds"
],
"properties": {
"awg": {
"enum": [
"6",
"8",
"10",
"12",
"14",
"16",
"18"
],
"type": "string",
"default": "12",
"description": "Largest conductor. \"6\" = 6 AWG; \"8\" = 8 AWG; \"10\" = 10 AWG; \"12\" = 12 AWG; \"14\" = 14 AWG; \"16\" = 16 AWG; \"18\" = 18 AWG."
},
"clamps": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "1",
"description": "Internal cable clamps. \"0\" = None; \"1\" = One or more."
},
"devices": {
"type": "number",
"default": 1,
"minimum": 0,
"description": "Devices (switches, receptacles)."
},
"grounds": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "1",
"description": "Equipment grounding conductors. \"0\" = None; \"1\" = One or more."
},
"conductors": {
"type": "number",
"default": 5,
"minimum": 0,
"description": "Insulated conductors (not counting grounds)."
}
},
"additionalProperties": false
}Percent fill and maximum number of THHN/THWN-2 conductors of one size in EMT or PVC Schedule 40, from NEC Chapter 9 Tables 1, 4 and 5.
| Argument | Type | Description |
|---|---|---|
| awg* | string | THHN/THWN-2 size. "1" = 1 AWG; "2" = 2 AWG; "3" = 3 AWG; "4" = 4 AWG; "6" = 6 AWG; "8" = 8 AWG; "10" = 10 AWG; "12" = 12 AWG; "14" = 14 AWG; "1/0" = 1/0 AWG; "2/0" = 2/0 AWG; "3/0" = 3/0 AWG; "4/0" = 4/0 AWG. |
| size* | string | Trade size. "1" = 1"; "2" = 2"; "3" = 3"; "4" = 4"; "1/2" = 1/2"; "3/4" = 3/4"; "1-1/4" = 1-1/4"; "1-1/2" = 1-1/2"; "2-1/2" = 2-1/2"; "3-1/2" = 3-1/2". |
| type* | string | Conduit type. "EMT" = EMT; "PVC-40" = PVC Schedule 40. |
| count* | number | Number of conductors. |
{
"type": "object",
"required": [
"type",
"size",
"awg",
"count"
],
"properties": {
"awg": {
"enum": [
"1",
"2",
"3",
"4",
"6",
"8",
"10",
"12",
"14",
"1/0",
"2/0",
"3/0",
"4/0"
],
"type": "string",
"default": "12",
"description": "THHN/THWN-2 size. \"1\" = 1 AWG; \"2\" = 2 AWG; \"3\" = 3 AWG; \"4\" = 4 AWG; \"6\" = 6 AWG; \"8\" = 8 AWG; \"10\" = 10 AWG; \"12\" = 12 AWG; \"14\" = 14 AWG; \"1/0\" = 1/0 AWG; \"2/0\" = 2/0 AWG; \"3/0\" = 3/0 AWG; \"4/0\" = 4/0 AWG."
},
"size": {
"enum": [
"1",
"2",
"3",
"4",
"1/2",
"3/4",
"1-1/4",
"1-1/2",
"2-1/2",
"3-1/2"
],
"type": "string",
"default": "3/4",
"description": "Trade size. \"1\" = 1\"; \"2\" = 2\"; \"3\" = 3\"; \"4\" = 4\"; \"1/2\" = 1/2\"; \"3/4\" = 3/4\"; \"1-1/4\" = 1-1/4\"; \"1-1/2\" = 1-1/2\"; \"2-1/2\" = 2-1/2\"; \"3-1/2\" = 3-1/2\"."
},
"type": {
"enum": [
"EMT",
"PVC-40"
],
"type": "string",
"default": "EMT",
"description": "Conduit type. \"EMT\" = EMT; \"PVC-40\" = PVC Schedule 40."
},
"count": {
"type": "number",
"default": 10,
"minimum": 1,
"description": "Number of conductors."
}
},
"additionalProperties": false
}Dwelling service load by the NEC 220.82 optional method: 3 VA/ft² lighting, small-appliance and laundry circuits, fixed appliances, demand factor, heating or cooling, and the minimum standard service size. Leave an appliance out to count it as 0 VA.
| Argument | Type | Description |
|---|---|---|
| ev | number | EV charger (VA). Optional. |
| hvac | number | Largest of heating or cooling (VA). Optional. |
| sqft* | number | Living area (ft²). |
| dryer | number | Dryer (VA). Optional. |
| other | number | Other fixed appliances (VA). Optional. |
| range | number | Range / cooktop (VA). Optional. |
| small* | number | Small-appliance circuits. |
| heater | number | Water heater (VA). Optional. |
| laundry* | string | Laundry circuit. "1" = Yes (1,500 VA); "0" = No. |
Allowable ampacity of one insulated conductor from NEC Table 310.16 (not more than three current-carrying conductors in a raceway or cable, 30°C ambient), before any adjustment or correction factors and before the 240.4(D) small-conductor limits.
| Argument | Type | Description |
|---|---|---|
| size* | string | Conductor size: AWG ("14" … "4/0") or kcmil ("250" … "500"). |
| temp* | string | Temperature column in °C: 60 (NM-B, UF), 75 (THWN, most terminations), 90 (THHN, for derating). |
| material* | string | "cu" = copper; "al" = aluminum. |
{
"type": "object",
"required": [
"material",
"temp",
"size"
],
"properties": {
"size": {
"enum": [
"14",
"12",
"10",
"8",
"6",
"4",
"3",
"2",
"1",
"1/0",
"2/0",
"3/0",
"4/0",
"250",
"300",
"350",
"400",
"500"
],
"type": "string",
"description": "Conductor size: AWG (\"14\" … \"4/0\") or kcmil (\"250\" … \"500\")."
},
"temp": {
"enum": [
"60",
"75",
"90"
],
"type": "string",
"description": "Temperature column in °C: 60 (NM-B, UF), 75 (THWN, most terminations), 90 (THHN, for derating)."
},
"material": {
"enum": [
"cu",
"al"
],
"type": "string",
"description": "\"cu\" = copper; \"al\" = aluminum."
}
},
"additionalProperties": false
}Ohm's law and power: give exactly two of voltage, current, resistance and power; the other two are calculated.
| Argument | Type | Description |
|---|---|---|
| i | number | Current (A). Optional. |
| p | number | Power (W). Optional. |
| r | number | Resistance (Ω). Optional. |
| v | number | Voltage (V). Optional. |
{
"type": "object",
"required": [],
"properties": {
"i": {
"type": "number",
"minimum": 0,
"description": "Current (A). Optional."
},
"p": {
"type": "number",
"minimum": 0,
"description": "Power (W). Optional."
},
"r": {
"type": "number",
"default": 24,
"minimum": 0,
"description": "Resistance (Ω). Optional."
},
"v": {
"type": "number",
"default": 120,
"minimum": 0,
"description": "Voltage (V). Optional."
}
},
"additionalProperties": false
}Lays circuits out on a 120/240 V single-phase or 208Y/120 V three-phase panel and totals the load per phase with the imbalance.
| Argument | Type | Description |
|---|---|---|
| spaces* | string | Spaces. "12" = 12; "20" = 20; "24" = 24; "30" = 30; "42" = 42. |
| system* | string | Panel. "1" = 120/240 V single-phase; "3" = 208Y/120 V three-phase. |
| circuits* | string | Circuits: description, breaker A, poles, VA (one per line) |
{
"type": "object",
"required": [
"system",
"spaces",
"circuits"
],
"properties": {
"spaces": {
"enum": [
"12",
"20",
"24",
"30",
"42"
],
"type": "string",
"default": "30",
"description": "Spaces. \"12\" = 12; \"20\" = 20; \"24\" = 24; \"30\" = 30; \"42\" = 42."
},
"system": {
"enum": [
"1",
"3"
],
"type": "string",
"default": "1",
"description": "Panel. \"1\" = 120/240 V single-phase; \"3\" = 208Y/120 V three-phase."
},
"circuits": {
"type": "string",
"default": "Kitchen receptacles, 20, 1, 1500\nKitchen receptacles, 20, 1, 1500\nMicrowave, 20, 1, 1500\nDishwasher, 15, 1, 1200\nRange, 50, 2, 12000\nDryer, 30, 2, 5000\nWater heater, 30, 2, 4500\nLighting, 15, 1, 1200",
"description": "Circuits: description, breaker A, poles, VA (one per line)"
}
},
"additionalProperties": false
}Voltage drop for a given conductor size, current and one-way length, single- or three-phase, from NEC Chapter 9 Table 8 circular mils (VD = 2·K·I·L / CM, or √3 for three-phase).
| Argument | Type | Description |
|---|---|---|
| awg* | string | Size. "14" = 14 AWG; "12" = 12 AWG; "10" = 10 AWG; "8" = 8 AWG; "6" = 6 AWG; "4" = 4 AWG; "3" = 3 AWG; "2" = 2 AWG; "1" = 1 AWG; "1/0" = 1/0 AWG; "2/0" = 2/0 AWG; "3/0" = 3/0 AWG; "4/0" = 4/0 AWG; "250" = 250 kcmil; "300" = 300 kcmil; "350" = 350 kcmil; "400" = 400 kcmil; "500" = 500 kcmil. |
| amps* | number | Load current (A). |
| feet* | number | One-way distance (ft). |
| phase* | string | Phase. "1" = Single-phase; "3" = Three-phase. |
| volts* | string | Voltage. "120" = 120 V; "208" = 208 V; "240" = 240 V; "277" = 277 V; "480" = 480 V. |
| material* | string | Conductor. "cu" = Copper; "al" = Aluminum. |
{
"type": "object",
"required": [
"material",
"awg",
"amps",
"volts",
"phase",
"feet"
],
"properties": {
"awg": {
"enum": [
"14",
"12",
"10",
"8",
"6",
"4",
"3",
"2",
"1",
"1/0",
"2/0",
"3/0",
"4/0",
"250",
"300",
"350",
"400",
"500"
],
"type": "string",
"default": "6",
"description": "Size. \"14\" = 14 AWG; \"12\" = 12 AWG; \"10\" = 10 AWG; \"8\" = 8 AWG; \"6\" = 6 AWG; \"4\" = 4 AWG; \"3\" = 3 AWG; \"2\" = 2 AWG; \"1\" = 1 AWG; \"1/0\" = 1/0 AWG; \"2/0\" = 2/0 AWG; \"3/0\" = 3/0 AWG; \"4/0\" = 4/0 AWG; \"250\" = 250 kcmil; \"300\" = 300 kcmil; \"350\" = 350 kcmil; \"400\" = 400 kcmil; \"500\" = 500 kcmil."
},
"amps": {
"type": "number",
"default": 48,
"minimum": 0.1,
"description": "Load current (A)."
},
"feet": {
"type": "number",
"default": 110,
"minimum": 1,
"description": "One-way distance (ft)."
},
"phase": {
"enum": [
"1",
"3"
],
"type": "string",
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"volts": {
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"type": "string",
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"material": {
"enum": [
"cu",
"al"
],
"type": "string",
"default": "cu",
"description": "Conductor. \"cu\" = Copper; \"al\" = Aluminum."
}
},
"additionalProperties": false
}Current drawn by a load in watts at a voltage and power factor, single- or three-phase, plus the 125% continuous-load value.
| Argument | Type | Description |
|---|---|---|
| pf* | number | Power factor. |
| phase* | string | Phase. "1" = Single-phase; "3" = Three-phase. |
| volts* | string | Voltage. "120" = 120 V; "208" = 208 V; "240" = 240 V; "277" = 277 V; "480" = 480 V. |
| watts* | number | Power (W). |
{
"type": "object",
"required": [
"watts",
"volts",
"phase",
"pf"
],
"properties": {
"pf": {
"type": "number",
"default": 1,
"minimum": 0.1,
"description": "Power factor."
},
"phase": {
"enum": [
"1",
"3"
],
"type": "string",
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"volts": {
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"type": "string",
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"watts": {
"type": "number",
"default": 5000,
"minimum": 1,
"description": "Power (W)."
}
},
"additionalProperties": false
}Minimum conductor size for a circuit: NEC Table 310.16 ampacity at the termination temperature rating, the 240.4(D) small-conductor limits, voltage drop over the run, and the Table 250.122 equipment grounding conductor, increased in proportion under 250.122(B) when voltage drop upsizes the conductors.
| Argument | Type | Description |
|---|---|---|
| amps* | number | Breaker / load (A). |
| feet* | number | One-way distance (ft). |
| temp* | string | Termination rating. "60" = 60°C (NM-B, UF); "75" = 75°C (THHN in conduit); "90" = 90°C. |
| limit* | number | Max voltage drop (%). |
| phase* | string | Phase. "1" = Single-phase; "3" = Three-phase. |
| volts* | string | Voltage. "120" = 120 V; "208" = 208 V; "240" = 240 V; "277" = 277 V; "480" = 480 V. |
| material* | string | Conductor. "cu" = Copper; "al" = Aluminum. |
| disposal | number | Disposal (VA). Optional. |
| dishwasher | number | Dishwasher (VA). Optional. |
{
"type": "object",
"required": [
"sqft",
"small",
"laundry"
],
"properties": {
"ev": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "EV charger (VA). Optional."
},
"hvac": {
"type": "number",
"default": 5000,
"minimum": 0,
"description": "Largest of heating or cooling (VA). Optional."
},
"sqft": {
"type": "number",
"default": 2400,
"minimum": 1,
"description": "Living area (ft²)."
},
"dryer": {
"type": "number",
"default": 5000,
"minimum": 0,
"description": "Dryer (VA). Optional."
},
"other": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Other fixed appliances (VA). Optional."
},
"range": {
"type": "number",
"default": 12000,
"minimum": 0,
"description": "Range / cooktop (VA). Optional."
},
"small": {
"type": "number",
"default": 2,
"minimum": 2,
"description": "Small-appliance circuits."
},
"heater": {
"type": "number",
"default": 4500,
"minimum": 0,
"description": "Water heater (VA). Optional."
},
"laundry": {
"enum": [
"1",
"0"
],
"type": "string",
"default": "1",
"description": "Laundry circuit. \"1\" = Yes (1,500 VA); \"0\" = No."
},
"disposal": {
"type": "number",
"default": 800,
"minimum": 0,
"description": "Disposal (VA). Optional."
},
"dishwasher": {
"type": "number",
"default": 1200,
"minimum": 0,
"description": "Dishwasher (VA). Optional."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"material",
"temp",
"amps",
"volts",
"phase",
"feet",
"limit"
],
"properties": {
"amps": {
"type": "number",
"default": 60,
"minimum": 1,
"description": "Breaker / load (A)."
},
"feet": {
"type": "number",
"default": 150,
"minimum": 1,
"description": "One-way distance (ft)."
},
"temp": {
"enum": [
"60",
"75",
"90"
],
"type": "string",
"default": "75",
"description": "Termination rating. \"60\" = 60°C (NM-B, UF); \"75\" = 75°C (THHN in conduit); \"90\" = 90°C."
},
"limit": {
"type": "number",
"default": 3,
"minimum": 0.5,
"description": "Max voltage drop (%)."
},
"phase": {
"enum": [
"1",
"3"
],
"type": "string",
"default": "1",
"description": "Phase. \"1\" = Single-phase; \"3\" = Three-phase."
},
"volts": {
"enum": [
"120",
"208",
"240",
"277",
"480"
],
"type": "string",
"default": "240",
"description": "Voltage. \"120\" = 120 V; \"208\" = 208 V; \"240\" = 240 V; \"277\" = 277 V; \"480\" = 480 V."
},
"material": {
"enum": [
"cu",
"al"
],
"type": "string",
"default": "cu",
"description": "Conductor. \"cu\" = Copper; \"al\" = Aluminum."
}
},
"additionalProperties": false
}