Based on NEC (National Electrical Code) Standards for Grounding Electrode Conductors (GEC) and Equipment Grounding Conductors (EGC).
Equipment Grounding Conductor (based on Amperage)
Grounding Electrode Conductor (based on Service Size)
2 AWG or smaller Copper
1 or 1/0 AWG Copper
2/0 or 3/0 AWG Copper
Over 3/0 through 350 kcmil Copper
Over 350 through 600 kcmil Copper
Over 600 through 1100 kcmil Copper
Over 1100 kcmil Copper
Copper (Cu)
Aluminum (Al) / Copper-Clad Al
Required Grounding Size:
Understanding Grounding Wire Sizing
Correctly sizing grounding wires is critical for electrical safety and code compliance. An undersized grounding conductor may melt or fail during a short circuit, preventing the circuit breaker from tripping and creating a significant fire or shock hazard.
1. Equipment Grounding Conductor (EGC)
The EGC is the wire that connects non-current-carrying metal parts of equipment (like motor frames or conduit) to the system grounding bus. It is sized based on the rating of the fuse or circuit breaker protecting the circuit (NEC Table 250.122).
15 Amp Circuit: Minimum 14 AWG Copper.
20 Amp Circuit: Minimum 12 AWG Copper.
60 Amp Circuit: Minimum 10 AWG Copper.
100 Amp Circuit: Minimum 8 AWG Copper.
2. Grounding Electrode Conductor (GEC)
The GEC connects the main service equipment to the earth (ground rod, water pipe, or concrete-encased electrode). It is sized based on the largest ungrounded service-entrance conductor (NEC Table 250.66).
Calculation Examples
Example A: You have a 200-amp main breaker for a residential home. According to NEC Table 250.122 for an EGC, you would typically use a 6 AWG Copper wire. However, if you are sizing the GEC for a service with 2/0 Copper service conductors, Table 250.66 requires a 4 AWG Copper grounding conductor.
Material Selection: Copper vs. Aluminum
Copper is more conductive and corrosion-resistant, making it the preferred choice for most grounding applications. Aluminum requires larger diameters to carry the same fault current and must be treated with anti-oxidant compound at termination points to prevent galvanic corrosion.
Warning: Always consult with a licensed electrician and your local building department before performing electrical work. This calculator is for informational purposes and reflects NEC standards, which may vary by local jurisdiction.
function toggleInputs() {
var type = document.getElementById("calcType").value;
var egcGroup = document.getElementById("egcInputGroup");
var gecGroup = document.getElementById("gecInputGroup");
if (type === "EGC") {
egcGroup.style.display = "block";
gecGroup.style.display = "none";
} else {
egcGroup.style.display = "none";
gecGroup.style.display = "block";
}
}
function calculateGrounding() {
var type = document.getElementById("calcType").value;
var material = document.getElementById("material").value;
var resultText = document.getElementById("resultText");
var resultRef = document.getElementById("resultReference");
var resultBox = document.getElementById("grounding-result-box");
var finalSize = "";
var reference = "";
if (type === "EGC") {
var amps = parseFloat(document.getElementById("ampRating").value);
if (isNaN(amps) || amps <= 0) {
alert("Please enter a valid amperage rating.");
return;
}
reference = "Based on NEC Table 250.122 (Equipment Grounding Conductors)";
if (material === "copper") {
if (amps <= 15) finalSize = "14 AWG Copper";
else if (amps <= 20) finalSize = "12 AWG Copper";
else if (amps <= 60) finalSize = "10 AWG Copper";
else if (amps <= 100) finalSize = "8 AWG Copper";
else if (amps <= 200) finalSize = "6 AWG Copper";
else if (amps <= 300) finalSize = "4 AWG Copper";
else if (amps <= 400) finalSize = "3 AWG Copper";
else if (amps <= 500) finalSize = "2 AWG Copper";
else if (amps <= 600) finalSize = "1 AWG Copper";
else if (amps <= 800) finalSize = "1/0 AWG Copper";
else if (amps <= 1000) finalSize = "2/0 AWG Copper";
else if (amps <= 1200) finalSize = "3/0 AWG Copper";
else if (amps <= 1600) finalSize = "4/0 AWG Copper";
else if (amps <= 2000) finalSize = "250 kcmil Copper";
else finalSize = "Consult NEC Table 250.122 for ratings above 2000A";
} else {
// Aluminum
if (amps <= 15) finalSize = "12 AWG Aluminum";
else if (amps <= 20) finalSize = "10 AWG Aluminum";
else if (amps <= 60) finalSize = "8 AWG Aluminum";
else if (amps <= 100) finalSize = "6 AWG Aluminum";
else if (amps <= 200) finalSize = "4 AWG Aluminum";
else if (amps <= 300) finalSize = "2 AWG Aluminum";
else if (amps <= 400) finalSize = "1 AWG Aluminum";
else if (amps <= 500) finalSize = "1/0 AWG Aluminum";
else if (amps <= 600) finalSize = "2/0 AWG Aluminum";
else if (amps <= 800) finalSize = "3/0 AWG Aluminum";
else if (amps <= 1000) finalSize = "4/0 AWG Aluminum";
else if (amps <= 1200) finalSize = "250 kcmil Aluminum";
else if (amps <= 1600) finalSize = "350 kcmil Aluminum";
else if (amps <= 2000) finalSize = "400 kcmil Aluminum";
else finalSize = "Consult NEC Table 250.122 for ratings above 2000A";
}
} else {
// GEC Logic
var serviceSize = document.getElementById("conductorSize").value;
reference = "Based on NEC Table 250.66 (Grounding Electrode Conductors)";
if (material === "copper") {
if (serviceSize === "2") finalSize = "8 AWG Copper";
else if (serviceSize === "1") finalSize = "6 AWG Copper";
else if (serviceSize === "00") finalSize = "4 AWG Copper";
else if (serviceSize === "350") finalSize = "2 AWG Copper";
else if (serviceSize === "600") finalSize = "1/0 AWG Copper";
else if (serviceSize === "1100") finalSize = "2/0 AWG Copper";
else if (serviceSize === "1101") finalSize = "3/0 AWG Copper";
} else {
// Aluminum GEC
if (serviceSize === "2") finalSize = "6 AWG Aluminum";
else if (serviceSize === "1") finalSize = "4 AWG Aluminum";
else if (serviceSize === "00") finalSize = "2 AWG Aluminum";
else if (serviceSize === "350") finalSize = "1/0 AWG Aluminum";
else if (serviceSize === "600") finalSize = "3/0 AWG Aluminum";
else if (serviceSize === "1100") finalSize = "4/0 AWG Aluminum";
else if (serviceSize === "1101") finalSize = "250 kcmil Aluminum";
}
}
resultText.innerHTML = finalSize;
resultRef.innerHTML = reference;
resultBox.style.display = "block";
}