[{"content":" ① Demand Factor Method (Recommended, GB 50054) ② Total Power Method (Quick Estimate) ▶ User Type (determines Diversity Factor K_Σ) Residential (K_Σ=0.75) Commercial Building (K_Σ=0.85) Industrial Plant (K_Σ=0.95) Public Building (K_Σ=0.85) Custom Diversity Factor K_Σ (custom) ▶ Equipment Category Input (enter 0 = no such load) ① Lighting Total Power P₁(kW) Demand Factor K_x1(0.50~0.90) Power Factor cosφ₁(0.50~1.00) ② Motor Equipment Total Power P₂(kW) Demand Factor K_x2(0.50~0.85) Power Factor cosφ₂(0.70~0.85) ③ Heating Equipment Total Power P₃(kW) Demand Factor K_x3(0.60~0.80) Power Factor cosφ₃(0.95~1.00) ④ Other Equipment Total Power P₄(kW) Demand Factor K_x4(0.60~0.80) Power Factor cosφ₄(0.70~0.90) 📋 Motor Presets (click to fill P₂) 7.5kW × 3 电动机 11kW × 2 电动机 22kW × 1 电动机 50kW × 1 电动机 100kW 混合动力 💡 Lighting Presets (click to fill P₁) 50m² 住宅 200m² 商铺 1000m² 厂房 5000m² 商场 ▶ Transformer Selection Transformer Type Oil-Immersed (η≈0.97) Dry-Type (η≈0.96) Custom Transformer Efficiency η (custom)(0.90~0.99) Load Factor K_load(经济区间 0.75~0.85) Margin Factor K_m(GB 50052 推荐 1.10~1.25) ▶ Total Power Input Total Active Power P(kW) Equipment Type Resistive (cosφ≈1) Inductive (cosφ\u0026lt;1) Custom Total Power Factor cosφ(0.50~1.00) 📋 Total Power Presets (common scenarios) 50 kW 小型作坊 200 kW 中型工厂 500 kW 大型工厂 1000 kW 园区总配 2000 kW 数据中心 ▶ Transformer Selection Transformer Type Oil-Immersed (η≈0.97) Dry-Type (η≈0.96) Custom Transformer Efficiency η (custom)(0.90~0.99) Load Factor K_load(经济区间 0.75~0.85) Margin Factor K_m(GB 50052 推荐 1.10~1.25) Transformer Capacity Selection Result 📋 Standards\nGB 50052-2009《供配电系统设计规范》§6.0.3(变压器容量选择)/ §6.0.4(留裕度)/ §6.0.5(单台 ≤ 1250 kVA)/ §6.0.7(负载率 ≤ 85%) GB 50054-2011《低压配电设计规范》§3.4(负荷计算)+ 附录 B(需要系数、同时系数) GB/T 17468-2019《电力变压器选用导则》§5.1(容量优先数系 R10) GB 20052-2020《三相配电变压器能效限定值及能效等级》 GB 51348-2019《民用建筑电气设计标准》§3.5(负荷计算 + cosφ) GB/T 10228-2015《干式电力变压器技术参数和要求》 ⚠ Disclaimer\n本工具基于 GB 50052-2009 / GB/T 17468-2019 标准简化实现,选型结果仅供设计参考。 正式施工图设计应以国家标准化管理委员会发布的现行版本为准,由注册电气工程师审核。 单台大功率电动机(≥ 30kW)需另核启动压降,本工具不涵盖启动校验。 并列运行 / 短路电流 / 电压降 / 经济电流密度法选型不在本工具范围内。 特殊场景(化工防腐 / 爆炸危险 / 海上风电 / 地铁)需参考专项标准。 Transformer Capacity Selection Calculator — kVA Sizing \u0026amp; GB/T 17468 R10 Standard Ratings Introduction Transformer capacity selection is a mandatory step in factory distribution, building electrical systems, and design institute calculation sheets. The traditional approach involves flipping through GB/T 17468 Guide for Selection of Power Transformers or GB 1094 Power Transformers, manually calculating S = P / (cosφ × η), then looking up the nearest standard rating from the R10 preferred number series — with multi-equipment scenarios requiring a diversity factor KΣ and motor loads requiring starting current calculations. This is cumbersome and error-prone. This tool encapsulates the core formulas and national standard rating series into a web form. Enter your parameters and get recommended capacity and sizing rationale instantly — suitable for designers, constructors, and maintenance engineers alike.\nTool Features — 6 Sizing Modes Single-Equipment Sizing (Most Common) Applicable scenarios: Single motor / heater bank / rectifier supply. Core formula: S = P / (cosφ × η). Typical users: Design institute electrical discipline, factory single large equipment supply. Fewest inputs; engineers can calculate manually in 1 minute, but the tool delivers the result in 1 second.\nInput: Equipment power P / Quantity / Power factor cosφ / Efficiency η Output: Required capacity S(kVA) / Recommended standard rating S_n / Load factor β / Sizing rationale Multi-Equipment Sizing (Diversity Factor) Applicable scenarios: Multiple pieces of equipment sharing one transformer, with loads not all running at full load simultaneously. Core formula: S = ΣP × KΣ / (cosφ_avg × η), where cosφ_avg is load-weighted. Typical users: Factory workshop distribution, residential area substations, commercial complexes, hospital ICUs.\nInput: Multi-equipment power P_i / Quantity / Various cosφ_i / Diversity factor KΣ / Weighted formula K_xi Output: Required capacity S(kVA) / Recommended standard rating S_n / Load factor β / Sizing rationale Motor Load (Starting Current Correction) Applicable scenarios: Transformers primarily supplying motors, with DOL / soft-start / VFD starting. Core formula: S ≥ K_st × ΣP_motor / (cosφ × η), where K_st is the starting current multiple. The tool takes the most adverse starting combination\u0026rsquo;s peak value, not a simple sum. Typical users: Motor-intensive workshops, water supply and drainage pump stations, fan and pump rooms.\nInput: Total motor power ΣP_motor / Starting method (DOL/Y-Δ/soft-start) / Starting multiple K_st / cosφ / η Output: Starting-corrected S / Recommended standard rating S_n / Starting voltage drop U_drop% / Terminal voltage verification Load Factor Optimization (Economic Operation) Applicable scenarios: Multiple transformers in parallel / long-term near-full-load operation / data center 24h continuous power supply. Core formula: S = P / (β_opt × cosφ × η), with β_opt taken as 0.7–0.85. Basis: Transformer efficiency curve peaks near β = 0.5–0.7; long-term full-load operation (β ≈ 1.0) causes copper loss to rise sharply.\nInput: Average load P_avg / Target load factor β_opt (0.7–0.85) / cosφ / η Output: Economic operation capacity S / Recommended standard rating S_n / Actual load factor β_actual R10 National Standard Rating Recommendation Applicable scenarios: After calculating the required kVA, selecting the national standard rating. Core data: GB/T 17468 R10 preferred number series — 30 / 50 / 63 / 80 / 100 / 125 / 160 / 200 / 250 / 315 / 400 / 500 / 630 / 800 / 1000 / 1250 / 1600 / 2000 / 2500 kVA, 19 ratings. Typical users: All scenarios requiring calculation sheets and transformer nameplate procurement.\nInput: Required capacity S_demand(kVA) / Expansion margin tier (default 15%) Output: R10 rating recommendation S_n / Actual load factor β_actual / Economic operation zone indicator UPS / Generator Coordination Applicable scenarios: Transformer downstream of UPS, or transformer + diesel generator standby. Core formulas: S_transformer ≥ S_UPS / 0.8 and S_generator ≈ S_transformer × 1.1–1.25. Considering UPS input harmonics (6-pulse rectifier THDi ≈ 33%), the transformer also requires 10%–20% derating. Typical users: Data centers, hospitals, emergency power systems, bank disaster recovery centers.\nInput: UPS capacity S_UPS / Rectifier pulse count (6/12) / Generator step-load factor Output: Minimum transformer capacity S_T / Recommended generator capacity S_G / Harmonic derating corrected value Preset Values — 6 Input Parameter Categories Equipment Type (5 presets + custom) Type Typical cosφ Typical η Notes Induction motor (full load) 0.85 0.92 Most common load; starting multiple 5–7 (DOL) Synchronous motor 0.90 (leading) 0.95 Can provide reactive compensation; improves power factor Rectifier / VFD load 0.95–0.98 0.97 Harmonic source; requires K_h derating correction Resistive heating / lighting 1.00 1.00 Purely resistive; no starting surge Custom User input User input Engineer-defined scenario Input Voltage Class (4 presets) 0.4 kV (380/220 V, low-voltage distribution, most common; factory workshop / building distribution) 6 kV (Medium-voltage distribution; legacy factory substations; coal mining / chemical) 10 kV (Medium-voltage distribution; national standard mainstream; new factories / substations) 35 kV (High-voltage distribution; regional substations; large industrial bases) GB/T 17468 R10 Standard Rating Series (19 ratings, including 63 kVA common tier) Rating Group Standard Ratings (kVA) Small capacity 30 / 50 / 63 / 80 / 100 Medium capacity 160 / 200 / 250 / 315 / 400 / 500 / 630 Large capacity 800 / 1000 / 1250 / 1600 / 2000 / 2500 (19 ratings total; source GB/T 17468-2019 Guide for Selection of Power Transformers + GB/T 321 Preferred Numbers; 63 kVA is the common mid-range rating for commercial/industrial distribution.)\nStarting Method (3 options) Direct-on-line (DOL) — K_st = 5–7 (most common; small-capacity motors; GB 50055 default value) Star-delta (Y-Δ) — K_st = 2–3 (reduced-voltage starting; applicable to cage motors with light-load starting) Soft-starter / VFD — K_st = 1.0–1.5 (smooth starting; reduces grid impact; preferred for large-capacity motors) Diversity Factor KΣ (4 presets + custom) 0.9 — 2–3 pieces of equipment; nearly simultaneous operation 0.8 — 4–6 pieces; most operate simultaneously 0.7 — 7–10 pieces; partial load staggering 0.6 — \u0026gt;10 pieces; significant load staggering Custom — 0.5 ~ 1.0 range; engineer adjusts per process requirements Load Factor β (3 presets + custom) 0.7 — Lower limit of economic operation zone (near transformer efficiency curve peak) 0.85 — Recommended value (balance of economy and margin; withstands 3-year load growth) 1.0 — Full load; no expansion margin (not recommended for long-term operation) Custom — 0.5 ~ 1.2 range Output Descriptions Required Capacity S_demand Defined as: The minimum transformer capacity calculated from the input equipment power, power factor, efficiency, diversity factor, starting multiple, and other parameters. Calculation formula: S_demand(kVA) = P(kW) × KΣ × K_st / (cosφ × η). Engineering meaning: During sizing, standard rating S_n ≥ S_demand is the hard constraint.\nRecommended Standard Rating S_n Defined as: The nearest standard rating not less than S_demand, selected from the GB/T 17468 R10 preferred number series. The tool does not expose the raw table externally — only the recommended rating as an output item.\nRecommendation principles:\nS_n ≥ 1.15 × S_demand — 15% expansion margin; default recommendation (withstands 3-year load growth) S_n = 1.0 × S_demand — Just meets requirements; no expansion (acceptable short-term; not recommended long-term) S_n \u0026lt; S_demand — ⚠️ Warning: Capacity insufficient — select the next larger rating or parallel transformers Actual Load Factor β_actual Defined as: S_demand / S_n, reflecting the transformer\u0026rsquo;s actual load level after sizing. Engineering meaning:\n0.6 ~ 0.85 — ✅ Economic operation zone (highest transformer efficiency; optimal balance of no-load and load loss) 0.85 ~ 0.95 — Full-load zone; acceptable short-term; copper loss rises sharply with long-term operation \u0026gt; 0.95 — ⚠️ Overload risk; accelerated insulation aging; shortened service life \u0026lt; 0.5 — ⚠️ Long-term low load; \u0026ldquo;large horse pulling small cart\u0026rdquo;; high no-load loss ratio; poor efficiency Sizing Rationale The tool does not issue binary pass/fail judgments, but provides descriptive guidance, for example:\n✅ \u0026ldquo;Complies with GB/T 17468 R10 rating recommendation; actual load factor 78% (economic operation zone)\u0026rdquo; ⚠️ \u0026ldquo;Capacity is low — recommend 100 kVA instead of 80 kVA; retain expansion margin\u0026rdquo; ⚠️ \u0026ldquo;Actual load factor 92%; approaching overload — not economical for long-term operation\u0026rdquo; 💡 \u0026ldquo;Note: Synchronous motors can provide reactive compensation — actual cosφ can be adjusted up to 0.95\u0026rdquo; Starting Current Verification (Motor Scenarios) When the equipment type is a motor, the tool additionally calculates:\nStarting apparent power: S_st = √3 × U × I_st Transformer impedance voltage drop: U_drop% ≈ S_st / S_n × U_k% (U_k% typical 4%–6%; GB 1094) Terminal voltage verification: U_terminal ≥ 0.85 × U_n (GB 50055 motor starting terminal voltage requirement) Example output: \u0026ldquo;Starting bus voltage drop 12%; complies with GB 50055 motor starting terminal voltage ≥ 85% of rated requirement\u0026rdquo; Formula Details Core Formula (Single Equipment) S(kVA) = P(kW) / (cosφ × η) P — Equipment active power (kW) cosφ — Power factor (between 0 and 1; typical 0.7–0.98) η — Transformer efficiency (typical 0.95–0.98; higher for larger units) Example: 100 kW motor load, cosφ = 0.85, η = 0.97 → S ≈ 100 / (0.85 × 0.97) ≈ 121 kVA → round up to nearest R10 → 125 kVA.\nMulti-Equipment Diversity Factor S(kVA) = KΣ × ΣP_i / (cosφ_avg × η) KΣ — Diversity factor (0.6–0.9; see preset table) ΣP_i — Sum of active power of equipment type i (kW) cosφ_avg — Load-weighted average power factor Weighted formula (per GB 50054-2011 §3.4.5):\ncosφ_avg = Σ(P_i × K_xi × cosφ_i) / Σ(P_i × K_xi) Where P_i = total active power of equipment type i (kW), K_xi = demand factor (0.4–1.0), cosφ_i = power factor of equipment type i. Note: Both numerator and denominator are multiplied by K_xi — i.e., \u0026ldquo;weighted by calculated load\u0026rdquo; rather than \u0026ldquo;weighted by total rated equipment power\u0026rdquo; — this accurately reflects the real operating condition where equipment does not all run at full load simultaneously.\nMotor Starting Correction S(kVA) ≥ K_st × ΣP_motor / (cosφ × η) K_st — Starting current multiple DOL: 5–7 (GB 50055 default; small-capacity motors) Y-Δ: 2–3 (reduced-voltage starting; applicable to cage motors) Soft-start: 1.0–1.5 (smooth starting; preferred for large-capacity motors) The formula takes the most adverse starting combination\u0026rsquo;s peak value, not a simple sum The transformer\u0026rsquo;s short-circuit impedance U_k% also affects starting voltage drop and requires separate verification Economic Load Factor β_opt = 0.7 ~ 0.85 (Economic operation zone) S_optimal = P_avg / (β_opt × cosφ × η) Basis: Transformer efficiency curve peaks near β = 0.5–0.7; long-term full-load operation (β ≈ 1.0) causes copper loss to increase sharply. Engineering convention: calculate at β = 0.85 during sizing, retaining 15% expansion margin.\nSizing Verification S_demand ≤ S_n ≤ S_demand × 1.3 (15%~30% expansion margin; recommended) or S_demand ≤ S_n (Just meets requirements; no expansion; not recommended) Note: The 1.3× upper limit is an engineering convention — not included in tool output, only in the educational section to prevent engineer misuse.\nNational Standard References GB/T 17468-2019 Guide for Selection of Power Transformers People\u0026rsquo;s Republic of China National Standard, GB/T 17468-2019, published 2019 (superseding GB/T 17468-1998). Supervising body: State Administration for Market Regulation / Standardization Administration of China. Contents: transformer selection principles, load factors, capacity determination, R10 preferred number series. This tool\u0026rsquo;s national standard rating recommendations (19 ratings from 30 to 2500 kVA, including the common 63 kVA tier) are based on this standard.\nRating breakdown (19 tiers):\nSmall capacity (30–100 kVA): 30 / 50 / 63 / 80 / 100 kVA — small-capacity workshops, construction site temporary power, 63 kVA is the common mid-range for commercial/industrial distribution Medium capacity (160–630 kVA): 160 / 200 / 250 / 315 / 400 / 500 / 630 kVA — factory distribution, residential area substations; primary rating tier Large capacity (800–2500 kVA): 800 / 1000 / 1250 / 1600 / 2000 / 2500 kVA — regional substations, large factories, commercial complexes This tool is for engineering estimation only. Actual engineering design shall prevail with the version published by the Standardization Administration of China. Access: National Standards Full-Text Public Query System{target=\u0026quot;_blank\u0026quot; rel=\u0026ldquo;nofollow noopener\u0026rdquo;}.\nGB 1094 Power Transformers Series People\u0026rsquo;s Republic of China National Standard, GB 1094.1~.11 series. Contents: general provisions, temperature rise, insulation levels, winding connections, short-circuit withstand capability. Relevant to this tool: temperature rise limits (affecting actual overload capability) and short-circuit impedance U_k% (affecting starting voltage drop calculation; typical 4%–6%).\nOther Reference Standards GB 50052-2009 Code for Design of Electric Power Supply Systems — Transformer minimum efficiency values (no-load loss P₀, load loss P_k) GB 20052-2020 Minimum Allowable Values of Energy Efficiency and the Energy Efficiency Grades of Power Transformers — Grade 1 / 2 / 3 energy efficiency transformer loss limits; for procurement, energy efficiency grade is more important than the η value itself GB/T 321-2005 Preferred Numbers — R10 series (1, 1.25, 1.6, 2.0, 2.5, 3.15, 4.0, 5.0, 6.3, 8.0…) national standard basis GB 50054-2011 Code for Design of Low Voltage Electrical Installations §3.4.5 — cosφ_avg weighted formula national standard source GB 50055-2011 Code for Design of Distribution of General-Purpose Electric Equipment — DOL / Y-Δ starting current multiples and terminal voltage verification requirements Frequently Asked Questions (FAQ) How do I calculate transformer capacity most accurately? Core formula: S(kVA) = P(kW) / (cosφ × η), where P is active power, cosφ is power factor, and η is transformer efficiency. For multi-equipment: S = KΣ × ΣP / (cosφ_avg × η), where KΣ is the diversity factor (0.6–0.9). For motor loads, apply the starting multiple: calculate K_st × P_motor first, then divide by (cosφ × η) — do not simply sum. Most accurate approach: After calculating S, look up the GB/T 17468 R10 rating table, select the nearest rating not less than S, and retain 15%–30% expansion margin.\nHow does power factor cosφ affect transformer capacity? Lower cosφ means a larger required kVA — the transformer is more expensive and line losses are higher. Example: 100 kW load, cosφ = 0.95 → S ≈ 110 kVA; cosφ = 0.7 → S ≈ 149 kVA (35% more expensive). Countermeasure: Install capacitor compensation to raise cosφ above 0.9; China\u0026rsquo;s Power Factor Adjustment Electricity Fee Method also incentivizes compensation (penalties apply below 0.9). Transformer nameplates are in kVA, not kW, because cosφ is uncontrollable — the transformer can only guarantee the maximum apparent capacity S.\nWhat is the optimal transformer load factor? The economic operation zone is 0.7–0.85 — higher is not better. Load factor below 0.5 (\u0026ldquo;large horse pulling small cart\u0026rdquo;): High no-load loss proportion, low efficiency, uneconomical. Load factor 0.85–0.95: Near full-load; acceptable short-term; copper loss rises sharply with long-term operation. Load factor \u0026gt; 0.95: Overload risk, accelerated insulation aging, shortened service life. Engineering convention: Calculate at β = 0.85 during sizing, retaining 15% expansion margin (withstands 3-year load growth).\nWhat is the typical transformer efficiency η? Distribution transformers (10/0.4 kV, 100–2500 kVA) typically have efficiency of 0.95–0.98. Small transformers (30–80 kVA): η ≈ 0.93–0.95. Medium transformers (100–800 kVA): η ≈ 0.95–0.97. Large transformers (1000–2500 kVA): η ≈ 0.97–0.98. New standard GB 20052-2020 sets stricter loss limits for Grade 1 / 2 energy efficiency transformers — for actual procurement, the energy efficiency grade is more important than the η value itself. Note: η is the transformer\u0026rsquo;s own efficiency, not the load\u0026rsquo;s power factor — these are two different concepts.\nWhich national standard governs transformer capacity selection? Primary reference: GB/T 17468-2019 Guide for Selection of Power Transformers (superseding GB/T 17468-1998). The R10 rating series (30 / 50 / 63 / 80 / 100 / 125 / 160 / 200 / 250 / 315 / 400 / 500 / 630 / 800 / 1000 / 1250 / 1600 / 2000 / 2500 kVA, 19 ratings) comes from this standard. Supporting standards: GB 1094 Power Transformers series (temperature rise, insulation, short-circuit impedance), GB 50052 Code for Design of Electric Power Supply Systems (transformer minimum efficiency), GB 20052 Power Transformer Energy Efficiency Grades. For international projects, refer to IEC 60076 series — the rating series is consistent with GB R10.\nWhat are the common transformer standard ratings? GB/T 17468 R10 preferred number series 19 ratings (in kVA):\nSmall capacity (≤100): 30 / 50 / 63 / 80 / 100 — suitable for small-capacity workshops, construction site temporary power (63 kVA is the common mid-range for commercial/industrial distribution) Medium capacity (160–630): 160 / 200 / 250 / 315 / 400 / 500 / 630 — factory distribution, residential area substations; primary rating tier Large capacity (800–2500): 800 / 1000 / 1250 / 1600 / 2000 / 2500 — regional substations, large factories, commercial complexes Sizing principle: After calculating S, round up one tier, retaining 15%–30% expansion margin. If the result is 180 kVA, select 200, not 160 (full-load operation shortens service life).\nHow do I match transformer and UPS capacities? Rule-of-thumb formula: S_transformer ≥ S_UPS / 0.8. Example: 100 kVA UPS requires a front-end transformer of at least 125 kVA (125 × 0.8 = 100, just covers UPS full load). Considering UPS input harmonics (6-pulse rectifier THDi ≈ 33%), the transformer also requires 10%–20% derating — actually select ≥ 160 kVA. Generator coordination: S_generator ≈ S_transformer × 1.1–1.25 (accounting for generator nonlinear load derating and step-load capability). Key point: UPS capacity (kVA) ≠ actual load (kW); UPS cosφ is typically 0.9–1.0 (modern UPS); older UPS may be 0.8.\nInternal Links (Companion Tools) Three-Phase Power Calculator — Same cosφ topic; transformer sizing requires first calculating S = P/cosφ Electricity Cost Calculator — cosφ 0.9 threshold affects reactive power fees; before/after compensation comparison EV Charger Power Calculator — EV charging station transformer sizing scenario; 7kW / 11kW / 22kW charger quantities → transformer capacity Cable Current-Carrying Capacity Lookup — Transformer low-voltage side outgoing cable sizing Disclaimer Important: Capacity recommendations provided by this tool are based on simplified calculations from GB/T 17468-2019 Guide for Selection of Power Transformers and GB 20052-2020 Power Transformer Energy Efficiency Grades, for engineering estimation only.\nActual engineering design must:\nUse the latest published GB/T 17468 national standard as the authoritative source Obtain a formal calculation sheet from a design institute / registered electrical engineer Special scenarios (chemical corrosion, hazardous areas, offshore wind power, subway, hospital) require additional industry standard references Verify manufacturer data sheets and energy efficiency grades before transformer procurement This tool does not provide automatic transformer model selection and does not replace professional engineering judgment. This tool assumes no liability for any engineering incidents resulting from the use of this tool\u0026rsquo;s data.\n","permalink":"https://elec.webpenson.com/en/tools/transformer-capacity-selection/","summary":"\u003cdiv class=\"tcs-tool-container\" id=\"tcs-tool\"\u003e\n  \u003cstyle\u003e\n    #tcs-tool { max-width: 800px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; }\n    #tcs-tool .tcs-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #tcs-tool .tcs-mode-tabs { display: flex; gap: 4px; margin-bottom: 18px; border-bottom: 2px solid #e5e7eb; overflow-x: auto; flex-wrap: nowrap; }\n    #tcs-tool .tcs-tab { padding: 10px 16px; cursor: pointer; font-weight: 600; color: #6b7280; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.2s; font-size: 14px; white-space: nowrap; }\n    #tcs-tool .tcs-tab.active { color: #2563eb; border-bottom-color: #2563eb; }\n    #tcs-tool .tcs-tab:hover:not(.active) { color: #374151; }\n    #tcs-tool .tcs-panel { display: none; }\n    #tcs-tool .tcs-panel.active { display: block; }\n    #tcs-tool .tcs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    #tcs-tool .tcs-row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }\n    #tcs-tool .tcs-row4 { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 12px; }\n    #tcs-tool .tcs-input-group { margin-bottom: 16px; }\n    #tcs-tool .tcs-section-title { font-size: 13px; font-weight: 700; color: #475569; margin: 18px 0 10px 0; padding-bottom: 6px; border-bottom: 1px solid #e5e7eb; }\n    #tcs-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #tcs-tool label .tcs-unit { font-weight: 400; color: #6b7280; font-size: 12px; margin-left: 4px; }\n    #tcs-tool input, #tcs-tool select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 16px; box-sizing: border-box; background: white; }\n    #tcs-tool input:focus, #tcs-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #tcs-tool .tcs-radio-group { display: flex; gap: 14px; flex-wrap: wrap; }\n    #tcs-tool .tcs-radio-group label { font-weight: 400; display: flex; align-items: center; gap: 4px; cursor: pointer; font-size: 14px; }\n    #tcs-tool .tcs-radio-group input[type=\"radio\"] { width: auto; margin: 0; }\n    #tcs-tool .tcs-presets { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 12px 0; }\n    #tcs-tool .tcs-preset { padding: 5px 10px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 6px; cursor: pointer; font-size: 12px; transition: all 0.2s; user-select: none; }\n    #tcs-tool .tcs-preset:hover { background: #2563eb; color: white; border-color: #2563eb; }\n    #tcs-tool .tcs-result { background: #eff6ff; border: 1px solid #93c5fd; border-radius: 10px; padding: 18px; margin-top: 18px; display: none; }\n    #tcs-tool .tcs-result.active { display: block; }\n    #tcs-tool .tcs-result h3 { margin: 0 0 12px 0; color: #1e40af; font-size: 18px; }\n    #tcs-tool .tcs-r-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #93c5fd; align-items: baseline; gap: 12px; }\n    #tcs-tool .tcs-r-row:last-child { border-bottom: none; }\n    #tcs-tool .tcs-r-row.highlight { background: #dbeafe; margin: 4px -8px; padding: 8px; border-radius: 6px; border-bottom: none; }\n    #tcs-tool .tcs-r-label { color: #475569; font-size: 14px; flex: 1; }\n    #tcs-tool .tcs-r-val { font-weight: 700; color: #1e3a8a; font-size: 17px; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }\n    #tcs-tool .tcs-r-row.highlight .tcs-r-val { color: #1d4ed8; font-size: 22px; }\n    #tcs-tool .tcs-unit-inline { font-size: 12px; color: #64748b; margin-left: 4px; font-weight: 400; }\n    #tcs-tool .tcs-coeff-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 13px; color: #475569; }\n    #tcs-tool .tcs-coeff-label { flex: 1; }\n    #tcs-tool .tcs-coeff-val { font-weight: 600; color: #1e40af; font-variant-numeric: tabular-nums; }\n    #tcs-tool .tcs-coeff-section { margin-top: 14px; padding-top: 10px; border-top: 1px dashed #93c5fd; }\n    #tcs-tool .tcs-coeff-section-title { font-size: 13px; font-weight: 600; color: #1e40af; margin-bottom: 6px; }\n    #tcs-tool .tcs-tip { font-size: 13px; color: #1e293b; margin-top: 14px; padding: 10px; background: #fef3c7; border-radius: 6px; border-left: 3px solid #f59e0b; }\n    #tcs-tool .tcs-warn { font-size: 13px; color: #7f1d1d; margin-top: 10px; padding: 10px; background: #fee2e2; border-radius: 6px; border-left: 3px solid #dc2626; display: none; }\n    #tcs-tool .tcs-warn.active { display: block; }\n    #tcs-tool .tcs-formula { font-size: 12px; color: #475569; margin-top: 10px; padding: 10px; background: #f8fafc; border-radius: 6px; border-left: 3px solid #94a3b8; font-family: \"SF Mono\", Monaco, Consolas, \"Courier New\", monospace; word-break: break-all; white-space: pre-wrap; }\n    #tcs-tool .tcs-standard { font-size: 12px; color: #475569; margin-top: 14px; padding: 12px; background: #f8fafc; border-radius: 6px; border-left: 3px solid #94a3b8; }\n    #tcs-tool .tcs-standard p { margin: 4px 0; font-weight: 600; }\n    #tcs-tool .tcs-standard ul { margin: 4px 0; padding-left: 18px; }\n    #tcs-tool .tcs-standard li { font-weight: 400; line-height: 1.6; }\n    #tcs-tool .tcs-disclaimer { font-size: 12px; color: #64748b; margin-top: 14px; padding: 12px; background: #f1f5f9; border-radius: 6px; border-left: 3px solid #cbd5e1; line-height: 1.6; }\n    #tcs-tool .tcs-disclaimer p { margin: 4px 0; font-weight: 600; }\n    #tcs-tool .tcs-disclaimer ul { margin: 4px 0; padding-left: 18px; }\n    #tcs-tool .tcs-disclaimer li { font-weight: 400; }\n    @media (prefers-color-scheme: dark) {\n      #tcs-tool .tcs-card { background: #1e293b; border-color: #334155; }\n      #tcs-tool .tcs-section-title { color: #94a3b8; border-bottom-color: #334155; }\n      #tcs-tool label { color: #cbd5e1; }\n      #tcs-tool label .tcs-unit { color: #94a3b8; }\n      #tcs-tool input, #tcs-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #tcs-tool .tcs-mode-tabs { border-bottom-color: #334155; }\n      #tcs-tool .tcs-tab { color: #94a3b8; }\n      #tcs-tool .tcs-tab.active { color: #60a5fa; border-bottom-color: #60a5fa; }\n      #tcs-tool .tcs-tab:hover:not(.active) { color: #e2e8f0; }\n      #tcs-tool .tcs-radio-group label { color: #cbd5e1; }\n      #tcs-tool .tcs-preset { background: #334155; border-color: #475569; color: #cbd5e1; }\n      #tcs-tool .tcs-preset:hover { background: #2563eb; color: white; border-color: #2563eb; }\n      #tcs-tool .tcs-result { background: #0c1f3f; border-color: #1e3a8a; }\n      #tcs-tool .tcs-result h3 { color: #93c5fd; }\n      #tcs-tool .tcs-r-row { border-bottom-color: #1e3a8a; }\n      #tcs-tool .tcs-r-label { color: #cbd5e1; }\n      #tcs-tool .tcs-r-val { color: #93c5fd; }\n      #tcs-tool .tcs-r-row.highlight { background: #1e3a8a; }\n      #tcs-tool .tcs-r-row.highlight .tcs-r-val { color: #dbeafe; }\n      #tcs-tool .tcs-coeff-row { color: #cbd5e1; }\n      #tcs-tool .tcs-coeff-val { color: #93c5fd; }\n      #tcs-tool .tcs-unit-inline { color: #94a3b8; }\n      #tcs-tool .tcs-coeff-section { border-top-color: #1e3a8a; }\n      #tcs-tool .tcs-coeff-section-title { color: #93c5fd; }\n      #tcs-tool .tcs-tip { background: #422006; color: #fde68a; border-left-color: #f59e0b; }\n      #tcs-tool .tcs-warn { background: #450a0a; color: #fecaca; border-left-color: #dc2626; }\n      #tcs-tool .tcs-formula { background: #0f172a; color: #cbd5e1; border-left-color: #475569; }\n      #tcs-tool .tcs-standard { background: #0f172a; color: #94a3b8; border-left-color: #475569; }\n      #tcs-tool .tcs-disclaimer { background: #1f2937; color: #94a3b8; border-left-color: #475569; }\n    }\n    @media (max-width: 600px) {\n      #tcs-tool .tcs-row, #tcs-tool .tcs-row3, #tcs-tool .tcs-row4 { grid-template-columns: 1fr; }\n      #tcs-tool .tcs-mode-tabs { overflow-x: auto; flex-wrap: nowrap; }\n      #tcs-tool .tcs-tab { white-space: nowrap; }\n      #tcs-tool .tcs-radio-group { gap: 10px; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"tcs-card\"\u003e\n    \u003cdiv class=\"tcs-mode-tabs\"\u003e\n      \u003cdiv class=\"tcs-tab active\" data-tab=\"factor\"\u003e① Demand Factor Method (Recommended, GB 50054)\u003c/div\u003e\n      \u003cdiv class=\"tcs-tab\" data-tab=\"total\"\u003e② Total Power Method (Quick Estimate)\u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \n    \n    \u003cdiv class=\"tcs-panel active\" data-panel=\"factor\"\u003e\n\n      \n      \u003cdiv class=\"tcs-section-title\"\u003e▶ User Type (determines Diversity Factor K_Σ)\u003c/div\u003e\n      \u003cdiv class=\"tcs-input-group\"\u003e\n        \u003cdiv class=\"tcs-radio-group\"\u003e\n          \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-user-type\" value=\"residential\" checked onclick=\"tcsApplyUserType('residential')\"\u003e Residential (K_Σ=0.75)\u003c/label\u003e\n          \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-user-type\" value=\"commercial\" onclick=\"tcsApplyUserType('commercial')\"\u003e Commercial Building (K_Σ=0.85)\u003c/label\u003e\n          \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-user-type\" value=\"industrial\" onclick=\"tcsApplyUserType('industrial')\"\u003e Industrial Plant (K_Σ=0.95)\u003c/label\u003e\n          \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-user-type\" value=\"public\" onclick=\"tcsApplyUserType('public')\"\u003e Public Building (K_Σ=0.85)\u003c/label\u003e\n          \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-user-type\" value=\"custom\" onclick=\"tcsApplyUserType('custom')\"\u003e Custom\u003c/label\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tcs-row\" id=\"tcs-Ksigma-custom-wrap\" style=\"display:none;\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eDiversity Factor K_Σ (custom)\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-Ksigma-custom\" value=\"0.85\" min=\"0.50\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-section-title\"\u003e▶ Equipment Category Input (enter 0 = no such load)\u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-row3\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003e① Lighting Total Power P₁\u003cspan class=\"tcs-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-power-lighting\" value=\"0\" min=\"0\" max=\"10000\" step=\"0.5\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eDemand Factor K_x1\u003cspan class=\"tcs-unit\"\u003e(0.50~0.90)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-Kx-lighting\" value=\"0.80\" min=\"0.10\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003ePower Factor cosφ₁\u003cspan class=\"tcs-unit\"\u003e(0.50~1.00)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-cos-lighting\" value=\"0.90\" min=\"0.50\" max=\"1.00\" step=\"0.01\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-row3\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003e② Motor Equipment Total Power P₂\u003cspan class=\"tcs-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-power-motor\" value=\"0\" min=\"0\" max=\"10000\" step=\"0.5\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eDemand Factor K_x2\u003cspan class=\"tcs-unit\"\u003e(0.50~0.85)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-Kx-motor\" value=\"0.80\" min=\"0.10\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003ePower Factor cosφ₂\u003cspan class=\"tcs-unit\"\u003e(0.70~0.85)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-cos-motor\" value=\"0.80\" min=\"0.50\" max=\"1.00\" step=\"0.01\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-row3\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003e③ Heating Equipment Total Power P₃\u003cspan class=\"tcs-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-power-heating\" value=\"0\" min=\"0\" max=\"10000\" step=\"0.5\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eDemand Factor K_x3\u003cspan class=\"tcs-unit\"\u003e(0.60~0.80)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-Kx-heating\" value=\"0.70\" min=\"0.10\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003ePower Factor cosφ₃\u003cspan class=\"tcs-unit\"\u003e(0.95~1.00)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-cos-heating\" value=\"1.00\" min=\"0.50\" max=\"1.00\" step=\"0.01\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-row3\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003e④ Other Equipment Total Power P₄\u003cspan class=\"tcs-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-power-other\" value=\"0\" min=\"0\" max=\"10000\" step=\"0.5\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eDemand Factor K_x4\u003cspan class=\"tcs-unit\"\u003e(0.60~0.80)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-Kx-other\" value=\"0.70\" min=\"0.10\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003ePower Factor cosφ₄\u003cspan class=\"tcs-unit\"\u003e(0.70~0.90)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-cos-other\" value=\"0.85\" min=\"0.50\" max=\"1.00\" step=\"0.01\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-input-group\"\u003e\n        \u003clabel\u003e📋 Motor Presets (click to fill P₂)\u003c/label\u003e\n        \u003cdiv class=\"tcs-presets\"\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('motor', 22.5, 0.75, 0.80)\"\u003e7.5kW × 3 电动机\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('motor', 22.0, 0.75, 0.80)\"\u003e11kW × 2 电动机\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('motor', 22.0, 1.00, 0.80)\"\u003e22kW × 1 电动机\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('motor', 50.0, 1.00, 0.82)\"\u003e50kW × 1 电动机\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('motor', 100.0, 0.65, 0.78)\"\u003e100kW 混合动力\u003c/span\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-input-group\"\u003e\n        \u003clabel\u003e💡 Lighting Presets (click to fill P₁)\u003c/label\u003e\n        \u003cdiv class=\"tcs-presets\"\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('lighting', 2.0, 0.80, 0.90)\"\u003e50m² 住宅\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('lighting', 8.0, 0.85, 0.92)\"\u003e200m² 商铺\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('lighting', 20.0, 0.80, 0.90)\"\u003e1000m² 厂房\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyPowerPreset('lighting', 100.0, 0.85, 0.92)\"\u003e5000m² 商场\u003c/span\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"tcs-section-title\"\u003e▶ Transformer Selection\u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eTransformer Type\u003c/label\u003e\n          \u003cdiv class=\"tcs-radio-group\"\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type\" value=\"oil\" checked onclick=\"tcsCalc()\"\u003e Oil-Immersed (η≈0.97)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type\" value=\"dry\" onclick=\"tcsCalc()\"\u003e Dry-Type (η≈0.96)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type\" value=\"custom\" onclick=\"tcsCalc()\"\u003e Custom\u003c/label\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\" id=\"tcs-eta-wrap\" style=\"display:none;\"\u003e\n          \u003clabel\u003eTransformer Efficiency η (custom)\u003cspan class=\"tcs-unit\"\u003e(0.90~0.99)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-eta-custom\" value=\"0.97\" min=\"0.90\" max=\"0.99\" step=\"0.005\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eLoad Factor K_load\u003cspan class=\"tcs-unit\"\u003e(经济区间 0.75~0.85)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-kload\" value=\"0.85\" min=\"0.30\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eMargin Factor K_m\u003cspan class=\"tcs-unit\"\u003e(GB 50052 推荐 1.10~1.25)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-km\" value=\"1.20\" min=\"1.00\" max=\"1.50\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \n    \n    \u003cdiv class=\"tcs-panel\" data-panel=\"total\"\u003e\n      \u003cdiv class=\"tcs-section-title\"\u003e▶ Total Power Input\u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eTotal Active Power P\u003cspan class=\"tcs-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-total-p\" value=\"50\" min=\"1\" max=\"100000\" step=\"1\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eEquipment Type\u003c/label\u003e\n          \u003cdiv class=\"tcs-radio-group\"\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-total-type\" value=\"resistive\" onclick=\"tcsApplyTotalType('resistive')\"\u003e Resistive (cosφ≈1)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-total-type\" value=\"inductive\" checked onclick=\"tcsApplyTotalType('inductive')\"\u003e Inductive (cosφ\u0026lt;1)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-total-type\" value=\"custom\" onclick=\"tcsApplyTotalType('custom')\"\u003e Custom\u003c/label\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eTotal Power Factor cosφ\u003cspan class=\"tcs-unit\"\u003e(0.50~1.00)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-total-cos\" value=\"0.80\" min=\"0.50\" max=\"1.00\" step=\"0.01\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\u003c/div\u003e\n      \u003c/div\u003e\n\n      \u003cdiv class=\"tcs-input-group\"\u003e\n        \u003clabel\u003e📋 Total Power Presets (common scenarios)\u003c/label\u003e\n        \u003cdiv class=\"tcs-presets\"\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyTotalPreset(50)\"\u003e50 kW 小型作坊\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyTotalPreset(200)\"\u003e200 kW 中型工厂\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyTotalPreset(500)\"\u003e500 kW 大型工厂\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyTotalPreset(1000)\"\u003e1000 kW 园区总配\u003c/span\u003e\n          \u003cspan class=\"tcs-preset\" onclick=\"tcsApplyTotalPreset(2000)\"\u003e2000 kW 数据中心\u003c/span\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \u003cdiv class=\"tcs-section-title\"\u003e▶ Transformer Selection\u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eTransformer Type\u003c/label\u003e\n          \u003cdiv class=\"tcs-radio-group\"\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type-2\" value=\"oil\" checked onclick=\"tcsCalc()\"\u003e Oil-Immersed (η≈0.97)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type-2\" value=\"dry\" onclick=\"tcsCalc()\"\u003e Dry-Type (η≈0.96)\u003c/label\u003e\n            \u003clabel\u003e\u003cinput type=\"radio\" name=\"tcs-tx-type-2\" value=\"custom\" onclick=\"tcsCalc()\"\u003e Custom\u003c/label\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\" id=\"tcs-eta-wrap-2\" style=\"display:none;\"\u003e\n          \u003clabel\u003eTransformer Efficiency η (custom)\u003cspan class=\"tcs-unit\"\u003e(0.90~0.99)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-eta-2\" value=\"0.97\" min=\"0.90\" max=\"0.99\" step=\"0.005\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tcs-row\"\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eLoad Factor K_load\u003cspan class=\"tcs-unit\"\u003e(经济区间 0.75~0.85)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-kload-2\" value=\"0.85\" min=\"0.30\" max=\"1.00\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tcs-input-group\"\u003e\n          \u003clabel\u003eMargin Factor K_m\u003cspan class=\"tcs-unit\"\u003e(GB 50052 推荐 1.10~1.25)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tcs-km-2\" value=\"1.20\" min=\"1.00\" max=\"1.50\" step=\"0.05\" inputmode=\"decimal\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \n    \n    \u003cdiv class=\"tcs-result\" id=\"tcs-result\"\u003e\n      \u003ch3 id=\"tcs-result-title\"\u003eTransformer Capacity Selection Result\u003c/h3\u003e\n      \u003cdiv id=\"tcs-result-body\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tcs-formula\" id=\"tcs-formula\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tcs-tip\" id=\"tcs-tip\" style=\"display:none;\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tcs-warn\" id=\"tcs-warn\"\u003e\u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \n    \n    \u003cdiv class=\"tcs-standard\"\u003e\n      \u003cp\u003e📋 Standards\u003c/p\u003e","title":"Transformer Capacity Selection Calculator — kVA Sizing \u0026 GB/T 17468 R10 Standard Ratings"},{"content":"Cable Current-Carrying Capacity Lookup — YJV / YJV22 Online Reference Introduction Cable current-carrying capacity lookup is a daily task for electrical designers, construction teams, and maintenance engineers. The traditional approach involves flipping through GB 50217-2018 Code for Design of Cables of Electric Engineering or the IEC 60364-5-52 handbook — cross-referencing cross-sectional area, installation method, temperature, parallel circuits, and altitude on table after table. This is inefficient and error-prone. This tool encapsulates the base ampacity I₀ and four correction factors (K_θ temperature, K_s installation, K_p grouping, K_h altitude) into a web form. Enter your parameters and get the corrected ampacity I_z with factor breakdowns instantly. Suitable for design institute calculation sheets, factory inspections, and on-site temporary sizing — say goodbye to manual table-flipping.\nTool Features — 5 Installation Methods Free-Air / Surface Mounted Applicable scenarios: Exposed cable tray, wall mounting, outdoor架空支架 (overhead bracket). Thermal conditions: Natural air convection is good; base factor K_s = 1.0. Typical users: Factory workshop distribution mains, low-voltage cabinet feeders, ventilated cable trench sections.\nInput: Conductor material / Cable type / Cross-section / Ambient temperature / Parallel circuits / Sun exposure / Altitude Output: I_0 (base) / I_z (corrected) / K_θ / K_s / K_p / K_h / Compliance notes Conduit / Conduit-in-Structure Applicable scenarios: Cables inside PVC conduit / galvanized steel conduit, utility shafts, slab concealed installation. Thermal conditions: No airflow between conduit wall and cables; K_s typically 0.75–0.85 (varies significantly with number of conductors; 1-core vs 3-core differs notably). Typical users: Building electrical, indoor distribution, utility shafts, fire mains.\nInput: Conductor material / Cable type / Cross-section / Ambient temperature / Conduit material / Conductors per conduit / Parallel circuits / Altitude Output: I_0 / I_z / K_θ / K_s / K_p / K_h / Compliance notes Cable Tray Applicable scenarios: Ladder tray, perforated tray, solid-bottom tray, cable trough tray. Thermal conditions: Tray is open, intermediate between free-air and conduit; perforated/solid-bottom slightly lower than ladder. Typical users: Factory distribution, server room vertical shafts, underground utility galleries, commercial complex mains.\nInput: Conductor material / Cable type / Cross-section / Ambient temperature / Tray type / Parallel circuits / Altitude Output: I_0 / I_z / K_θ / K_s / K_p / K_h / Compliance notes Direct Burial Applicable scenarios: Outdoor cable trench direct burial, soil burial, cable gallery. Thermal conditions: Heat dissipation depends on soil thermal resistivity; moist soil vs dry soil varies widely (ρ_soil from 1.0 to 4.0 K·m/W; K_s can differ by 25%). Typical users: Municipal distribution, residential area feed-in, campus external lines, new-energy booster stations.\nInput: Conductor material / Cable type / Cross-section / Soil temperature / Soil thermal resistivity / Parallel circuits / Altitude Output: I_0 / I_z / K_θ / K_s / K_p / K_h / Compliance notes Duct / Protective Duct Applicable scenarios: Cable protection ducts (MPP / fiberglass / galvanized steel), cable duct banks, cable tunnel pull-through sections. Thermal conditions: Similar to conduit, but duct diameter, length, and water-filling status have more pronounced effects. Typical users: Urban power grid, highway duct crossing, cable tunnel egress, airport power supply.\nInput: Conductor material / Cable type / Cross-section / Soil temperature / Duct material / Parallel circuits / Altitude Output: I_0 / I_z / K_θ / K_s / K_p / K_h / Compliance notes Preset Values — 7 Input Parameter Categories Conductor Material (2 options) Option Code Notes Copper Cu GB 50054 minimum copper cross-section 1.5 mm²; preferred for factory distribution Aluminum Al GB 50054 minimum aluminum cross-section 10 mm²; cost-reduction scenarios Cable Type (7 presets + custom) Name Type Insulation Applicable Scenarios XLPE insulated, PVC sheathed YJV XLPE 90°C Indoor / tunnel / duct; most common XLPE insulated, PVC sheathed (Al) YJLV XLPE 90°C Large-section mains; cost reduction XLPE insulated, steel tape armored, PVC sheathed YJV22 XLPE 90°C Direct burial / outdoor; withstands mechanical stress PVC insulated, PVC sheathed VV PVC 70°C Legacy standard / low-cost scenarios PVC insulated, PVC sheathed (Al) VLV PVC 70°C Same; aluminum core Copper PVC insulated flexible cable BVR PVC 70°C Distribution panel wiring, flexible connections Aluminum PVC insulated flexible cable BLVR PVC 70°C Same; aluminum core Custom (free input) — Engineer-defined type Cross-Section (16 tiers, 1.5 ~ 300 mm²) Tier (mm²) 1.5 2.5 4 6 10 16 25 35 50 70 95 120 150 185 240 300 (Unit mm²; tool presents as preset buttons + custom input; custom range 1.5 ~ 1000 mm²)\nInstallation Method (5 types) Free-air / Conduit / Cable tray / Direct burial / Duct (see Tool Features section for details)\nAmbient Temperature (°C; common presets + custom) 25°C (GB 50217 reference temperature; base) 30°C (Standard indoor) 35°C (High-temperature workshop, summer outdoor) 40°C (Dense cable tray, utility shafts) Custom (-20 ~ 60°C range; tool issues a warning if out of range) Parallel Circuit Count (5 tiers) Number of circuits n 1 2 3 4 6 (For \u0026gt; 6 circuits, treat as 6 and prompt: \u0026ldquo;Recommend splitting to separate trays / busbars\u0026rdquo;)\nSun Exposure / Shading (2 options) Shaded: Indoor / inside tray / conduit — no additional derating Exposed to sun: Outdoor direct sunlight — additional correction K_s = 0.9 required (GB 50217-2018 §5.4.5) Output Descriptions — I₀ / I_z / K Factors / Compliance Notes Base Ampacity I₀ Defined as: Under standard base conditions (copper/aluminum conductor, single circuit, 25°C, free-air, no sun exposure, altitude ≤ 1000 m), the maximum current the conductor is permitted to carry continuously (unit: A).\nData source: GB 50217-2018 Annex Tables C.0.1 ~ C.0.4 (0.6/1 kV XLPE / PVC insulated cables) and IEC 60364-5-52 Annex B (adopted equivalently). This tool does not expose the raw tables externally — I₀ is only presented as one output item. Engineers can expand and view it in the results section.\nCorrected Ampacity I_z Defined as: The maximum current the conductor is permitted to carry continuously under actual engineering conditions, after applying four correction factors (unit: A).\nEngineering meaning: During sizing verification, the circuit\u0026rsquo;s continuous load current I_L must satisfy I_L ≤ I_z to meet GB 50217 requirements. Otherwise, the conductor is subject to long-term overload — accelerated insulation aging, and in severe cases, fire.\nTemperature Correction Factor K_θ Source: GB 50217-2018 Table E.0.1 (base temperature 25°C) Range: 0.87 (40°C) ~ 1.15 (10°C, XLPE); different values for XLPE vs PVC Output: Displays specific value + text note such as \u0026ldquo;XLPE insulation, θ_n = 90°C\u0026rdquo; / \u0026ldquo;PVC insulation, θ_n = 70°C\u0026rdquo; Formula: K_θ = √((θ_n - θ_a) / (θ_n - 25)) Installation Method Correction Factor K_s Source: GB 50217-2018 Table D.0.1 / Table 5.4.5 Range: 0.70 ~ 1.00 1.0 (free-air base) 0.8 ~ 0.9 (conduit / duct) 0.9 ~ 1.0 (cable tray) 0.7 ~ 0.9 (direct burial, depending on soil thermal resistivity) Output: Displays value + text description Parallel Circuit Correction Factor K_p Source: GB 50217-2018 Table D.0.1 (equivalent to IEC 60364-5-52 Table B.52.17) Range: 0.73 ~ 1.00 1.0 (single circuit) 0.88 (2 circuits touching) 0.82 (3 circuits touching) 0.77 (4 circuits touching) 0.73 (6 circuits touching) Output: Displays value + circuit count and installation method (touching / spaced) Altitude Correction Factor K_h Source: GB 50217-2018 Table 5.4.6 (altitude correction factor; non-linear table) Altitude (m) ≤ 1000 1500 2000 2500 3000 3500 4000 K_h 1.00 0.97 0.94 0.91 0.88 0.85 0.82 Output: Displays value + altitude advisory Engineering note: Below 1000 m, use 1.00; for 1000 ~ 4000 m, interpolate from the table; above 4000 m, the tool prompts: \u0026ldquo;Beyond the range of GB 50217 Table 5.4.6 — recommend referring to industry standards or conducting special design\u0026rdquo; Compliance Notes The tool does not issue binary pass/fail judgments, but provides descriptive guidance, for example:\n\u0026ldquo;Complies with GB 50217-2018 Section 5.4\u0026rdquo; \u0026ldquo;Altitude \u0026gt; 1000 m — recommend reviewing cabinet thermal management\u0026rdquo; \u0026ldquo;Parallel circuits ≥ 4 — recommend splitting to separate trays / layers\u0026rdquo; \u0026ldquo;Ambient temperature close to insulation rating — recommend reviewing cable selection\u0026rdquo; Formula Details — I_z = I₀ × K_θ × K_s × K_p × K_h Core Formula I_z = I_0 × K_θ × K_s × K_p × K_h The four K factors multiply independently — all coefficients ≤ 1 (all are 1.0 under base conditions). When the ambient temperature is below the base temperature (25°C), K_θ \u0026gt; 1.0, indicating that cooling conditions are better than base — a larger current is permitted. This is a physically meaningful interpretation recognized by both IEC and GB standards.\nCorrection Factor Selection Key Points Factor Meaning Range Source K_θ Effect of temperature deviation from base (25°C) 0.87 ~ 1.15 (XLPE 10~40°C) GB 50217 Table E.0.1 K_s Installation method thermal dissipation difference 0.70 ~ 1.00 GB 50217 Table D.0.1 K_p Multiple parallel circuit derating 0.73 ~ 1.00 GB 50217 Table D.0.1 K_h Effect of high altitude / thin air on cooling 0.82 ~ 1.00 (≤ 4000 m) GB 50217 Table 5.4.6 Base temperature note:\nThis tool\u0026rsquo;s K_θ strictly uses values from GB 50217-2018 Table E.0.1 (base temperature 25°C). IEC 60364-5-52 Table B.52.14 uses 30°C as base, resulting in 2–3% differences in values — China\u0026rsquo;s national standard takes precedence. Engineering significance: Under the same cross-section and installation conditions, the I₀ given by GB 50217 is typically 2–3% more conservative than IEC — higher safety margin in sizing.\nSizing Verification I_L ≤ I_z / 1.45 (Permits short-term overload at 1.45×, complying with IEC 60364-4-43) or I_L ≤ I_z (For continuous load; recommended) Note: The 1.45× short-term overload allowance is a typical IEC-standard value — not included in tool output, only in the educational section to prevent engineer misuse.\nNational Standard References GB 50217-2018 Code for Design of Cables of Electric Engineering People\u0026rsquo;s Republic of China National Standard, GB 50217-2018, published 2018-09-11, effective 2019-04-01. Supervising body: China Electricity Council. Contents: cable selection, installation methods, ampacity corrections, protection coordination. This tool\u0026rsquo;s I₀ and four correction factors (K_θ / K_s / K_p / K_h) are all based on the annex tables of this standard.\nNote: This tool is for engineering estimation only. Actual engineering design shall prevail with the version published by the Standardization Administration of China. Access: National Standards Full-Text Public Query System{target=\u0026quot;_blank\u0026quot; rel=\u0026ldquo;nofollow noopener\u0026rdquo;}.\nIEC 60364-5-52 / GB/T 16895.15-2005 International Electrotechnical Commission IEC 60364-5-52 Low-voltage Electrical Installations — Part 5-52: Selection and Erection of Electrical Equipment — Wiring Systems. Corresponding national standard: GB/T 16895.15-2005 (equivalent adoption). Difference from GB 50217: GB 50217 leans toward Chinese power engineering conventions (high proportion of direct burial and conduit), while IEC 60364 leans toward building electrical conventions. For cross-border / export projects, cross-reference both standards.\nOther References GB/T 12706.1-2020 Extruded Power Cables with Rated Voltages from 1 kV(Um=1.2 kV) up to and Including 35 kV(Um=40.5 kV) — Part 1: Cables for Rated Voltages of 1 kV and 3 kV GB 50054-2011 Code for Design of Low Voltage Electrical Installations (circuit breaker setting reference) Frequently Asked Questions (FAQ) What is cable current-carrying capacity? Cable current-carrying capacity (ampacity) is the maximum current a cable can carry continuously under specified conditions (temperature, installation, grouping, altitude), in amperes (A). It is not a fixed value — it varies with installation conditions as a corrected result. During design, you must satisfy: continuous load current I_L ≤ corrected ampacity I_z; otherwise the cable will overheat, insulation will age prematurely, or in severe cases, cause fire. Different installation methods, ambient conditions, and cross-sections can result in ampacity differences exceeding 30% — therefore, engineering applications must calculate each correction factor per the formula, not guess.\nWhat is the difference between YJV and VV cable ampacity? For the same cross-section, YJV (cross-linked polyethylene) ampacity is 15% ~ 25% higher than VV (polyvinyl chloride). Reason: XLPE insulation is rated at 90°C, PVC insulation at 70°C — the higher the conductor allowable operating temperature, the greater the ampacity. Selection recommendation: Prioritize YJV for high-load, densely installed, and outdoor high-temperature scenarios; VV may be considered for low-cost, temporary, or indoor dry-environment installations. For the same 50 mm² copper conductor, YJV can carry approximately 192 A in free air, while VV carries only approximately 148 A.\nWhy is there such a large difference between conduit-installed and free-air ampacity? Conduit installation has poor heat dissipation — air inside the conduit does not flow, and heat is conducted away through the conduit wall, resulting in a typical K_s of 0.75 ~ 0.85; free-air installation has good heat dissipation with natural air convection, K_s = 1.0. Actual difference: For the same 4 mm² copper conductor, free-air ampacity is approximately 42 A (XLPE) or 35 A (PVC), while conduit-installed is approximately 30 A — a 20% ~ 40% gap. More conductors inside a conduit means greater derating; 3-core is 5% ~ 10% lower than 1-core. This is why GB 50054 recommends verifying calculations when conduit run exceeds 15 m or has more than 3 bends.\nWhy do multiple parallel cables need derating? When multiple cables are installed touching each other, their heat mutually reinforces, raising the ambient temperature collectively — derating is required. Parallel 2 cables ≈ 0.88, 3 cables 0.82, 4 cables 0.77, 6 cables 0.73 (typical values, varies by installation method). Engineering对策: When there are many circuits, splitting to separate trays, layers, or busbars is more economical than cramming them into one tray — it retains heat dissipation space while facilitating future maintenance and expansion.\nHow does altitude affect ampacity? Higher altitude means thinner air, poorer heat dissipation. GB 50217 Section 5.0.7 requires correction per Table 5.4.6. Example: 2000 m, K_h ≈ 0.94; 3000 m, K_h ≈ 0.88 (GB 50217 Table 5.4.6, table-lookup values, non-linear). Projects in Yunnan-Guizhou / Qinghai-Tibet must check altitude; plain projects may default to K_h = 1.0. Note that GB Table 5.4.6 is equivalent to IEC Table B.52.16, but differs from the simple \u0026ldquo;every 100 m derate 0.4%\u0026rdquo; linear derivation — for engineering audits, directly reference the standard table.\nHow do cable ampacity and circuit breaker setting current match? Strictly per GB 50054-2011, the circuit breaker\u0026rsquo;s rated current must satisfy I_n ≤ I_z (equal or smaller — this is the hard constraint in GB 50054-2011 Section 6.3.1). For engineering experience with 1.3× overload coordination (e.g., motor starting special scenarios), also verify 1.45 × I_z trip current (GB 50054 Section 6.3.4). Example: Corrected ampacity 100 A — set circuit breaker at 100 A or 80 A; do not select 125 A for long-term operation. Short-circuit protection is a separate calculation: the breaker\u0026rsquo;s instantaneous setting must clear cable short-circuit thermal stability — this is covered by the circuit breaker sizing tool.\nWhich standard should I use — GB 50217 or IEC 60364? For domestic power engineering, GB 50217 is preferred; for building electrical, GB 50054 is a useful reference. For overseas/export projects, IEC 60364-5-52 is more universally recognized — some Africa and Southeast Asia project bid documents directly cite IEC. The I₀ tables of both standards differ minimally (±5%), and the correction factor logic is consistent — either standard is acceptable in actual engineering, but the key is using one standard consistently throughout — do not mix GB for cable selection with IEC for breaker sizing. Mixing the two standards\u0026rsquo; correction formulas in one project creates audit disputes.\nHow is the temperature correction factor calculated? Based on the conductor allowable operating temperature θ_n and the actual ambient temperature θ_a, values come from GB 50217 Table E.0.1 (25°C base). Simplified formula (for understanding, not direct table lookup): K_θ = √((θ_n - θ_a) / (θ_n - 25)). Example: XLPE (θ_n = 90), ambient 40°C → K_θ ≈ 0.87; ambient 35°C → K_θ ≈ 0.91 (table-lookup values per GB 50217 Table E.0.1). PVC insulation (θ_n = 70) uses the same formula, just with a lower temperature rating and faster derating. The tool directly provides table values — no manual calculation needed.\nDisclaimer Important: Ampacity data provided by this tool is based on simplified calculations from the annex tables of GB 50217-2018, for engineering estimation only.\nActual engineering design must:\nUse the latest published GB 50217 national standard as the authoritative source Obtain a formal calculation sheet from a design institute / registered electrical engineer Special scenarios (chemical corrosion, hazardous areas, offshore wind power, subway) require additional industry standard references This tool does not provide automatic cable sizing recommendations and does not replace professional engineering judgment. This tool assumes no liability for any engineering incidents resulting from the use of this tool\u0026rsquo;s data.\nInternal / External Links Related elec webpenson.com tools:\nEV Charger Power Calculator — EV charger power (same electrical context) Charging Time Calculator — Charging time (same EV charger context) Electricity Cost Calculator — Electricity cost estimation Three-Phase Power Calculator — Three-phase power (current → sizing context) External links (national standards):\nNational Standards Full-Text Public Query System{target=\u0026quot;_blank\u0026quot; rel=\u0026ldquo;nofollow noopener\u0026rdquo;} — Standardization Administration official portal Meta \u0026amp; OG \u0026lt;!-- Basic Meta --\u0026gt; \u0026lt;title\u0026gt;Cable Current-Carrying Capacity Lookup | YJV/YJV22 Online Reference — elec.webpenson.com\u0026lt;/title\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;Online cable ampacity lookup tool supporting YJV/YJLV/VV/BVR and other cable types. Covers 5 installation methods: free-air, conduit, tray, direct burial, and duct. Automatically applies GB 50217 temperature, grouping, and altitude correction factors.\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;keywords\u0026#34; content=\u0026#34;cable ampacity lookup,YJV cable ampacity,YJV22 ampacity table,cable ampacity reference,GB 50217 cable ampacity,conduit cable ampacity,cable ampacity correction factors\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;robots\u0026#34; content=\u0026#34;index,follow\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;author\u0026#34; content=\u0026#34;elec.webpenson.com\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;viewport\u0026#34; content=\u0026#34;width=device-width, initial-scale=1\u0026#34; /\u0026gt; \u0026lt;!-- Open Graph --\u0026gt; \u0026lt;meta property=\u0026#34;og:type\u0026#34; content=\u0026#34;website\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:title\u0026#34; content=\u0026#34;Cable Current-Carrying Capacity Lookup | YJV/YJV22 Online Reference\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:description\u0026#34; content=\u0026#34;Online cable ampacity lookup tool supporting YJV/YJLV/VV/BVR and other cable types. 5 installation methods + GB 50217 four correction factors.\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:url\u0026#34; content=\u0026#34;https://elec.webpenson.com/tools/cable-current-carrying-capacity-lookup/\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:site_name\u0026#34; content=\u0026#34;elec.webpenson.com\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:locale\u0026#34; content=\u0026#34;en_US\u0026#34; /\u0026gt; \u0026lt;meta property=\u0026#34;og:image\u0026#34; content=\u0026#34;https://elec.webpenson.com/og/cable-current-carrying-capacity-lookup.png\u0026#34; /\u0026gt; \u0026lt;!-- Twitter Card --\u0026gt; \u0026lt;meta name=\u0026#34;twitter:card\u0026#34; content=\u0026#34;summary_large_image\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;twitter:title\u0026#34; content=\u0026#34;Cable Current-Carrying Capacity Lookup | YJV/YJV22 Online Reference\u0026#34; /\u0026gt; \u0026lt;meta name=\u0026#34;twitter:description\u0026#34; content=\u0026#34;Online cable ampacity lookup tool, 5 installation methods + GB 50217 four correction factors.\u0026#34; /\u0026gt; JSON-LD Structured Data ","permalink":"https://elec.webpenson.com/en/tools/cable-current-carrying-capacity-lookup/","summary":"\u003ch1 id=\"cable-current-carrying-capacity-lookup--yjv--yjv22-online-reference\"\u003eCable Current-Carrying Capacity Lookup — YJV / YJV22 Online Reference\u003c/h1\u003e\n\u003ch2 id=\"introduction\"\u003eIntroduction\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eCable current-carrying capacity lookup\u003c/strong\u003e is a daily task for electrical designers, construction teams, and maintenance engineers. The traditional approach involves flipping through GB 50217-2018 \u003cem\u003eCode for Design of Cables of Electric Engineering\u003c/em\u003e or the IEC 60364-5-52 handbook — cross-referencing cross-sectional area, installation method, temperature, parallel circuits, and altitude on table after table. This is inefficient and error-prone. This tool encapsulates the base ampacity I₀ and four correction factors (K_θ temperature, K_s installation, K_p grouping, K_h altitude) into a web form. Enter your parameters and get the corrected ampacity I_z with factor breakdowns instantly. Suitable for design institute calculation sheets, factory inspections, and on-site temporary sizing — say goodbye to manual table-flipping.\u003c/p\u003e","title":"Cable Current-Carrying Capacity Lookup — YJV / YJV22 / VV Online Reference Tool"},{"content":"About This Site Electrical Toolbox is a collection of free online electrical calculation tools designed for electrical engineers, distribution designers, plant electricians, EV owners, and EE students.\nDesign Philosophy 100% Client-Side: All computation runs locally in your browser. Your input data never leaves your device — ideal for sensitive electrical parameters. Zero Friction: No registration, no login, no installation. Open your browser and start calculating. Standards-Compliant: Formulas and recommendations are based on GB/T (Chinese national standards), NEC (NFPA 70), and IEC, with each recommendation citing its source. Tools Available Domain Tools EV Charging Charging time estimator, charging power calculator Power Distribution Three-phase power / power factor correction, transformer capacity selection Cables \u0026amp; Protection Wire sizing (NEC AWG/kcmil), cable ampacity lookup (GB 50217), circuit breaker OCPD sizing Energy \u0026amp; Cost Residential electricity cost estimator, carbon emission estimation Disclaimer The tools on this site are intended for educational reference and preliminary engineering estimation only. They do not replace the on-site judgment of a licensed electrician. All installation, construction, and energization decisions should be approved by your local Authority Having Jurisdiction (AHJ).\nTech Stack Hugo static site generator PaperMod theme Interactive calculators: vanilla HTML/CSS/JavaScript, zero backend dependencies Contact \u0026amp; Feedback For tool suggestions, standards updates, or bug reports, please open a GitHub Issue.\nPrivacy Commitment: This site uses no cookies, collects no user data, and integrates no third-party analytics. Your electrical parameters stay in your browser.\n","permalink":"https://elec.webpenson.com/en/about/","summary":"\u003ch2 id=\"about-this-site\"\u003eAbout This Site\u003c/h2\u003e\n\u003cp\u003eElectrical Toolbox is a collection of \u003cstrong\u003efree online electrical calculation tools\u003c/strong\u003e designed for electrical engineers, distribution designers, plant electricians, EV owners, and EE students.\u003c/p\u003e\n\u003ch3 id=\"design-philosophy\"\u003eDesign Philosophy\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e100% Client-Side\u003c/strong\u003e: All computation runs locally in your browser. Your input data never leaves your device — ideal for sensitive electrical parameters.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eZero Friction\u003c/strong\u003e: No registration, no login, no installation. Open your browser and start calculating.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStandards-Compliant\u003c/strong\u003e: Formulas and recommendations are based on GB/T (Chinese national standards), NEC (NFPA 70), and IEC, with each recommendation citing its source.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"tools-available\"\u003eTools Available\u003c/h3\u003e\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003cth\u003eDomain\u003c/th\u003e\n\t\t\t\t\t\u003cth\u003eTools\u003c/th\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eEV Charging\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eCharging time estimator, charging power calculator\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003ePower Distribution\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eThree-phase power / power factor correction, transformer capacity selection\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eCables \u0026amp; Protection\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eWire sizing (NEC AWG/kcmil), cable ampacity lookup (GB 50217), circuit breaker OCPD sizing\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\t\u003ctd\u003eEnergy \u0026amp; Cost\u003c/td\u003e\n\t\t\t\t\t\u003ctd\u003eResidential electricity cost estimator, carbon emission estimation\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch3 id=\"disclaimer\"\u003eDisclaimer\u003c/h3\u003e\n\u003cp\u003eThe tools on this site are intended for \u003cstrong\u003eeducational reference and preliminary engineering estimation\u003c/strong\u003e only. They do not replace the on-site judgment of a licensed electrician. All installation, construction, and energization decisions should be approved by your local Authority Having Jurisdiction (AHJ).\u003c/p\u003e","title":"About Electrical Toolbox"},{"content":" Battery Capacity (kWh) Charging Power (kW) AC Charging Piles 7kW Home Slow Charge 11kW Three-Phase AC 22kW Dual-Gun AC 43kW Industrial AC DC Fast / Ultra Charging (GB/T Standard) 30kW DC Integrated 60kW DC Fast 80kW Bus Fast 100kW High-Power DC 120kW Commercial Fast 160kW Dual-Gun Fast 240kW Ultra Fast 400kW High-Speed Ultra 480kW Liquid-Cooled Ultra ✕ ✕ Clear Charging Efficiency (%) — Default 90% Estimated Charging Time 20% → 80% (Daily Use)-- 0% → 80% (Fast Charge Mainstream)-- 0% → 100% (Full Cycle)-- 50% → 80% (Emergency Top-Up)-- View current / cable sizing for this power → What is the Charging Time Calculator? The Charging Time Calculator is an online tool designed for EV owners and EV charger installation engineers. Based on the physics formula T = (Capacity × Charge Ratio) / (Power × Efficiency), it provides real-time estimation of the precise time required to charge from the current state to the target state of charge.\nWhether it\u0026rsquo;s a home 7kW slow charger, a public 11kW/22kW AC charger, a 120kW GB-standard DC fast charger, or a 480kW liquid-cooled ultra-fast charger, this tool delivers accurate time estimates to help you plan your travel and charging schedule effectively.\nKey Features Multi-scenario support: 13 EV charger presets with one-click loading — AC (7/11/22/43kW) + DC (30/60/80/100/120/160/240/400/480kW), covering everything from home slow charging to liquid-cooled ultra-fast charging Four-tier time output: Calculates 20→80% / 0→80% / 0→100% / 50→80% charging durations simultaneously, matching real-world usage habits Adjustable efficiency: Defaults to 90% overall efficiency, manually adjustable to match actual conditions (cold / hot / aging battery) Smart prompts: Automatically provides EV charger scenario recommendations (home / commute / commercial / ultra-fast), trickle and current-limiting warnings — eliminating range anxiety Clear button: Not satisfied with the inputs? Click ✕ Clear to restore all defaults with one click Pure frontend: All calculations run locally in the browser — vehicle data is never uploaded Frequently Asked Questions (FAQ) What is the charging time calculation formula? Core formula: Charging time (hours) = Battery capacity (kWh) × Charge ratio ÷ Charging power (kW) ÷ Charging efficiency.\nFor example: a 60kWh battery, charging from 20% to 80% (i.e., 60%), using a 7kW slow charger at 90% efficiency, requires charging time = 60 × 0.6 ÷ 7 ÷ 0.9 ≈ 5.7 hours.\nHow long does it take to fully charge a 60kWh battery? 7kW home slow charging: 7–8 hours (typical overnight charging) 11kW three-phase AC charger: 5–6 hours (faster daytime charging) 22kW dual-gun AC charger: About 3 hours 43kW industrial AC: Approximately 2.5 hours (actual active input ≈40.5kW) 60–100kW DC fast charging: 30–50 minutes (0→80%, corrected for CCCV curve) 120kW commercial GB-standard: About 25 minutes (0→80%, ~30 minutes after CCCV correction) 160kW dual-gun fast charging: 18–20 minutes (0→80%) 240–480kW ultra-fast charging: 8–15 minutes (0→80%, requires medium-voltage distribution; 0→100% roughly doubles due to trickle phase) Why is 0→100% more than twice as long as 0→80%? DC fast charging (60kW+) follows the CCCV charging curve: 0–20% is the current ramp-up phase (average power ≈ 65% of peak), 20–80% is the peak power plateau, and 80–100% is the constant-voltage trickle phase (average power ≈ 35% of peak). This tool applies segmented integration corrections for DC tiers ≥60kW — the 20→80% range is not corrected, 0→80% is approximately 13% slower than a linear model, and 0→100% is approximately 48% slower. AC slow charging (≤43kW) is nearly constant-power throughout, requiring no correction.\nWhy might actual charging time still be longer than calculated? The CCCV model is already an engineering-grade approximation, but actual time is affected by additional compounding factors: ① Charging losses (actual efficiency 85–92%, below the ideal value); ② Temperature effects (low temperatures reduce battery activity, slowing charging by 10–30%); ③ Charger current limiting (insufficient capacitance in older neighborhoods — an 11kW charger may only deliver 7kW); ④ BMS protection (active power reduction during high temperatures or high SOC).\nDoes fast charging damage the battery? Frequent use of DC fast charging above 120kW accelerates battery degradation, but home 7kW/11kW slow charging has almost no impact. Recommendation: Daily 80% shallow charge/discharge + once-per-month full charge for calibration maximizes battery lifespan.\nShould I choose a 7kW or 11kW EV charger? 7kW: Works with single-phase 220V meter, no three-phase application needed — the mainstream home solution 11kW: Requires a three-phase 380V meter, 57% faster charging — suitable for frequent commuters Sizing formula: Charging time budget = Capacity ÷ Power — choose 7kW for once-per-week charging, 11kW for 2–3 times per week Which vehicle models does the calculator support? Supports all EVs with GB/T interface, including Tesla Model 3/Y/S/X (adapter required), BYD Han/Dolphin/Yuan PLUS, Xiaopeng P7/G6, NIO ET5/ES6, Li Auto L7/L9, and more. Simply enter the vehicle battery capacity to estimate.\n","permalink":"https://elec.webpenson.com/en/tools/charging-time-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"charging-time-tool\"\u003e\n  \u003cstyle\u003e\n    #charging-time-tool { max-width: 720px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; }\n    #charging-time-tool .ct-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #charging-time-tool .ct-input-group { margin-bottom: 18px; }\n    #charging-time-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #charging-time-tool input[type=\"number\"] { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; color-scheme: light dark; }\n    #charging-time-tool input[type=\"number\"]:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #charging-time-tool .ct-section-title { font-size: 13px; font-weight: 600; color: #64748b; margin: 12px 0 8px 0; text-transform: uppercase; letter-spacing: 0.5px; }\n    #charging-time-tool .ct-presets { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 12px 0; }\n    #charging-time-tool button.ct-preset, #charging-time-tool button.ct-clear {\n      font-family: inherit; font-size: 13px; padding: 6px 12px; border-radius: 8px; cursor: pointer;\n      transition: all 0.2s; user-select: none; -webkit-appearance: none; appearance: none;\n    }\n    #charging-time-tool .ct-preset { background: #f3f4f6; border: 1px solid #d1d5db; color: #1f2937; }\n    #charging-time-tool .ct-preset:hover, #charging-time-tool .ct-preset:focus-visible { background: #dbeafe; border-color: #93c5fd; outline: none; }\n    #charging-time-tool .ct-preset.active { background: #2563eb; color: white; border-color: #2563eb; box-shadow: 0 2px 4px rgba(37,99,235,0.25); }\n    #charging-time-tool .ct-preset.active:focus-visible { box-shadow: 0 0 0 3px rgba(37,99,235,0.35); }\n    #charging-time-tool .ct-clear { background: #fff; border: 1px dashed #94a3b8; color: #64748b; }\n    #charging-time-tool .ct-clear:hover, #charging-time-tool .ct-clear:focus-visible { background: #fee2e2; border-color: #ef4444; color: #b91c1c; outline: none; }\n    #charging-time-tool .ct-result { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 10px; padding: 18px; margin-top: 18px; display: none; }\n    #charging-time-tool .ct-result.active { display: block; }\n    #charging-time-tool .ct-result h3 { margin: 0 0 12px 0; color: #0369a1; font-size: 18px; }\n    #charging-time-tool .ct-time-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #cbd5e1; }\n    #charging-time-tool .ct-time-row:last-of-type { border-bottom: none; }\n    #charging-time-tool .ct-time-label { color: #475569; }\n    #charging-time-tool .ct-time-val { font-weight: 700; color: #0c4a6e; font-size: 17px; }\n    #charging-time-tool .ct-cccv { display: none; font-size: 12px; color: #1e40af; background: #dbeafe; border: 1px solid #93c5fd; border-radius: 6px; padding: 8px 10px; margin-top: 12px; line-height: 1.5; }\n    #charging-time-tool .ct-tip { font-size: 13px; color: #475569; margin-top: 14px; padding: 10px; background: #f8fafc; border-radius: 6px; }\n    #charging-time-tool .ct-link { margin-top: 12px; font-size: 13px; }\n    #charging-time-tool .ct-link a { color: #2563eb; text-decoration: none; border-bottom: 1px dashed #93c5fd; padding-bottom: 1px; }\n    #charging-time-tool .ct-link a:hover { color: #1d4ed8; border-bottom-style: solid; }\n     \n    @media (max-width: 600px) {\n      #charging-time-tool .ct-card { padding: 16px; }\n      #charging-time-tool button.ct-preset, #charging-time-tool button.ct-clear { font-size: 12px; padding: 5px 10px; }\n    }\n    @media (prefers-color-scheme: dark) {\n      #charging-time-tool .ct-card { background: #1e293b; border-color: #334155; }\n      #charging-time-tool label { color: #cbd5e1; }\n      #charging-time-tool .ct-section-title { color: #94a3b8; }\n      #charging-time-tool input[type=\"number\"] { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #charging-time-tool .ct-preset { background: #0f172a; color: #cbd5e1; border-color: #334155; }\n      #charging-time-tool .ct-preset:hover, #charging-time-tool .ct-preset:focus-visible { background: #1e3a8a; border-color: #3b82f6; color: white; }\n      #charging-time-tool .ct-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n      #charging-time-tool .ct-clear { background: #0f172a; color: #cbd5e1; border-color: #475569; }\n      #charging-time-tool .ct-clear:hover, #charging-time-tool .ct-clear:focus-visible { background: #450a0a; border-color: #ef4444; color: #fecaca; }\n      #charging-time-tool .ct-result { background: #082f49; border-color: #075985; }\n      #charging-time-tool .ct-time-label { color: #cbd5e1; }\n      #charging-time-tool .ct-time-val { color: #7dd3fc; }\n      #charging-time-tool .ct-cccv { background: #1e3a8a; border-color: #3b82f6; color: #bfdbfe; }\n      #charging-time-tool .ct-tip { background: #0f172a; color: #94a3b8; }\n      #charging-time-tool .ct-link a { color: #93c5fd; border-bottom-color: #3b82f6; }\n      #charging-time-tool .ct-link a:hover { color: #bfdbfe; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"ct-card\"\u003e\n    \u003cdiv class=\"ct-input-group\"\u003e\n      \u003clabel for=\"ct-capacity\"\u003eBattery Capacity (kWh)\u003c/label\u003e\n      \u003cinput type=\"number\" id=\"ct-capacity\" value=\"60\" min=\"1\" max=\"200\" step=\"0.5\"\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"ct-input-group\"\u003e\n      \u003clabel for=\"ct-power\"\u003eCharging Power (kW)\u003c/label\u003e\n      \u003cinput type=\"number\" id=\"ct-power\" value=\"7\" min=\"0.5\" max=\"600\" step=\"0.5\"\u003e\n\n      \u003cdiv class=\"ct-section-title\"\u003eAC Charging Piles\u003c/div\u003e\n      \u003cdiv class=\"ct-presets\"\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"7\" data-i18n=\"ct_preset_7kw\"\u003e7kW Home Slow Charge\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"11\" data-i18n=\"ct_preset_11kw\"\u003e11kW Three-Phase AC\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"22\" data-i18n=\"ct_preset_22kw\"\u003e22kW Dual-Gun AC\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"43\" data-i18n=\"ct_preset_43kw\"\u003e43kW Industrial AC\u003c/button\u003e\n      \u003c/div\u003e\n\n      \u003cdiv class=\"ct-section-title\"\u003eDC Fast / Ultra Charging (GB/T Standard)\u003c/div\u003e\n      \u003cdiv class=\"ct-presets\" id=\"ct-presets-dc\"\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"30\" data-i18n=\"ct_preset_30kw\"\u003e30kW DC Integrated\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"60\" data-i18n=\"ct_preset_60kw\"\u003e60kW DC Fast\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"80\" data-i18n=\"ct_preset_80kw\"\u003e80kW Bus Fast\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"100\" data-i18n=\"ct_preset_100kw\"\u003e100kW High-Power DC\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"120\" data-i18n=\"ct_preset_120kw\"\u003e120kW Commercial Fast\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"160\" data-i18n=\"ct_preset_160kw\"\u003e160kW Dual-Gun Fast\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"240\" data-i18n=\"ct_preset_240kw\"\u003e240kW Ultra Fast\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"400\" data-i18n=\"ct_preset_400kw\"\u003e400kW High-Speed Ultra\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-preset\" data-p=\"480\" data-i18n=\"ct_preset_480kw\"\u003e480kW Liquid-Cooled Ultra\u003c/button\u003e\n        \u003cbutton type=\"button\" class=\"ct-clear\" id=\"ct-clear\" data-i18n=\"ct_btn_clear\"\u003e✕ ✕ Clear\u003c/button\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"ct-input-group\"\u003e\n      \u003clabel for=\"ct-eff\"\u003eCharging Efficiency (%) — Default 90%\u003c/label\u003e\n      \u003cinput type=\"number\" id=\"ct-eff\" value=\"90\" min=\"50\" max=\"100\" step=\"1\"\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ct-result\" id=\"ct-result\"\u003e\n      \u003ch3\u003eEstimated Charging Time\u003c/h3\u003e\n      \u003cdiv class=\"ct-time-row\"\u003e\u003cspan class=\"ct-time-label\"\u003e20% → 80% (Daily Use)\u003c/span\u003e\u003cspan class=\"ct-time-val\" id=\"ct-t60\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-time-row\"\u003e\u003cspan class=\"ct-time-label\"\u003e0% → 80% (Fast Charge Mainstream)\u003c/span\u003e\u003cspan class=\"ct-time-val\" id=\"ct-t80\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-time-row\"\u003e\u003cspan class=\"ct-time-label\"\u003e0% → 100% (Full Cycle)\u003c/span\u003e\u003cspan class=\"ct-time-val\" id=\"ct-t100\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-time-row\"\u003e\u003cspan class=\"ct-time-label\"\u003e50% → 80% (Emergency Top-Up)\u003c/span\u003e\u003cspan class=\"ct-time-val\" id=\"ct-t30\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-cccv\" id=\"ct-cccv\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-tip\" id=\"ct-tip\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"ct-link\"\u003e\u003ca href=\"/tools/charging-power-calculator/\"\u003eView current / cable sizing for this power →\u003c/a\u003e\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n      \n    \n    \n    \n    \n    \n    function segTime(p0, p1) {\n      var t = 0, a, b;\n      a = Math.max(p0, 0);  b = Math.min(p1, 20);\n      if (b \u003e a) t += (b - a) / 0.65;\n      a = Math.max(p0, 20); b = Math.min(p1, 80);\n      if (b \u003e a) t += (b - a) / 1.0;\n      a = Math.max(p0, 80); b = Math.min(p1, 100);\n      if (b \u003e a) t += (b - a) / 0.35;\n      return t;\n    }\n    \n    function fastChargeFactor(P, fromPct, toPct) {\n      if (P \u003c 60) return 1.0;\n      var linearRatio = (toPct - fromPct) / 100;\n      var actualRatio = segTime(fromPct, toPct) / 100;\n      if (linearRatio \u003c= 0) return 1.0;\n      return actualRatio / linearRatio;\n    }\n    function fmtTime(hours) {\n      if (!isFinite(hours) || hours \u003c 0) return '--';\n      var h = Math.floor(hours);\n      var m = Math.round((hours - h) * 60);\n      if (h === 0) return m + ' 分钟';\n      if (m === 0) return h + ' 小时';\n      return h + ' 小时 ' + m + ' 分';\n    }\n    function clearActive() {\n      document.querySelectorAll('#charging-time-tool .ct-preset').forEach(function(x){ x.classList.remove('active'); });\n    }\n    \n    function syncActiveByPower(p) {\n      var hit = null;\n      document.querySelectorAll('#charging-time-tool .ct-preset').forEach(function(x){\n        if (String(x.dataset.p) === String(p)) hit = x;\n      });\n      clearActive();\n      if (hit) hit.classList.add('active');\n    }\n    function calc() {\n      var C = parseFloat(document.getElementById('ct-capacity').value);\n      var P = parseFloat(document.getElementById('ct-power').value);\n      var E = parseFloat(document.getElementById('ct-eff').value) / 100;\n      if (!C || !P || !E || C \u003c= 0 || P \u003c= 0 || E \u003c= 0) return;\n      var base = C / (P * E); \n      var t60  = base * 0.6 * fastChargeFactor(P, 20, 80);\n      var t80  = base * 0.8 * fastChargeFactor(P, 0, 80);\n      var t100 = base * 1.0 * fastChargeFactor(P, 0, 100);\n      var t30  = base * 0.3 * fastChargeFactor(P, 50, 80);\n      document.getElementById('ct-t60').textContent  = fmtTime(t60);\n      document.getElementById('ct-t80').textContent  = fmtTime(t80);\n      document.getElementById('ct-t100').textContent = fmtTime(t100);\n      document.getElementById('ct-t30').textContent  = fmtTime(t30);\n      \n      var cccv = document.getElementById('ct-cccv');\n      if (P \u003e= 60) {\n        cccv.style.display = 'block';\n        var overLinear = Math.round((fastChargeFactor(P, 0, 100) - 1) * 100);\n        cccv.textContent = '已按 CCCV 曲线修正(0-20% 爬坡 / 80-100% 涓流),0→100% 较恒功率线性模型长约 ' + overLinear + '%;20→80% 区间不修正。';\n      } else {\n        cccv.style.display = 'none';\n      }\n      \n      var tip = '';\n      if (P \u003e= 240)      tip = '提示:超充桩(240kW+)通常 20-80% SOC 区间能跑满功率,80% 后进入涓流,实际时间略长于计算值;通常需 690V/10kV 中压配电。';\n      else if (P \u003e= 100) tip = '提示:直流快充功率峰值仅在 20-80% SOC 区间达到,80% 后进入涓流,实际时间略长于计算值。';\n      else if (P \u003e= 60)  tip = '提示:60-100kW 直流桩面向公交 / 物流,长时间满功率运行建议关注电池温升。';\n      else if (P \u003e= 43)  tip = '提示:43kW 工业交流,需三相 380V/63A,实际输入有功约 40.5kW(cosΦ=0.98)。';\n      else if (P \u003e= 22)  tip = '提示:22kW 需三相 380V 电表,部分车型车载充电机限制 11kW,实际充不到 22kW。';\n      else if (P \u003e= 11)  tip = '提示:11kW 通勤主流方案,3-5 小时从 20% 充到 80%(视电池容量),需三相 380V 电表。';\n      else if (P \u003e 7)    tip = '提示:8-10kW 介于家用慢充与三相交流之间,需确认电表与车载充电机是否支持该功率档。';\n      else               tip = '提示:7kW 慢充几乎不损伤电池,适合日常家用;冬季低温充电时间可能延长 20-30%。';\n      document.getElementById('ct-tip').textContent = tip;\n      document.getElementById('ct-result').classList.add('active');\n    }\n    ['ct-capacity','ct-power','ct-eff'].forEach(function(id){\n      var el = document.getElementById(id);\n      el.addEventListener('input', function(){\n        \n        if (id === 'ct-power') syncActiveByPower(el.value);\n        calc();\n      });\n      el.addEventListener('change', calc);\n    });\n    \n    document.querySelectorAll('#charging-time-tool .ct-preset').forEach(function(p){\n      p.addEventListener('click', function(){\n        clearActive();\n        this.classList.add('active');\n        var input = document.getElementById('ct-power');\n        input.value = this.dataset.p;\n        calc();\n      });\n    });\n    \n    document.getElementById('ct-clear').addEventListener('click', function(){\n      document.getElementById('ct-capacity').value = '60';\n      document.getElementById('ct-power').value = '7';\n      document.getElementById('ct-eff').value = '90';\n      syncActiveByPower('7');\n      calc();\n    });\n    \n    syncActiveByPower('7');\n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"what-is-the-charging-time-calculator\"\u003eWhat is the Charging Time Calculator?\u003c/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eCharging Time Calculator\u003c/strong\u003e is an online tool designed for EV owners and EV charger installation engineers. Based on the physics formula \u003cstrong\u003eT = (Capacity × Charge Ratio) / (Power × Efficiency)\u003c/strong\u003e, it provides real-time estimation of the precise time required to charge from the current state to the target state of charge.\u003c/p\u003e","title":"Charging Time Calculator — EV \u0026 EV Charger Full-Charge Duration Estimator"},{"content":" ⚡ Quick Presets — Common NEC Services EV L2 32A EV L2 40A EV L2 48A 50A Subpanel 100A Subpanel 200A Service 30A Dryer 40A Range 10 HP Motor 25 HP Motor ⚡ Resistive / General Load ⚙ Motor Branch Circuit (NEC 430) Load Amps (A) Load Power (kW, optional) Leave blank if entering amps directly. System Voltage (V) 120 V 208 V 220 V 240 V 277 V 347 V 380 V 480 V 600 V Phase 1Φ Single-Phase 3Φ Three-Phase Power Factor (cosφ) Resistive load = 1.0. Motor load = 0.85 typical. Continuous load (NEC 210.20(A) — 125% rule) Required for EV chargers, solar PV inverters, and any load expected to run \u0026gt; 3 hours. Motor Power (HP) NEMA/IEC Design Letter B — Standard (most common, 250% FLA) A — High torque, normal locked-rotor (250% FLA) C — High starting torque (150% FLA) E — IEC premium efficiency (150% FLA) D — Very high locked-rotor (150% FLA) Motor Voltage (V) 115 V 208 V 220 V 230 V 240 V 380 V 460 V 480 V 575 V 600 V Motor Phase 1Φ Single-Phase 3Φ Three-Phase FLA is looked up from NEC Table 430.250 (3Φ) or 430.6 (1Φ). Per NEC 430.52, inverse-time breaker = 250% of FLA for Design A/B; 150% for Design C/E/D. Recommended OCPD — amperes Running Amps — A Design Amps — A Calculation Details Run current — NEC 210.20(A) 125% rule — NEC 240.4(B) round-up — NEC 240.6(A) standard rating — Enter load values to see the formula. 📊 NEC 240.6(A) Standard OCPD Sizes (click to expand) Standard OCPD (A)Common Use 15General lighting, 14 AWG 20General receptacles, 12 AWG 25Select appliances 30Dryer (small), water heater, 10 AWG 35Limited use 40Range (small), 8 AWG 45Limited use 50Subpanel feeders, 6 AWG, hot tub 60EV L2 48A continuous, 6 AWG 70Limited use 80Subpanel feeders 90Subpanel feeders 100Subpanel feeders, 3 AWG 110Service entrance 125Service entrance, 1/0 AWG 150Service entrance 175Service entrance, 2/0 AWG 200Residential service, 3/0 AWG 225Service entrance 250Commercial service 300Commercial service 350Commercial service 400Commercial service 450Industrial service 500Industrial service 600Industrial service 700Industrial service 800Industrial service Source: NFPA 70 — National Electrical Code 2023, Section 240.6(A). 📊 NEC Table 430.250 — 3-Phase Motor FLA Reference (click to expand) HP208 V230 V460 V 0.52.42.21.1 0.753.53.21.6 14.64.22.1 1.56.66.03.0 27.56.83.4 310.69.64.8 516.715.27.6 7.524.222.011.0 1030.828.014.0 1546.242.021.0 2059.454.027.0 2574.868.034.0 3088.080.040.0 40114.0104.052.0 50143.0130.065.0 60169.0154.077.0 75211.0192.096.0 100273.0248.0124.0 Source: NFPA 70 — National Electrical Code 2023, Table 430.250 (3-phase induction motors, full-load amperes). ⚠️ Reference only. OCPD sizing is NEC-aware but final conductor and breaker sizing must be verified by a licensed electrician and approved by your local Authority Having Jurisdiction (AHJ). Always follow the latest edition of NFPA 70 — National Electrical Code. TL;DR — What this calculator returns. Enter load amps or kW (resistive / general), or motor HP (NEC 430 branch circuit) — the tool returns the recommended overcurrent protective device (OCPD / breaker) sized per NEC 240.6(A) standard ratings, with NEC 240.4(B) next-larger OCPD logic when no standard OCPD matches the conductor ampacity, and the NEC 210.20(A) / 215.3 / 625 125 % continuous-load rule applied automatically when the load runs more than 3 hours. For motor branch circuits, the tool follows NEC 430.52 (inverse-time breaker = 250 % of FLA for NEMA Design A/B, 150 % for Design C/E). 100 % client-side, no signup, no upload.\nWhat size breaker do I need? A circuit breaker size calculator solves one specific problem: given a load, find the smallest NEC-compliant standard breaker that will protect the conductor without nuisance tripping. The answer depends on three pieces of information — running amps, whether the load is continuous (NEC Article 100: expected to run 3 hours or more), and which NEC Article applies to your circuit type.\nFor most residential and small-commercial branch circuits, the chain is NEC 240.4 → 240.6(A) → 210.20(A) — conductor ampacity is matched to one of the 27 standard OCPD sizes listed in NEC 240.6(A), and a 125 % multiplier is layered on when the load is continuous (EV chargers, commercial lighting, storage heaters). For motor branch circuits the chain is fundamentally different: NEC 430.52 → Table 430.250 (3Φ) / Table 430.6 (1Φ) → 250 % or 150 % multiplier depending on NEMA/IEC design letter. For service-entrance and feeder conductors the chain is NEC 215.3 → 220 (demand factors optional). And for hot tubs, spas, and pool equipment, NEC 680 layers GFCI protection onto the sizing chain.\nThe most common inspector question on a permit drawing is: \u0026ldquo;What NEC Article sized this breaker?\u0026rdquo; This calculator answers that question in line with the result card — every recommended OCPD is tagged with the Article (240.6(A), 240.4(B), 210.20(A), 430.52, etc.) that produced it. Once you have the breaker size, pair the breaker with the conductor using our Wire Size Calculator — that\u0026rsquo;s the second half of the NEC 110.14(C) + 240.4(B) pairing flow.\nWhy this circuit breaker calculator? Most online breaker-sizing tools return \u0026ldquo;round to the nearest 5 A,\u0026rdquo; which is not NEC-compliant — inspectors reject non-standard OCPD sizes during plan review. This calculator is built around the actual NEC 2023 NFPA-70 logic, not around a smoothing function. Six things make it different:\nStandard OCPD ladder (NEC 240.6(A)) NEC 240.6(A) lists exactly 27 standard ratings in amperes: 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500, 600, 700, 800. Anything else — including \u0026ldquo;55 A breaker\u0026rdquo; — is non-standard and will be rejected on a permit drawing. The calculator always returns a value from this list, with no rounding exceptions.\nRound-up logic (NEC 240.4(B)) NEC 240.4(B) permits the next-larger standard OCPD only when no standard OCPD corresponds to the conductor ampacity (the next-larger OCPD is also capped at 800 A). For example, 6 AWG copper at 75 °C terminal rating has an ampacity of 65 A — the next standard OCPD larger than 55 A is 60 A, which is permitted. But 50 A conductor + 50 A OCPD is already a direct match — bumping that to 60 A is an over-size, not a 240.4(B) round-up. The calculator surfaces this distinction with a 🟢 / 🟡 / 🔴 compliance badge.\nContinuous-load 125 % rule (NEC 210.20(A) / 215.3 / 625) A continuous load (NEC 100 definition: expected to run ≥ 3 hours) requires OCPD ≥ 1.25 × load. EV chargers, solar PV inverters, battery storage PCS units, and most commercial lighting all trigger this rule. The calculator applies it by default for EV-charger presets and exposes a checkbox for manual entries. (Note: NEC 215.3 governs feeder OCPD sizing; the 125 % multiplier is identical on both sides of the service.)\nMotor branch-circuit path (NEC 430.52) NEC 430.52 sizes OCPD for motors using FLA × multiplier, where FLA comes from NEC Table 430.250 (3-phase) or Table 430.6 (single-phase) and the multiplier depends on NEMA design letter: Design A or B = 250 % of FLA, Design C or E = 150 % of FLA, Design D = 150 % of FLA (verify against the manufacturer\u0026rsquo;s OCPD list for Design D). Most breaker-sizing calculators skip this path entirely; the calculator handles it as a dedicated tab.\nWire-size pairing (NEC 110.14(C)) NEC 110.14(C) requires conductor terminations to be rated at not less than the OCPD rating — for OCPDs ≤ 100 A, the 75 °C column of NEC Table 310.16 is the inspector-favored reference. The calculator flags the appropriate ampacity column and cross-links to the Wire Size Calculator for the conductor side of the pair.\n100 % client-side, no signup All math runs in your browser. No form submission, no account, no email collection, no upload. Verify with DevTools → Network tab: zero outbound traffic beyond the initial page load.\nHow to use this circuit breaker calculator The calculator has two modes (resistive/general load and motor branch circuit) and ten presets (30 A dryer, 40 A range, 50 A subpanel, 60 A EV charger, 100 A subpanel, 200 A service, 32/40/48 A EV charger variants, 10/25 HP motors). Pick a preset for a one-click answer, or enter load data manually.\nStep 1 — Choose a preset or enter load manually Click any preset chip (e.g., EV L2 48A (continuous)) to fill the inputs and surface a result instantly. To enter manually, switch to Resistive mode and type your load amps (or kW) into the corresponding field. For motor branch circuits, click the Motor Branch Circuit (NEC 430) tab and enter motor HP + voltage + phase + design letter.\nStep 2 — Set voltage, phase, and power factor In Resistive mode, choose system voltage (120 / 208 / 220 / 240 / 277 / 347 / 380 / 480 / 600 V), phase (1Φ or 3Φ), and power factor (default 0.95; pure resistive loads can use 1.0). Toggle the Continuous load checkbox for loads expected to run more than 3 hours — EV chargers, grid-tie PV inverters, and storage heaters all qualify. In Motor mode, set motor voltage, phase, and NEMA/IEC design letter (A, B, C, E, D); power factor is not used in NEC 430 sizing.\nStep 3 — Read the OCPD result card The result card shows three numbers: running amps (the actual load current), design amps (running × 1.25 if continuous, otherwise running amps directly), and the recommended OCPD — the smallest NEC 240.6(A) standard rating ≥ design amps. Below the OCPD number, a compliance badge indicates which rule fired:\n🟢 NEC 240.6(A) Direct Match — running amps already align with a standard OCPD; no round-up required. 🟢 NEC 240.4(B) Round-Up Applied — next-larger OCPD permitted because no standard OCPD matches the conductor ampacity. 🟡 NEC 430.52 × 250 % Applied — motor branch circuit, Design A/B (verify motor nameplate design letter). 🟡 NEC 430.52 × 150 % Applied — motor branch circuit, Design C/E. 🔴 Exceeds 800 A — design current exceeds the 240.4(B) 800 A cap; use parallel conductors (NEC 310.10(H)) or service-entrance equipment. Below the badge, the formula trace (e.g., 48 A × 1.25 = 60 A → 240.6(A) → 60 A OCPD) shows exactly how the result was derived, so you can cite the Article number on a permit drawing.\nNEC breaker sizing basics The full NEC 240 + 430 + 210.20(A) chain is the spine of US residential, commercial, and industrial electrical work. The four sub-sections below cover each link in that chain with the formulas, tables, and Inspector Reference Tables an electrician actually needs on the job site.\nNEC 240.6(A) standard sizes NEC 240.6(A) lists the standard ampere ratings for fuses and inverse-time breakers. Only these sizes are permitted on a permit drawing:\nStandard OCPD size (A) Common application 15 General lighting / receptacle circuits (NEC 210.3) 20 Kitchen / bathroom / laundry receptacles (NEC 210.11(C)) 30 Electric dryer branch circuit (NEC 220.54) 40 Electric range branch circuit (NEC 220.55) 50 RV outlet / subpanel feeder (NEC 551) 60 Level-2 EV charger (48 A continuous, NEC 625) 70 Small workshop subpanel 80 Mid-size heat-pump / large air handler 90 25 HP Design B motor (FLA × 250 % round-up) 100 Subpanel feeder / service entrance (small residence) 125 Larger subpanel feeder 150 Heat-pump / commercial subpanel 175 Commercial subpanel 200 Service entrance (typical residence) 225 Service entrance (mid-size residence) 250 Service entrance (large residence / small commercial) 300 – 350 Small commercial service entrance 400 – 450 Mid-size commercial service entrance 500 – 600 Large commercial service entrance 700 – 800 Industrial service entrance / parallel-feeder protection (NEC 240.4(B) cap) NEC 240.4(B) next-larger rule NEC 240.4(B) is the most-misunderstood article in residential wiring. The verbatim text says: \u0026ldquo;The next higher standard rating of overcurrent device … shall be permitted for protection of conductors … where the ampacity of the conductors does not correspond to a standard ampere rating …\u0026rdquo; — capped at 800 A. Translated to the field:\nConductor sized at 50 A (e.g., 6 AWG copper at 60 °C = 55 A or 75 °C = 65 A, designed against 50 A OCPD) → 50 A OCPD is a direct match; no round-up. Bumping to 60 A is over-sizing and a code violation. Conductor sized at 65 A (6 AWG copper at 75 °C terminal rating) → no 65 A OCPD exists; round up to 70 A OCPD (the next standard). Conductor sized at 110 A (e.g., 1 AWG copper at 75 °C = 130 A, designed for a 100 A subpanel but corrected to 110 A) → no 110 A OCPD exists; round up to 125 A OCPD. The rule does not apply if a standard OCPD already matches the conductor ampacity. The calculator surfaces this distinction with a 🟢 direct-match badge vs. a 🟡 round-up badge.\nNEC 210.20(A) / 215.3 continuous-load rule NEC 210.20(A) governs branch-circuit OCPD sizing; NEC 215.3 governs feeder OCPD sizing. Both apply the same 125 % multiplier when the load is continuous (expected to run ≥ 3 hours, per NEC Article 100):\nOCPD ≥ 1.25 × non-continuous load + continuous load\nFor a single-load continuous circuit, this simplifies to OCPD ≥ 1.25 × full load. Worked examples:\n32 A continuous (Level-2 EV charger, 7.7 kW) → 32 × 1.25 = 40 → 40 A OCPD (direct match). 40 A continuous (Level-2 EV charger, 9.6 kW) → 40 × 1.25 = 50 → 50 A OCPD (direct match). 48 A continuous (Level-2 EV charger, 11.5 kW) → 48 × 1.25 = 60 → 60 A OCPD (direct match). EV charging (NEC 625) is always treated as continuous by modern AHJ interpretation — that interpretation is the standard across the US and Canada.\nNEC 430.52 motor branch-circuit sizing NEC 430.52 sizes OCPD for motors using FLA × multiplier:\nDesign A or B (most common, NEMA standard): 250 % of FLA on an inverse-time breaker. Design C or E (high starting torque, IEC high-efficiency): 150 % of FLA. Design D (very high locked-rotor current): 150 % of FLA, then verify against the manufacturer\u0026rsquo;s published OCPD list. Worked example — a 460 V 3-phase 25 HP Design B motor: FLA from NEC Table 430.250 = 34 A; 34 × 2.50 = 85 A; next standard OCPD = 90 A. Per NEC 430.52(C)(1) Exception 1, the next-larger standard OCPD is permitted when the calculated value doesn\u0026rsquo;t match a standard. For motor feeder overcurrent protection, see NEC 430.62 (a different calculation); this calculator focuses on branch-circuit OCPD only.\nNEC 220 demand-factor pairing (advanced) For services and subpanel feeders in residential and small-commercial work, NEC 220 demand factors can reduce the design load below the nameplate sum. NEC Table 220.55 (range demand) and 220.82 (optional method, single-family residence) are common. The calculator exposes a demand-factor toggle in advanced mode — apply a percentage (e.g., 0.65 for 12 kW range demand) to scale design amps before the 240.6(A) match. This is the only calculator in the cluster that surfaces demand-factor math explicitly; the other tools expect nameplate inputs.\nBreaker size for common services (presets) The presets below pre-fill the calculator inputs with typical residential / small-commercial values. Click any preset for a one-click answer; the result card carries the NEC Article number for permit review.\n30 A dryer circuit A 240 V 24 A dryer (nameplate FLA, NEC 220.54 demand = 5,000 VA or 24 A minimum) → non-continuous → 24 A design amps → next standard OCPD = 30 A. Pair with 10 AWG copper (75 °C ampacity 35 A) on a 30 A 2-pole breaker. Verify with the dryer nameplate — modern dryers with steam cycles may draw 30 A continuously and require a 40 A OCPD under NEC 210.20(A).\n40 A electric range circuit A 240 V 33 A electric range (NEC Table 220.55 demand applied to the nameplate) → non-continuous in most jurisdictions → 33 A design amps → next standard OCPD = 40 A. Pair with 8 AWG copper (75 °C ampacity 50 A) on a 40 A 2-pole breaker. Range hoods and warming drawers on the same circuit may push the load into continuous-load territory — check with the AHJ.\n50 A RV / subpanel feeder A 240 V 50 A RV outlet (NEC 551) or small subpanel feeder → non-continuous (typical intermittent RV use) → 50 A direct match → 50 A OCPD. Pair with 6 AWG copper (75 °C ampacity 65 A) on a 50 A 2-pole breaker. For a continuous-load subpanel (one that feeds an EV charger downstream, for example), bump to 60 A OCPD under NEC 210.20(A).\n60 A EV charger (Level 2, 11 kW) Level-2 EV charging is always continuous (NEC 625 + 210.20(A)). A 48 A continuous load (a typical 11 kW Level-2 unit: Tesla, ChargePoint, JuiceBox, Emporia) → 48 × 1.25 = 60 → 60 A OCPD (direct match). Pair with 4 AWG copper (75 °C ampacity 85 A) on a 60 A 2-pole breaker. Always check the charger nameplate for actual FLA — some Level-2 units are 40 A continuous (requires 50 A OCPD) or 32 A continuous (requires 40 A OCPD). Verify the charger\u0026rsquo;s actual demand with our EV Charging Power Calculator.\n100 A subpanel feeder A 240 V 100 A subpanel feeder serving a workshop or detached garage → typically non-continuous at the feeder level (NEC 215.3) → 100 A direct match → 100 A OCPD. Pair with 3 AWG copper or 1 AWG aluminum on a 100 A 2-pole breaker. For subpanels that feed continuous loads downstream (EV chargers, PV inverters), apply the 125 % multiplier at the load level, not at the feeder; feeder amps remain 100 A.\n200 A service entrance A 240 V 200 A residential service entrance → typically non-continuous at the service level when calculated per NEC 220.82 optional method → 200 A direct match → 200 A OCPD. Pair with 2/0 AWG copper or 4/0 AWG aluminum on a 200 A 2-pole main breaker. For all-electric residences with continuous loads (PV inverter + EV + heat-pump compressor running simultaneously), check with the AHJ — some jurisdictions require 320 A or 400 A service to keep feeder OCPDs under the 80 % continuous-load rule.\n10 kW / 25 kW motor branch circuits NEC 430.52 motor branch-circuit OCPD sizing — fundamentally different from resistive loads.\n460 V 3-phase 10 HP Design B motor → FLA = 14 A (NEC Table 430.250) → 14 × 2.50 = 35 → next standard OCPD = 35 A. Pair with 8 AWG copper (75 °C ampacity 50 A, NEC 110.14(C) ≥ 35 A OCPD). 460 V 3-phase 25 HP Design B motor → FLA = 34 A → 34 × 2.50 = 85 → next standard OCPD = 90 A. Pair with 3 AWG copper (75 °C ampacity 100 A). 230 V 3-phase 25 HP Design C motor → FLA = 68 A → 68 × 1.50 = 102 → next standard OCPD = 110 A. Pair with 1 AWG copper (75 °C ampacity 130 A). For the kW → FLA pre-step, use our Three-Phase Power Calculator.\nWire size ↔ breaker size pairing (NEC 240.4(B)) The breaker and the conductor are a paired system — the breaker protects the conductor by tripping before the conductor overheats, and the conductor must be sized to carry the load without exceeding its insulation rating. NEC 110.14(C) + 240.4(B) govern the pair. The pairing table below maps typical NEC 240.6(A) breakers to the smallest 75 °C-rated copper conductor that satisfies both rules:\nOCPD (A) Min. copper conductor (75 °C) Conductor ampacity (A) 240.4(B) round-up? 15 14 AWG 20 🟢 direct match 20 12 AWG 25 🟢 direct match 30 10 AWG 35 🟢 direct match 40 8 AWG 50 🟢 direct match 50 6 AWG 65 🟢 direct match 60 4 AWG 85 🟢 direct match 70 4 AWG 85 🟡 round-up from 65 A conductor ampacity 80 4 AWG 85 🟡 round-up 90 3 AWG 100 🟡 round-up 100 3 AWG 100 🟢 direct match 125 1 AWG 130 🟡 round-up How to pair the breaker with the conductor Once the calculator returns the OCPD size, jump to the Wire Size Calculator to size the conductor. The pairing flow is bidirectional — wire-size calculators should reference back to the recommended breaker (NEC 240.6(A) standard OCPD), and breaker-size calculators should reference the conductor that pairs with the OCPD. Pairing both directions is what makes a permit drawing inspector-friendly.\nFor motor branch circuits, the conductor is sized per NEC 430.22 (125 % of motor FLA — a different calculation from the OCPD-sizing path), so the breaker and conductor decisions are independent. Confirm both with the calculator pair.\nFAQ Seven common questions an electrician or homeowner asks on the permit desk — answers cite the NEC Article so the citation line is copy-paste-able onto a drawing.\nWhat size breaker do I need for 50 amps? A 50 A continuous load requires a 50 A standard OCPD on a conductor rated at least 50 A (NEC 240.4). For a 50 A non-continuous load (a typical subpanel feeder or RV outlet), pair it with 6 AWG copper (75 °C ampacity 65 A) and a 50 A breaker — direct match, no round-up. For a 50 A continuous load, NEC 210.20(A) requires OCPD ≥ 125 % of load = 62.5 A, which round-ups to the next standard OCPD = 70 A under NEC 240.4(B). Most 50 A subpanels are non-continuous, so the 50 A breaker is correct — verify with the actual load profile before pulling the permit.\nCan I use a 60 amp breaker on a 50 amp circuit? Yes — but only under specific NEC 240.4(B) conditions. The \u0026ldquo;next-larger standard OCPD\u0026rdquo; rule permits a 60 A breaker on a conductor whose ampacity does not correspond to a standard OCPD — for example, a 6 AWG copper conductor at 75 °C ampacity = 65 A, which has no standard OCPD match (50 A and 60 A bracket it). In that case, 60 A is the code-compliant choice. The rule does NOT apply if a standard OCPD (50 A) already matches the conductor ampacity; using 60 A there would be an over-size violation. For continuous loads, NEC 210.20(A) still requires the 125 % multiplier first — a 50 A continuous load still needs a 70 A OCPD.\nWhat is the NEC 240.4(B) round-up rule? NEC 240.4(B) — Overcurrent protection of conductors — states: \u0026ldquo;The next higher standard rating of overcurrent device … shall be permitted for protection of conductors … where the ampacity of the conductors does not correspond to a standard ampere rating …\u0026rdquo; — but the next-larger OCPD is capped at 800 A. In practice: round up to the next standard OCPD from NEC 240.6(A) only when no standard OCPD exactly matches the conductor ampacity. Conductor sized at 65 A (6 AWG / 75 °C) → 70 A OCPD. Conductor sized at 50 A → 50 A OCPD (direct match, no round-up). This rule is the most common source of inspector pushback — verify with the AHJ before permit submission.\nWhat size breaker for a Level-2 (40-50 A) EV charger? For a Level-2 EV charger (NEC 625 + 210.20(A) — EV charging is a continuous load, defined as running ≥ 3 hours): 32 A continuous → 40 A breaker (32 × 1.25 = 40 A direct match), 40 A continuous → 50 A breaker (40 × 1.25 = 50 A direct match), 48 A continuous → 60 A breaker (48 × 1.25 = 60 A direct match). Pair the breaker with our Wire Size Calculator to size the conductor: a 60 A EV charger typically needs 4 AWG copper (75 °C ampacity 85 A, but verify with the charger nameplate and AHJ). Common 11 kW Level-2 units (Tesla, ChargePoint, JuiceBox) draw 48 A continuous — use the 60 A EV charger preset in our calculator for a one-click answer. Verify the charger\u0026rsquo;s actual demand with our EV Charging Power Calculator.\nHow do you size a breaker for a motor? Motor branch-circuit OCPD sizing follows NEC 430.52 — fundamentally different from resistive loads. The formula: OCPD ≥ FLA × multiplier, where FLA (full-load amps) comes from NEC Table 430.250 (3-phase) or Table 430.6 (single-phase), and multiplier depends on NEMA/IEC design letter: Design A or B (most common) = 250 % of FLA, Design C or E = 150 % of FLA, Design D = 150 % of FLA (verify against manufacturer OCPD list). Example: 460 V 3-phase 25 HP Design B motor → FLA = 34 A → 34 × 2.5 = 85 A → next standard OCPD = 90 A. Round-up to next-larger standard OCPD is permitted under NEC 430.52(C)(1) Exception 1. For motor feeder overcurrent protection, see NEC 430.62.\nWhat is NEC 240.6(A)? NEC 240.6(A) — Standard Ampere Ratings — lists the 27 standard OCPD sizes recognized by the National Electrical Code: 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500, 600, 700, 800 A. These are the only OCPD sizes you can specify on a permit drawing — anything else (e.g., \u0026ldquo;55 A breaker\u0026rdquo;) is non-standard and will be rejected by the Authority Having Jurisdiction (AHJ). Our calculator always returns a value from this list, with NEC 240.4(B) round-up logic applied when the load exceeds the largest direct match below 800 A.\nWhat\u0026rsquo;s the difference between NEC 210.20(A) and 215.3? NEC 210.20(A) governs branch-circuit OCPD sizing — the breaker on a single load circuit (a 20 A kitchen receptacle, a 30 A dryer, a 60 A EV charger). NEC 215.3 governs feeder OCPD sizing — the breaker on a subpanel feeder or service-entrance conductor (a 100 A subpanel feed, a 200 A service). Both articles apply the 125 % continuous-load rule identically: OCPD ≥ 1.25 × non-continuous load + continuous load. The distinction matters for which conductor you\u0026rsquo;re sizing — branch-circuit conductors per NEC 310.16 + 110.14(C) terminal ratings; feeder conductors per NEC 215.2 + 220 (demand factors may apply for feeders only). For a single-family residence, the 125 % rule is the same on both sides; the difference shows up in commercial / multi-family demand-factor math.\nWhat breaker for a hot tub (NEC 680)? A 240 V hot tub typically draws 30 A continuous (per nameplate) → NEC 210.20(A) + 680 require OCPD ≥ 30 × 1.25 = 37.5 A → next standard OCPD = 40 A. Conductor: 6 AWG copper (75 °C ampacity 65 A) on a 40 A or 50 A GFCI breaker (50 A is also common for hot tubs with larger heaters). The GFCI protection requirement is NEC 680.44 — must be a GFCI breaker (not just a GFCI receptacle) for spa/hot tub installations. Verify with the manufacturer\u0026rsquo;s installation manual — some 240 V hot tubs draw up to 50 A continuous and require a 60 A breaker + 4 AWG copper.\nRelated Tools Wire Size Calculator — pair the breaker with the conductor per NEC 110.14(C) + 240.4(B). Three-Phase Power Calculator — kW → FLA pre-step for NEC 430 motor branch circuits. EV Charging Power Calculator — verify the actual EV charger demand before sizing the OCPD. ⚠️ Reference only. This calculator and its accompanying copy apply the 2023 NFPA-70 (National Electrical Code) formulas described above and are intended for educational and reference use. Confirm all breaker, conductor, and GFCI sizing decisions with a licensed electrician and your local Authority Having Jurisdiction (AHJ) before pulling a permit or energizing any circuit. NEC adoption and amendments vary by jurisdiction — the AHJ\u0026rsquo;s interpretation is the final authority on your installation. All math runs 100 % client-side; your load data never leaves the browser.\n","permalink":"https://elec.webpenson.com/en/tools/circuit-breaker-sizing-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"cbs-tool\"\u003e\n  \u003cstyle\u003e\n    #cbs-tool { max-width: 820px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif; }\n    #cbs-tool .cbs-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #cbs-tool .cbs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }\n    #cbs-tool .cbs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    #cbs-tool .cbs-input-group { margin-bottom: 14px; }\n    #cbs-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #cbs-tool label .cbs-unit { font-weight: 400; color: #6b7280; font-size: 12px; margin-left: 4px; }\n    #cbs-tool label .cbs-help { font-weight: 400; color: #6b7280; font-size: 11px; display: block; margin-top: 2px; }\n    #cbs-tool input, #cbs-tool select { width: 100%; padding: 9px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; color: #111827; }\n    #cbs-tool input:focus, #cbs-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #cbs-tool .cbs-preset-group { margin-bottom: 14px; }\n    #cbs-tool .cbs-preset-group-label { font-size: 12px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }\n    #cbs-tool .cbs-presets { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }\n    #cbs-tool .cbs-preset { padding: 6px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; font-size: 13px; transition: all 0.15s; user-select: none; }\n    #cbs-tool .cbs-preset:hover { background: #dbeafe; border-color: #93c5fd; }\n    #cbs-tool .cbs-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n    #cbs-tool .cbs-toggle { display: inline-flex; gap: 0; border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; }\n    #cbs-tool .cbs-toggle-btn { padding: 8px 14px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 600; color: #374151; border: none; transition: all 0.15s; }\n    #cbs-tool .cbs-toggle-btn.active { background: #2563eb; color: white; }\n    #cbs-tool .cbs-toggle-btn:not(.active):hover { background: #f3f4f6; }\n    #cbs-tool .cbs-checkbox { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #374151; cursor: pointer; padding: 4px 0; }\n    #cbs-tool .cbs-checkbox input { width: 16px; height: 16px; margin: 0; }\n    #cbs-tool .cbs-checkbox .cbs-help { color: #6b7280; font-size: 12px; margin-left: 24px; }\n    #cbs-tool .cbs-mode-tabs { display: flex; gap: 0; border-bottom: 2px solid #e5e7eb; margin-bottom: 16px; }\n    #cbs-tool .cbs-mode-tab { padding: 10px 16px; cursor: pointer; font-weight: 600; color: #6b7280; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.2s; font-size: 14px; user-select: none; }\n    #cbs-tool .cbs-mode-tab.active { color: #2563eb; border-bottom-color: #2563eb; }\n    #cbs-tool .cbs-mode-tab:hover:not(.active) { color: #374151; }\n    #cbs-tool .cbs-panel { display: none; }\n    #cbs-tool .cbs-panel.active { display: block; }\n    #cbs-tool .cbs-result { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; padding: 18px; }\n    #cbs-tool .cbs-badge { display: inline-block; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-bottom: 14px; }\n    #cbs-tool .cbs-badge-green { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }\n    #cbs-tool .cbs-badge-yellow { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }\n    #cbs-tool .cbs-badge-red { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }\n    #cbs-tool .cbs-result-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 14px; }\n    #cbs-tool .cbs-result-cell { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px; text-align: center; }\n    #cbs-tool .cbs-result-cell-label { font-size: 11px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; font-weight: 600; }\n    #cbs-tool .cbs-result-cell-value { font-size: 22px; font-weight: 700; color: #1e3a8a; font-variant-numeric: tabular-nums; line-height: 1.2; }\n    #cbs-tool .cbs-result-cell-unit { font-size: 12px; color: #6b7280; margin-top: 2px; }\n    #cbs-tool .cbs-cell-ocpd .cbs-result-cell-value { color: #7c2d12; }\n    #cbs-tool .cbs-cell-run .cbs-result-cell-value { color: #1e3a8a; }\n    #cbs-tool .cbs-cell-design .cbs-result-cell-value { color: #14532d; }\n    #cbs-tool .cbs-notes { background: #f3f4f6; border-radius: 8px; padding: 12px 14px; font-size: 13px; color: #374151; }\n    #cbs-tool .cbs-notes h4 { margin: 0 0 8px 0; font-size: 12px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; }\n    #cbs-tool .cbs-note-row { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px dashed #d1d5db; }\n    #cbs-tool .cbs-note-row:last-child { border-bottom: none; }\n    #cbs-tool .cbs-note-row .cbs-note-label { color: #6b7280; }\n    #cbs-tool .cbs-note-row .cbs-note-value { color: #1f2937; font-weight: 600; font-variant-numeric: tabular-nums; }\n    #cbs-tool .cbs-formula { font-family: \"SF Mono\", Monaco, Consolas, \"Courier New\", monospace; font-size: 11px; color: #475569; background: #f8fafc; padding: 8px 10px; border-radius: 6px; margin-top: 10px; border-left: 3px solid #94a3b8; word-break: break-all; }\n    #cbs-tool .cbs-tip { font-size: 12px; color: #1e293b; margin-top: 12px; padding: 10px; background: #fef3c7; border-radius: 6px; border-left: 3px solid #f59e0b; line-height: 1.5; }\n    #cbs-tool .cbs-tip.cbs-tip-good { background: #d1fae5; border-left-color: #10b981; color: #064e3b; }\n    #cbs-tool .cbs-tip.cbs-tip-warn { background: #fef3c7; border-left-color: #f59e0b; color: #78350f; }\n    #cbs-tool .cbs-tip.cbs-tip-bad { background: #fee2e2; border-left-color: #dc2626; color: #7f1d1d; }\n    #cbs-tool .cbs-disclaimer { font-size: 11px; color: #6b7280; margin-top: 16px; padding: 10px; background: #f8fafc; border-radius: 6px; border-left: 3px solid #94a3b8; line-height: 1.5; }\n    #cbs-tool .cbs-collapsible { margin-top: 18px; }\n    #cbs-tool .cbs-collapsible summary { cursor: pointer; font-weight: 600; font-size: 14px; color: #2563eb; padding: 8px 0; user-select: none; }\n    #cbs-tool .cbs-collapsible summary:hover { color: #1d4ed8; }\n    #cbs-tool .cbs-collapsible table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }\n    #cbs-tool .cbs-collapsible th, #cbs-tool .cbs-collapsible td { padding: 6px 10px; text-align: left; border-bottom: 1px solid #e5e7eb; }\n    #cbs-tool .cbs-collapsible th { background: #f3f4f6; font-weight: 600; color: #374151; font-size: 12px; }\n    #cbs-tool .cbs-collapsible td.num { font-variant-numeric: tabular-nums; text-align: right; }\n    #cbs-tool .cbs-collapsible .cbs-source { font-size: 11px; color: #6b7280; margin-top: 8px; font-style: italic; }\n    @media (prefers-color-scheme: dark) {\n      #cbs-tool .cbs-card { background: #1e293b; border-color: #334155; }\n      #cbs-tool label { color: #cbd5e1; }\n      #cbs-tool label .cbs-unit, #cbs-tool label .cbs-help { color: #94a3b8; }\n      #cbs-tool input, #cbs-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #cbs-tool input:focus, #cbs-tool select:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96,165,250,0.15); }\n      #cbs-tool .cbs-preset { background: #334155; border-color: #475569; color: #cbd5e1; }\n      #cbs-tool .cbs-preset:hover { background: #1e3a8a; border-color: #3b82f6; color: #dbeafe; }\n      #cbs-tool .cbs-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n      #cbs-tool .cbs-toggle { border-color: #475569; }\n      #cbs-tool .cbs-toggle-btn { background: #1e293b; color: #cbd5e1; }\n      #cbs-tool .cbs-toggle-btn.active { background: #2563eb; color: white; }\n      #cbs-tool .cbs-toggle-btn:not(.active):hover { background: #334155; }\n      #cbs-tool .cbs-checkbox { color: #cbd5e1; }\n      #cbs-tool .cbs-mode-tabs { border-bottom-color: #334155; }\n      #cbs-tool .cbs-mode-tab { color: #94a3b8; }\n      #cbs-tool .cbs-mode-tab.active { color: #60a5fa; border-bottom-color: #60a5fa; }\n      #cbs-tool .cbs-mode-tab:hover:not(.active) { color: #cbd5e1; }\n      #cbs-tool .cbs-result { background: #0f172a; border-color: #334155; }\n      #cbs-tool .cbs-result-cell { background: #1e293b; border-color: #334155; }\n      #cbs-tool .cbs-result-cell-label { color: #94a3b8; }\n      #cbs-tool .cbs-result-cell-value { color: #93c5fd; }\n      #cbs-tool .cbs-cell-ocpd .cbs-result-cell-value { color: #fdba74; }\n      #cbs-tool .cbs-cell-run .cbs-result-cell-value { color: #93c5fd; }\n      #cbs-tool .cbs-cell-design .cbs-result-cell-value { color: #86efac; }\n      #cbs-tool .cbs-badge-green { background: #064e3b; color: #6ee7b7; border-color: #047857; }\n      #cbs-tool .cbs-badge-yellow { background: #451a03; color: #fcd34d; border-color: #b45309; }\n      #cbs-tool .cbs-badge-red { background: #450a0a; color: #fca5a5; border-color: #b91c1c; }\n      #cbs-tool .cbs-notes { background: #1e293b; color: #cbd5e1; }\n      #cbs-tool .cbs-notes h4 { color: #94a3b8; }\n      #cbs-tool .cbs-note-row { border-bottom-color: #334155; }\n      #cbs-tool .cbs-note-row .cbs-note-label { color: #94a3b8; }\n      #cbs-tool .cbs-note-row .cbs-note-value { color: #e2e8f0; }\n      #cbs-tool .cbs-formula { background: #0f172a; color: #cbd5e1; border-left-color: #475569; }\n      #cbs-tool .cbs-tip { background: #422006; color: #fde68a; border-left-color: #f59e0b; }\n      #cbs-tool .cbs-tip.cbs-tip-good { background: #064e3b; color: #6ee7b7; border-left-color: #10b981; }\n      #cbs-tool .cbs-tip.cbs-tip-warn { background: #422006; color: #fde68a; border-left-color: #f59e0b; }\n      #cbs-tool .cbs-tip.cbs-tip-bad { background: #450a0a; color: #fca5a5; border-left-color: #dc2626; }\n      #cbs-tool .cbs-disclaimer { background: #0f172a; color: #94a3b8; border-left-color: #475569; }\n      #cbs-tool .cbs-collapsible th { background: #1e293b; color: #cbd5e1; }\n      #cbs-tool .cbs-collapsible th, #cbs-tool .cbs-collapsible td { border-bottom-color: #334155; }\n      #cbs-tool .cbs-collapsible .cbs-source { color: #94a3b8; }\n    }\n    @media (max-width: 700px) {\n      #cbs-tool { margin: 12px auto; }\n      #cbs-tool .cbs-card { padding: 16px; }\n      #cbs-tool .cbs-grid { grid-template-columns: 1fr; gap: 16px; }\n      #cbs-tool .cbs-row { grid-template-columns: 1fr; }\n      #cbs-tool .cbs-result-grid { grid-template-columns: 1fr; }\n      #cbs-tool .cbs-result-cell-value { font-size: 18px; }\n      #cbs-tool .cbs-mode-tab { padding: 8px 12px; font-size: 13px; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"cbs-card\"\u003e\n    \n    \u003cdiv class=\"cbs-preset-group\"\u003e\n      \u003cdiv class=\"cbs-preset-group-label\"\u003e⚡ Quick Presets — Common NEC Services\u003c/div\u003e\n      \u003cdiv class=\"cbs-presets\"\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"ev32\"\u003eEV L2 32A\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"ev40\"\u003eEV L2 40A\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"ev48\"\u003eEV L2 48A\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"sub50\"\u003e50A Subpanel\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"sub100\"\u003e100A Subpanel\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"svc200\"\u003e200A Service\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"dryer\"\u003e30A Dryer\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"range\"\u003e40A Range\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"motor10\"\u003e10 HP Motor\u003c/span\u003e\n        \u003cspan class=\"cbs-preset\" data-preset=\"motor25\"\u003e25 HP Motor\u003c/span\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \u003cdiv class=\"cbs-mode-tabs\" role=\"tablist\"\u003e\n      \u003cdiv class=\"cbs-mode-tab active\" data-mode=\"resistive\" role=\"tab\" aria-selected=\"true\"\u003e⚡ Resistive / General Load\u003c/div\u003e\n      \u003cdiv class=\"cbs-mode-tab\" data-mode=\"motor\" role=\"tab\" aria-selected=\"false\"\u003e⚙ Motor Branch Circuit (NEC 430)\u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"cbs-grid\"\u003e\n      \n      \u003cdiv\u003e\n        \n        \u003cdiv class=\"cbs-panel active\" data-panel=\"resistive\"\u003e\n          \u003cdiv class=\"cbs-row\"\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel for=\"cbs-amps\"\u003eLoad Amps \u003cspan class=\"cbs-unit\"\u003e(A)\u003c/span\u003e\u003c/label\u003e\n              \u003cinput type=\"number\" id=\"cbs-amps\" value=\"48\" min=\"0.1\" max=\"5000\" step=\"0.1\"\u003e\n            \u003c/div\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel for=\"cbs-kw\"\u003eLoad Power \u003cspan class=\"cbs-unit\"\u003e(kW, optional)\u003c/span\u003e\u003c/label\u003e\n              \u003cinput type=\"number\" id=\"cbs-kw\" value=\"\" min=\"0.1\" max=\"2000\" step=\"0.1\"\u003e\n              \u003cspan class=\"cbs-help\"\u003eLeave blank if entering amps directly.\u003c/span\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-input-group\"\u003e\n            \u003clabel for=\"cbs-volts\"\u003eSystem Voltage \u003cspan class=\"cbs-unit\"\u003e(V)\u003c/span\u003e\u003c/label\u003e\n            \u003cselect id=\"cbs-volts\"\u003e\n              \u003coption value=\"120\"\u003e120 V\u003c/option\u003e\n              \u003coption value=\"208\"\u003e208 V\u003c/option\u003e\n              \u003coption value=\"220\"\u003e220 V\u003c/option\u003e\n              \u003coption value=\"240\" selected\u003e240 V\u003c/option\u003e\n              \u003coption value=\"277\"\u003e277 V\u003c/option\u003e\n              \u003coption value=\"347\"\u003e347 V\u003c/option\u003e\n              \u003coption value=\"380\"\u003e380 V\u003c/option\u003e\n              \u003coption value=\"480\"\u003e480 V\u003c/option\u003e\n              \u003coption value=\"600\"\u003e600 V\u003c/option\u003e\n            \u003c/select\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-input-group\"\u003e\n            \u003clabel\u003ePhase\u003c/label\u003e\n            \u003cdiv class=\"cbs-toggle\"\u003e\n              \u003cbutton type=\"button\" class=\"cbs-toggle-btn active\" data-phase-resistive=\"1\"\u003e1Φ Single-Phase\u003c/button\u003e\n              \u003cbutton type=\"button\" class=\"cbs-toggle-btn\" data-phase-resistive=\"3\"\u003e3Φ Three-Phase\u003c/button\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-row\"\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel for=\"cbs-cosphi\"\u003ePower Factor \u003cspan class=\"cbs-unit\"\u003e(cosφ)\u003c/span\u003e\u003c/label\u003e\n              \u003cinput type=\"number\" id=\"cbs-cosphi\" value=\"0.95\" min=\"0.01\" max=\"1.0\" step=\"0.01\"\u003e\n              \u003cspan class=\"cbs-help\"\u003eResistive load = 1.0. Motor load = 0.85 typical.\u003c/span\u003e\n            \u003c/div\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel class=\"cbs-checkbox\" style=\"margin-top:24px;\"\u003e\n                \u003cinput type=\"checkbox\" id=\"cbs-continuous\"\u003e\n                \u003cspan\u003eContinuous load \u003cspan style=\"color:#6b7280;font-weight:400;\"\u003e(NEC 210.20(A) — 125% rule)\u003c/span\u003e\u003c/span\u003e\n              \u003c/label\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-help\" style=\"color:#6b7280;font-size:11px;margin-bottom:8px;\"\u003eRequired for EV chargers, solar PV inverters, and any load expected to run \u0026gt; 3 hours.\u003c/div\u003e\n        \u003c/div\u003e\n\n        \n        \u003cdiv class=\"cbs-panel\" data-panel=\"motor\"\u003e\n          \u003cdiv class=\"cbs-row\"\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel for=\"cbs-motor-hp\"\u003eMotor Power \u003cspan class=\"cbs-unit\"\u003e(HP)\u003c/span\u003e\u003c/label\u003e\n              \u003cinput type=\"number\" id=\"cbs-motor-hp\" value=\"10\" min=\"0.25\" max=\"500\" step=\"0.25\"\u003e\n            \u003c/div\u003e\n            \u003cdiv class=\"cbs-input-group\"\u003e\n              \u003clabel for=\"cbs-motor-design\"\u003eNEMA/IEC Design Letter\u003c/label\u003e\n              \u003cselect id=\"cbs-motor-design\"\u003e\n                \u003coption value=\"B\" selected\u003eB — Standard (most common, 250% FLA)\u003c/option\u003e\n                \u003coption value=\"A\"\u003eA — High torque, normal locked-rotor (250% FLA)\u003c/option\u003e\n                \u003coption value=\"C\"\u003eC — High starting torque (150% FLA)\u003c/option\u003e\n                \u003coption value=\"E\"\u003eE — IEC premium efficiency (150% FLA)\u003c/option\u003e\n                \u003coption value=\"D\"\u003eD — Very high locked-rotor (150% FLA)\u003c/option\u003e\n              \u003c/select\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-input-group\"\u003e\n            \u003clabel for=\"cbs-motor-volts\"\u003eMotor Voltage \u003cspan class=\"cbs-unit\"\u003e(V)\u003c/span\u003e\u003c/label\u003e\n            \u003cselect id=\"cbs-motor-volts\"\u003e\n              \u003coption value=\"115\"\u003e115 V\u003c/option\u003e\n              \u003coption value=\"208\"\u003e208 V\u003c/option\u003e\n              \u003coption value=\"220\"\u003e220 V\u003c/option\u003e\n              \u003coption value=\"230\"\u003e230 V\u003c/option\u003e\n              \u003coption value=\"240\"\u003e240 V\u003c/option\u003e\n              \u003coption value=\"380\"\u003e380 V\u003c/option\u003e\n              \u003coption value=\"460\" selected\u003e460 V\u003c/option\u003e\n              \u003coption value=\"480\"\u003e480 V\u003c/option\u003e\n              \u003coption value=\"575\"\u003e575 V\u003c/option\u003e\n              \u003coption value=\"600\"\u003e600 V\u003c/option\u003e\n            \u003c/select\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-input-group\"\u003e\n            \u003clabel\u003eMotor Phase\u003c/label\u003e\n            \u003cdiv class=\"cbs-toggle\"\u003e\n              \u003cbutton type=\"button\" class=\"cbs-toggle-btn\" data-phase-motor=\"1\"\u003e1Φ Single-Phase\u003c/button\u003e\n              \u003cbutton type=\"button\" class=\"cbs-toggle-btn active\" data-phase-motor=\"3\"\u003e3Φ Three-Phase\u003c/button\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n\n          \u003cdiv class=\"cbs-help\" style=\"color:#6b7280;font-size:11px;margin-top:4px;\"\u003e\n            FLA is looked up from NEC Table 430.250 (3Φ) or 430.6 (1Φ). Per NEC 430.52, inverse-time breaker = 250% of FLA for Design A/B; 150% for Design C/E/D.\n          \u003c/div\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"cbs-result\" id=\"cbs-result\"\u003e\n        \u003cdiv id=\"cbs-badge-container\"\u003e\u003c/div\u003e\n        \u003cdiv class=\"cbs-result-grid\"\u003e\n          \u003cdiv class=\"cbs-result-cell cbs-cell-ocpd\"\u003e\n            \u003cdiv class=\"cbs-result-cell-label\"\u003eRecommended OCPD\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-value\" id=\"cbs-ocpd\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-unit\"\u003eamperes\u003c/div\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-result-cell cbs-cell-run\"\u003e\n            \u003cdiv class=\"cbs-result-cell-label\"\u003eRunning Amps\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-value\" id=\"cbs-runamps\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-unit\" id=\"cbs-runamps-unit\"\u003eA\u003c/div\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-result-cell cbs-cell-design\"\u003e\n            \u003cdiv class=\"cbs-result-cell-label\"\u003eDesign Amps\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-value\" id=\"cbs-designamps\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"cbs-result-cell-unit\" id=\"cbs-designamps-unit\"\u003eA\u003c/div\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"cbs-notes\" id=\"cbs-notes\"\u003e\n          \u003ch4\u003eCalculation Details\u003c/h4\u003e\n          \u003cdiv class=\"cbs-note-row\"\u003e\n            \u003cspan class=\"cbs-note-label\" id=\"cbs-step1-label\"\u003eRun current\u003c/span\u003e\n            \u003cspan class=\"cbs-note-value\" id=\"cbs-step1-value\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-note-row\" id=\"cbs-step2-row\"\u003e\n            \u003cspan class=\"cbs-note-label\" id=\"cbs-step2-label\"\u003eNEC 210.20(A) 125% rule\u003c/span\u003e\n            \u003cspan class=\"cbs-note-value\" id=\"cbs-step2-value\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-note-row\" id=\"cbs-step3-row\"\u003e\n            \u003cspan class=\"cbs-note-label\" id=\"cbs-step3-label\"\u003eNEC 240.4(B) round-up\u003c/span\u003e\n            \u003cspan class=\"cbs-note-value\" id=\"cbs-step3-value\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"cbs-note-row\"\u003e\n            \u003cspan class=\"cbs-note-label\"\u003eNEC 240.6(A) standard rating\u003c/span\u003e\n            \u003cspan class=\"cbs-note-value\" id=\"cbs-standard\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"cbs-formula\" id=\"cbs-formula\"\u003eEnter load values to see the formula.\u003c/div\u003e\n\n        \u003cdiv class=\"cbs-tip\" id=\"cbs-tip\" style=\"display:none;\"\u003e\u003c/div\u003e\n\n        \u003cdetails class=\"cbs-collapsible\"\u003e\n          \u003csummary\u003e📊 NEC 240.6(A) Standard OCPD Sizes (click to expand)\u003c/summary\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\u003cth\u003eStandard OCPD (A)\u003c/th\u003e\u003cth\u003eCommon Use\u003c/th\u003e\u003c/tr\u003e\n            \u003c/thead\u003e\n            \u003ctbody\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e15\u003c/td\u003e\u003ctd\u003eGeneral lighting, 14 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e20\u003c/td\u003e\u003ctd\u003eGeneral receptacles, 12 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e25\u003c/td\u003e\u003ctd\u003eSelect appliances\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e30\u003c/td\u003e\u003ctd\u003eDryer (small), water heater, 10 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e35\u003c/td\u003e\u003ctd\u003eLimited use\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e40\u003c/td\u003e\u003ctd\u003eRange (small), 8 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e45\u003c/td\u003e\u003ctd\u003eLimited use\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e50\u003c/td\u003e\u003ctd\u003eSubpanel feeders, 6 AWG, hot tub\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e60\u003c/td\u003e\u003ctd\u003eEV L2 48A continuous, 6 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e70\u003c/td\u003e\u003ctd\u003eLimited use\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e80\u003c/td\u003e\u003ctd\u003eSubpanel feeders\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e90\u003c/td\u003e\u003ctd\u003eSubpanel feeders\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e100\u003c/td\u003e\u003ctd\u003eSubpanel feeders, 3 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e110\u003c/td\u003e\u003ctd\u003eService entrance\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e125\u003c/td\u003e\u003ctd\u003eService entrance, 1/0 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e150\u003c/td\u003e\u003ctd\u003eService entrance\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e175\u003c/td\u003e\u003ctd\u003eService entrance, 2/0 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e200\u003c/td\u003e\u003ctd\u003eResidential service, 3/0 AWG\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e225\u003c/td\u003e\u003ctd\u003eService entrance\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e250\u003c/td\u003e\u003ctd\u003eCommercial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e300\u003c/td\u003e\u003ctd\u003eCommercial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e350\u003c/td\u003e\u003ctd\u003eCommercial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e400\u003c/td\u003e\u003ctd\u003eCommercial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e450\u003c/td\u003e\u003ctd\u003eIndustrial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e500\u003c/td\u003e\u003ctd\u003eIndustrial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e600\u003c/td\u003e\u003ctd\u003eIndustrial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e700\u003c/td\u003e\u003ctd\u003eIndustrial service\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd class=\"num\"\u003e800\u003c/td\u003e\u003ctd\u003eIndustrial service\u003c/td\u003e\u003c/tr\u003e\n            \u003c/tbody\u003e\n          \u003c/table\u003e\n          \u003cdiv class=\"cbs-source\"\u003eSource: NFPA 70 — National Electrical Code 2023, Section 240.6(A).\u003c/div\u003e\n        \u003c/details\u003e\n\n        \u003cdetails class=\"cbs-collapsible\"\u003e\n          \u003csummary\u003e📊 NEC Table 430.250 — 3-Phase Motor FLA Reference (click to expand)\u003c/summary\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\u003cth\u003eHP\u003c/th\u003e\u003cth class=\"num\"\u003e208 V\u003c/th\u003e\u003cth class=\"num\"\u003e230 V\u003c/th\u003e\u003cth class=\"num\"\u003e460 V\u003c/th\u003e\u003c/tr\u003e\n            \u003c/thead\u003e\n            \u003ctbody\u003e\n              \u003ctr\u003e\u003ctd\u003e0.5\u003c/td\u003e\u003ctd class=\"num\"\u003e2.4\u003c/td\u003e\u003ctd class=\"num\"\u003e2.2\u003c/td\u003e\u003ctd class=\"num\"\u003e1.1\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e0.75\u003c/td\u003e\u003ctd class=\"num\"\u003e3.5\u003c/td\u003e\u003ctd class=\"num\"\u003e3.2\u003c/td\u003e\u003ctd class=\"num\"\u003e1.6\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e1\u003c/td\u003e\u003ctd class=\"num\"\u003e4.6\u003c/td\u003e\u003ctd class=\"num\"\u003e4.2\u003c/td\u003e\u003ctd class=\"num\"\u003e2.1\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e1.5\u003c/td\u003e\u003ctd class=\"num\"\u003e6.6\u003c/td\u003e\u003ctd class=\"num\"\u003e6.0\u003c/td\u003e\u003ctd class=\"num\"\u003e3.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e2\u003c/td\u003e\u003ctd class=\"num\"\u003e7.5\u003c/td\u003e\u003ctd class=\"num\"\u003e6.8\u003c/td\u003e\u003ctd class=\"num\"\u003e3.4\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e3\u003c/td\u003e\u003ctd class=\"num\"\u003e10.6\u003c/td\u003e\u003ctd class=\"num\"\u003e9.6\u003c/td\u003e\u003ctd class=\"num\"\u003e4.8\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e5\u003c/td\u003e\u003ctd class=\"num\"\u003e16.7\u003c/td\u003e\u003ctd class=\"num\"\u003e15.2\u003c/td\u003e\u003ctd class=\"num\"\u003e7.6\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e7.5\u003c/td\u003e\u003ctd class=\"num\"\u003e24.2\u003c/td\u003e\u003ctd class=\"num\"\u003e22.0\u003c/td\u003e\u003ctd class=\"num\"\u003e11.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e10\u003c/td\u003e\u003ctd class=\"num\"\u003e30.8\u003c/td\u003e\u003ctd class=\"num\"\u003e28.0\u003c/td\u003e\u003ctd class=\"num\"\u003e14.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e15\u003c/td\u003e\u003ctd class=\"num\"\u003e46.2\u003c/td\u003e\u003ctd class=\"num\"\u003e42.0\u003c/td\u003e\u003ctd class=\"num\"\u003e21.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e20\u003c/td\u003e\u003ctd class=\"num\"\u003e59.4\u003c/td\u003e\u003ctd class=\"num\"\u003e54.0\u003c/td\u003e\u003ctd class=\"num\"\u003e27.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e25\u003c/td\u003e\u003ctd class=\"num\"\u003e74.8\u003c/td\u003e\u003ctd class=\"num\"\u003e68.0\u003c/td\u003e\u003ctd class=\"num\"\u003e34.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e30\u003c/td\u003e\u003ctd class=\"num\"\u003e88.0\u003c/td\u003e\u003ctd class=\"num\"\u003e80.0\u003c/td\u003e\u003ctd class=\"num\"\u003e40.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e40\u003c/td\u003e\u003ctd class=\"num\"\u003e114.0\u003c/td\u003e\u003ctd class=\"num\"\u003e104.0\u003c/td\u003e\u003ctd class=\"num\"\u003e52.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e50\u003c/td\u003e\u003ctd class=\"num\"\u003e143.0\u003c/td\u003e\u003ctd class=\"num\"\u003e130.0\u003c/td\u003e\u003ctd class=\"num\"\u003e65.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e60\u003c/td\u003e\u003ctd class=\"num\"\u003e169.0\u003c/td\u003e\u003ctd class=\"num\"\u003e154.0\u003c/td\u003e\u003ctd class=\"num\"\u003e77.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e75\u003c/td\u003e\u003ctd class=\"num\"\u003e211.0\u003c/td\u003e\u003ctd class=\"num\"\u003e192.0\u003c/td\u003e\u003ctd class=\"num\"\u003e96.0\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e100\u003c/td\u003e\u003ctd class=\"num\"\u003e273.0\u003c/td\u003e\u003ctd class=\"num\"\u003e248.0\u003c/td\u003e\u003ctd class=\"num\"\u003e124.0\u003c/td\u003e\u003c/tr\u003e\n            \u003c/tbody\u003e\n          \u003c/table\u003e\n          \u003cdiv class=\"cbs-source\"\u003eSource: NFPA 70 — National Electrical Code 2023, Table 430.250 (3-phase induction motors, full-load amperes).\u003c/div\u003e\n        \u003c/details\u003e\n\n        \u003cdiv class=\"cbs-disclaimer\"\u003e\n          ⚠️ \u003cstrong\u003eReference only.\u003c/strong\u003e OCPD sizing is NEC-aware but final conductor and breaker sizing must be verified by a licensed electrician and approved by your local Authority Having Jurisdiction (AHJ). Always follow the latest edition of NFPA 70 — National Electrical Code.\n        \u003c/div\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n  (function(){\n    'use strict';\n\n    \n    \n    \n\n    \n    var STD_OCPD = [15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500, 600, 700, 800];\n\n    \n    \n    var MOTOR_FLA_3PH = {\n      208: { 0.5:2.4, 0.75:3.5, 1:4.6, 1.5:6.6, 2:7.5, 3:10.6, 5:16.7, 7.5:24.2, 10:30.8, 15:46.2, 20:59.4, 25:74.8, 30:88, 40:114, 50:143, 60:169, 75:211, 100:273, 125:343, 150:396, 200:528 },\n      230: { 0.5:2.2, 0.75:3.2, 1:4.2, 1.5:6.0, 2:6.8, 3:9.6, 5:15.2, 7.5:22, 10:28, 15:42, 20:54, 25:68, 30:80, 40:104, 50:130, 60:154, 75:192, 100:248, 125:312, 150:360, 200:480 },\n      460: { 0.5:1.1, 0.75:1.6, 1:2.1, 1.5:3.0, 2:3.4, 3:4.8, 5:7.6, 7.5:11, 10:14, 15:21, 20:27, 25:34, 30:40, 40:52, 50:65, 60:77, 75:96, 100:124, 125:156, 150:180, 200:240 }\n    };\n\n    \n    var MOTOR_FLA_1PH = {\n      115: { 0.5:7.2, 0.75:9.8, 1:12, 1.5:16, 2:19.8, 3:26, 5:43, 7.5:56 },\n      230: { 0.5:3.6, 0.75:4.9, 1:6, 1.5:8, 2:9.9, 3:13.2, 5:19.6, 7.5:28 }\n    };\n\n    \n    \n    var MOTOR_MULTIPLIER = { A: 2.50, B: 2.50, C: 1.50, E: 1.50, D: 1.50 };\n\n    \n    \n    \n    var PRESETS = {\n      \n      ev32:    { mode: 'resistive', amps: 32,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: true,  label: 'EV L2 32A' },\n      ev40:    { mode: 'resistive', amps: 40,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: true,  label: 'EV L2 40A' },\n      ev48:    { mode: 'resistive', amps: 48,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: true,  label: 'EV L2 48A' },\n      sub50:   { mode: 'resistive', amps: 50,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: false, label: '50A Subpanel' },\n      sub100:  { mode: 'resistive', amps: 100, kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: false, label: '100A Subpanel' },\n      svc200:  { mode: 'resistive', amps: 200, kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: false, label: '200A Service' },\n      dryer:   { mode: 'resistive', amps: 24,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: false, label: '30A Dryer' },\n      range:   { mode: 'resistive', amps: 33,  kw: '', volts: 240, phaseResistive: 1, cosphi: 0.95, continuous: false, label: '40A Range' },\n      \n      motor10: { mode: 'motor', hp: 10, volts: 460, phaseMotor: 3, design: 'B', label: '10 HP Motor' },\n      motor25: { mode: 'motor', hp: 25, volts: 460, phaseMotor: 3, design: 'B', label: '25 HP Motor' }\n    };\n\n    \n    \n    \n\n    \n    function findStandardOCPD(target) {\n      for (var i = 0; i \u003c STD_OCPD.length; i++) {\n        if (STD_OCPD[i] \u003e= target) return STD_OCPD[i];\n      }\n      return STD_OCPD[STD_OCPD.length - 1]; \n    }\n\n    \n    function applyContinuous(amps, isCont) {\n      return isCont ? amps * 1.25 : amps;\n    }\n\n    \n    function lookupMotorFLA(hp, volts, phase) {\n      var table = (phase === 3) ? MOTOR_FLA_3PH[volts] : MOTOR_FLA_1PH[volts];\n      if (!table) return null;\n\n      \n      if (table[hp] !== undefined) return table[hp];\n\n      \n      var keys = Object.keys(table).map(Number).sort(function(a, b) { return a - b; });\n      var lower = null, upper = null;\n      for (var i = 0; i \u003c keys.length; i++) {\n        if (keys[i] \u003c hp) lower = keys[i];\n        if (keys[i] \u003e hp \u0026\u0026 upper === null) { upper = keys[i]; break; }\n      }\n      if (lower === null) return table[keys[0]];\n      if (upper === null) return table[keys[keys.length - 1]];\n\n      var flaLower = table[lower];\n      var flaUpper = table[upper];\n      var frac = (hp - lower) / (upper - lower);\n      return flaLower + (flaUpper - flaLower) * frac;\n    }\n\n    \n    \n    \n\n    function calculate(inputs) {\n      var mode = inputs.mode;\n\n      if (mode === 'motor') {\n        \n        var fla = lookupMotorFLA(inputs.motorHp, inputs.voltage, inputs.phase);\n        if (fla === null) {\n          return { error: 'Motor FLA not available for ' + inputs.voltage + 'V ' + (inputs.phase === 3 ? '3Φ' : '1Φ') + ' — refer to NEC Table 430.250 / Table 430.6 directly.' };\n        }\n        var multiplier = MOTOR_MULTIPLIER[inputs.motorDesign] || 2.50;\n        var targetOCPD = fla * multiplier;\n        var ocpd = findStandardOCPD(targetOCPD);\n\n        return {\n          mode: 'motor',\n          runAmps: fla,\n          designAmps: fla,\n          ocpd: ocpd,\n          multiplier: multiplier,\n          targetOCPD: targetOCPD,\n          motorHp: inputs.motorHp,\n          motorDesign: inputs.motorDesign,\n          voltage: inputs.voltage,\n          phase: inputs.phase,\n          exceeds800: ocpd \u003e= 800 \u0026\u0026 targetOCPD \u003e 800,\n          roundUpApplied: ocpd \u003e targetOCPD\n        };\n      } else {\n        \n        var amps = null;\n        var kwGiven = inputs.loadKw \u0026\u0026 inputs.loadKw \u003e 0;\n        var ampsGiven = inputs.loadAmps \u0026\u0026 inputs.loadAmps \u003e 0;\n\n        if (ampsGiven) {\n          amps = inputs.loadAmps;\n        } else if (kwGiven) {\n          \n          var pf = inputs.powerFactor;\n          if (pf \u003c= 0 || pf \u003e 1.0) pf = 1.0;\n          if (inputs.phase === 3) {\n            amps = (inputs.loadKw * 1000) / (Math.sqrt(3) * inputs.voltage * pf);\n          } else {\n            amps = (inputs.loadKw * 1000) / (inputs.voltage * pf);\n          }\n        } else {\n          return { error: 'Enter load amps or load kW.' };\n        }\n\n        if (inputs.voltage \u003c= 0) {\n          return { error: 'Invalid voltage.' };\n        }\n\n        \n        var designAmps = applyContinuous(amps, inputs.continuous);\n\n        \n        var ocpd = findStandardOCPD(designAmps);\n        var exceeds800 = designAmps \u003e 800;\n        var roundUpApplied = ocpd \u003e designAmps + 0.001; \n\n        return {\n          mode: 'resistive',\n          runAmps: amps,\n          designAmps: designAmps,\n          ocpd: ocpd,\n          continuous: inputs.continuous,\n          voltage: inputs.voltage,\n          phase: inputs.phase,\n          powerFactor: inputs.powerFactor,\n          loadKw: kwGiven ? inputs.loadKw : null,\n          exceeds800: exceeds800,\n          roundUpApplied: roundUpApplied\n        };\n      }\n    }\n\n    \n    \n    \n\n    function fmt(n, d) {\n      d = (d === undefined) ? 2 : d;\n      if (!isFinite(n) || isNaN(n)) return '--';\n      return n.toFixed(d);\n    }\n\n    function setText(id, txt) {\n      var el = document.getElementById(id);\n      if (el) el.textContent = txt;\n    }\n\n    function setBadge(state, label) {\n      var container = document.getElementById('cbs-badge-container');\n      if (!container) return;\n      var cls = 'cbs-badge cbs-badge-' + state.toLowerCase();\n      container.innerHTML = '\u003cspan class=\"' + cls + '\"\u003e' + label + '\u003c/span\u003e';\n    }\n\n    function renderResult(r) {\n      if (r.error) {\n        setBadge('red', '⚠ ' + r.error);\n        setText('cbs-ocpd', '—');\n        setText('cbs-runamps', '—');\n        setText('cbs-runamps-unit', 'A');\n        setText('cbs-designamps', '—');\n        setText('cbs-designamps-unit', 'A');\n        setText('cbs-step1-value', '—');\n        setText('cbs-step2-value', '—');\n        setText('cbs-step3-value', '—');\n        setText('cbs-standard', '—');\n        setText('cbs-formula', 'Error: ' + r.error);\n        document.getElementById('cbs-tip').style.display = 'none';\n        return;\n      }\n\n      \n      var badgeState, badgeText;\n      if (r.exceeds800) {\n        badgeState = 'red';\n        badgeText = '🔴 Exceeds 800 A — Use Parallel Conductors or MV';\n      } else if (r.mode === 'motor') {\n        if (r.motorDesign === 'B' || r.motorDesign === 'A') {\n          badgeState = 'yellow';\n          badgeText = '🟡 NEC 430.52 × ' + (r.multiplier * 100).toFixed(0) + '% Applied (Design ' + r.motorDesign + ')';\n        } else {\n          badgeState = 'yellow';\n          badgeText = '🟡 NEC 430.52 × ' + (r.multiplier * 100).toFixed(0) + '% Applied (Design ' + r.motorDesign + ')';\n        }\n      } else if (r.roundUpApplied) {\n        badgeState = 'green';\n        badgeText = '🟢 NEC 240.4(B) Round-Up Applied — next-larger OCPD';\n      } else {\n        badgeState = 'green';\n        badgeText = '🟢 NEC-Compliant — direct OCPD match';\n      }\n      setBadge(badgeState, badgeText);\n\n      \n      setText('cbs-ocpd', r.ocpd);\n      setText('cbs-runamps', fmt(r.runAmps, 1));\n      setText('cbs-runamps-unit', 'A');\n\n      if (r.mode === 'motor') {\n        setText('cbs-designamps', fmt(r.designAmps, 1));\n        setText('cbs-designamps-unit', 'A (NEC 430.52 path)');\n      } else {\n        setText('cbs-designamps', fmt(r.designAmps, 1));\n        setText('cbs-designamps-unit', r.continuous ? 'A (×1.25 cont.)' : 'A');\n      }\n\n      \n      if (r.mode === 'motor') {\n        setText('cbs-step1-label', 'FLA (Table 430.250)');\n        setText('cbs-step1-value', fmt(r.runAmps, 1) + ' A at ' + r.motorHp + ' HP, ' + r.voltage + ' V ' + (r.phase === 3 ? '3Φ' : '1Φ'));\n        document.getElementById('cbs-step2-row').style.display = 'flex';\n        setText('cbs-step2-label', 'NEC 430.52 multiplier');\n        setText('cbs-step2-value', fmt(r.targetOCPD, 1) + ' A (×' + (r.multiplier * 100).toFixed(0) + '%)');\n        document.getElementById('cbs-step3-row').style.display = 'flex';\n        setText('cbs-step3-label', 'NEC 240.4(B) round-up');\n        setText('cbs-step3-value', r.roundUpApplied ? 'Yes → ' + r.ocpd + ' A (next std OCPD)' : 'No (already at std OCPD)');\n      } else {\n        if (r.loadKw !== null) {\n          setText('cbs-step1-label', 'Run current (kW→A)');\n          setText('cbs-step1-value', fmt(r.runAmps, 1) + ' A (' + fmt(r.loadKw, 1) + ' kW @ ' + r.voltage + ' V ' + (r.phase === 3 ? '3Φ' : '1Φ') + ' cosφ=' + r.powerFactor.toFixed(2) + ')');\n        } else {\n          setText('cbs-step1-label', 'Run current (input)');\n          setText('cbs-step1-value', fmt(r.runAmps, 1) + ' A at ' + r.voltage + ' V ' + (r.phase === 3 ? '3Φ' : '1Φ'));\n        }\n        document.getElementById('cbs-step2-row').style.display = 'flex';\n        setText('cbs-step2-label', 'NEC 210.20(A) 125% rule');\n        setText('cbs-step2-value', r.continuous ? fmt(r.designAmps, 1) + ' A (×1.25, continuous)' : 'Not applied (non-continuous)');\n        document.getElementById('cbs-step3-row').style.display = 'flex';\n        setText('cbs-step3-label', 'NEC 240.4(B) round-up');\n        setText('cbs-step3-value', r.roundUpApplied ? 'Yes → ' + r.ocpd + ' A (next std OCPD)' : 'No (design amps ≤ std OCPD)');\n      }\n\n      \n      setText('cbs-standard', r.ocpd + ' A');\n\n      \n      var formula;\n      if (r.mode === 'motor') {\n        formula = 'FLA = lookup NEC Table 430.250 (3Φ) / Table 430.6 (1Φ) → ' + fmt(r.runAmps, 1) + ' A\\n' +\n                  'OCPD target = FLA × ' + (r.multiplier * 100).toFixed(0) + '% = ' + fmt(r.runAmps, 1) + ' × ' + r.multiplier.toFixed(2) + ' = ' + fmt(r.targetOCPD, 1) + ' A\\n' +\n                  'NEC 240.4(B) → next standard OCPD from 240.6(A) = ' + r.ocpd + ' A';\n      } else if (r.loadKw !== null) {\n        if (r.phase === 3) {\n          formula = 'I = P / (√3 × V × cosφ) × 1000' +\n                    ' = (' + r.loadKw + ' × 1000) / (1.732 × ' + r.voltage + ' × ' + r.powerFactor.toFixed(2) + ')' +\n                    ' = ' + fmt(r.runAmps, 2) + ' A';\n        } else {\n          formula = 'I = P / (V × cosφ) × 1000' +\n                    ' = (' + r.loadKw + ' × 1000) / (' + r.voltage + ' × ' + r.powerFactor.toFixed(2) + ')' +\n                    ' = ' + fmt(r.runAmps, 2) + ' A';\n        }\n        if (r.continuous) {\n          formula += '\\nNEC 210.20(A): design = ' + fmt(r.runAmps, 2) + ' × 1.25 = ' + fmt(r.designAmps, 2) + ' A';\n        }\n        formula += '\\nNEC 240.4(B) → next standard OCPD from 240.6(A) = ' + r.ocpd + ' A';\n      } else {\n        formula = 'Run amps = ' + fmt(r.runAmps, 1) + ' A (direct input)';\n        if (r.continuous) {\n          formula += '\\nNEC 210.20(A): design = ' + fmt(r.runAmps, 1) + ' × 1.25 = ' + fmt(r.designAmps, 2) + ' A';\n        }\n        formula += '\\nNEC 240.4(B) → next standard OCPD from 240.6(A) = ' + r.ocpd + ' A';\n      }\n      setText('cbs-formula', formula);\n\n      \n      var tipEl = document.getElementById('cbs-tip');\n      var tipText = '';\n      var tipClass = 'cbs-tip';\n      if (r.exceeds800) {\n        tipText = '⚠️ \u003cstrong\u003eDesign amps exceed 800 A.\u003c/strong\u003e Standard OCPD ladder caps at 800 A (NEC 240.6(A)). Use parallel conductors (NEC 310.10(H)), reduce voltage (step down to MV distribution), or use a service-entrance rated breaker series.';\n        tipClass += ' cbs-tip-bad';\n      } else if (r.mode === 'motor') {\n        tipText = '💡 \u003cstrong\u003eNEC 430.52 motor path applied.\u003c/strong\u003e Inverse-time breaker sized at ' + (r.multiplier * 100).toFixed(0) + '% of FLA for Design ' + r.motorDesign + '. Verify motor nameplate design letter and short-circuit current rating (SCCR) for the chosen breaker. Per NEC 430.52(C)(1) Exception 1, round-up to next std OCPD permitted when calculated value does not match a standard rating.';\n        tipClass += ' cbs-tip-warn';\n      } else if (r.continuous \u0026\u0026 r.roundUpApplied) {\n        tipText = '✓ \u003cstrong\u003eContinuous load + NEC 240.4(B) round-up.\u003c/strong\u003e Design amps = ' + fmt(r.runAmps, 1) + ' A × 1.25 = ' + fmt(r.designAmps, 1) + ' A. Next standard OCPD ' + r.ocpd + ' A protects the conductor per the round-up rule. For EV chargers (NEC 625) and continuous loads, the OCPD must handle 125% of the load for \u003e3 hours of operation.';\n        tipClass += ' cbs-tip-good';\n      } else if (r.continuous) {\n        tipText = '✓ \u003cstrong\u003eContinuous load compliant (NEC 210.20(A) 125% rule).\u003c/strong\u003e Design amps = ' + fmt(r.runAmps, 1) + ' A × 1.25 = ' + fmt(r.designAmps, 1) + ' A; OCPD ' + r.ocpd + ' A is a direct standard match. Pair the breaker with a conductor rated ≥' + fmt(r.designAmps, 1) + ' A (NEC 110.14(C), 75 °C column for circuits ≤100 A).';\n        tipClass += ' cbs-tip-good';\n      } else if (r.roundUpApplied) {\n        tipText = '✓ \u003cstrong\u003eNEC 240.4(B) round-up applied.\u003c/strong\u003e Conductor ampacity does not match any standard OCPD; next-larger ' + r.ocpd + ' A is permitted per NEC 240.4(B). Conductor must be sized for the actual load (not rounded up to OCPD).';\n        tipClass += ' cbs-tip-good';\n      } else {\n        tipText = '✓ \u003cstrong\u003eFully NEC-compliant.\u003c/strong\u003e OCPD ' + r.ocpd + ' A is a direct standard match (NEC 240.6(A)) for the design amps. Pair the conductor with the breaker per NEC 110.14(C) — 75 °C terminal column for circuits rated 100 A or less.';\n        tipClass += ' cbs-tip-good';\n      }\n      tipEl.className = tipClass;\n      tipEl.innerHTML = tipText;\n      tipEl.style.display = 'block';\n    }\n\n    \n    \n    \n\n    function getActiveMode() {\n      var active = document.querySelector('#cbs-tool .cbs-mode-tab.active');\n      return active ? active.dataset.mode : 'resistive';\n    }\n\n    function readInputs() {\n      var mode = getActiveMode();\n      var inputs = { mode: mode };\n\n      if (mode === 'resistive') {\n        inputs.loadAmps = parseFloat(document.getElementById('cbs-amps').value);\n        inputs.loadKw = parseFloat(document.getElementById('cbs-kw').value) || null;\n        inputs.voltage = parseFloat(document.getElementById('cbs-volts').value);\n        var phaseBtn = document.querySelector('#cbs-tool [data-phase-resistive].active');\n        inputs.phase = phaseBtn ? parseInt(phaseBtn.dataset.phaseResistive) : 1;\n        inputs.powerFactor = parseFloat(document.getElementById('cbs-cosphi').value) || 1.0;\n        inputs.continuous = document.getElementById('cbs-continuous').checked;\n      } else {\n        inputs.motorHp = parseFloat(document.getElementById('cbs-motor-hp').value);\n        inputs.motorDesign = document.getElementById('cbs-motor-design').value;\n        inputs.voltage = parseFloat(document.getElementById('cbs-motor-volts').value);\n        var phaseBtn2 = document.querySelector('#cbs-tool [data-phase-motor].active');\n        inputs.phase = phaseBtn2 ? parseInt(phaseBtn2.dataset.phaseMotor) : 3;\n      }\n      return inputs;\n    }\n\n    function clearPresetHighlight() {\n      document.querySelectorAll('#cbs-tool .cbs-preset').forEach(function(p) {\n        p.classList.remove('active');\n      });\n    }\n\n    function switchMode(mode) {\n      document.querySelectorAll('#cbs-tool .cbs-mode-tab').forEach(function(t) {\n        var active = t.dataset.mode === mode;\n        t.classList.toggle('active', active);\n        t.setAttribute('aria-selected', active ? 'true' : 'false');\n      });\n      document.querySelectorAll('#cbs-tool .cbs-panel').forEach(function(p) {\n        p.classList.toggle('active', p.dataset.panel === mode);\n      });\n      clearPresetHighlight();\n      calc();\n    }\n\n    function applyPreset(presetId) {\n      var p = PRESETS[presetId];\n      if (!p) return;\n      switchMode(p.mode);\n\n      if (p.mode === 'resistive') {\n        document.getElementById('cbs-amps').value = p.amps;\n        document.getElementById('cbs-kw').value = p.kw;\n        document.getElementById('cbs-volts').value = p.volts;\n        document.querySelectorAll('#cbs-tool [data-phase-resistive]').forEach(function(b) {\n          b.classList.toggle('active', parseInt(b.dataset.phaseResistive) === p.phaseResistive);\n        });\n        document.getElementById('cbs-cosphi').value = p.cosphi;\n        document.getElementById('cbs-continuous').checked = p.continuous;\n      } else {\n        document.getElementById('cbs-motor-hp').value = p.hp;\n        document.getElementById('cbs-motor-volts').value = p.volts;\n        document.querySelectorAll('#cbs-tool [data-phase-motor]').forEach(function(b) {\n          b.classList.toggle('active', parseInt(b.dataset.phaseMotor) === p.phaseMotor);\n        });\n        document.getElementById('cbs-motor-design').value = p.design;\n      }\n\n      document.querySelectorAll('#cbs-tool .cbs-preset').forEach(function(el) {\n        el.classList.toggle('active', el.dataset.preset === presetId);\n      });\n\n      calc();\n    }\n\n    function calc() {\n      var inputs = readInputs();\n\n      \n      if (inputs.mode === 'resistive') {\n        var hasAmps = inputs.loadAmps \u0026\u0026 !isNaN(inputs.loadAmps) \u0026\u0026 inputs.loadAmps \u003e 0;\n        var hasKw = inputs.loadKw \u0026\u0026 !isNaN(inputs.loadKw) \u0026\u0026 inputs.loadKw \u003e 0;\n        if (!hasAmps \u0026\u0026 !hasKw) return; \n        if (!inputs.voltage || inputs.voltage \u003c= 0) return;\n        if (hasAmps \u0026\u0026 inputs.loadAmps \u003c= 0) return;\n      } else {\n        if (!inputs.motorHp || isNaN(inputs.motorHp) || inputs.motorHp \u003c= 0) return;\n        if (!inputs.voltage || inputs.voltage \u003c= 0) return;\n      }\n\n      var result = calculate(inputs);\n      renderResult(result);\n    }\n\n    \n    \n    \n\n    \n    ['cbs-amps', 'cbs-kw', 'cbs-volts', 'cbs-cosphi', 'cbs-continuous'].forEach(function(id) {\n      var el = document.getElementById(id);\n      if (!el) return;\n      var handler = function() {\n        clearPresetHighlight();\n        calc();\n      };\n      el.addEventListener('input', handler);\n      el.addEventListener('change', handler);\n    });\n\n    \n    ['cbs-motor-hp', 'cbs-motor-volts', 'cbs-motor-design'].forEach(function(id) {\n      var el = document.getElementById(id);\n      if (!el) return;\n      var handler = function() {\n        clearPresetHighlight();\n        calc();\n      };\n      el.addEventListener('input', handler);\n      el.addEventListener('change', handler);\n    });\n\n    \n    document.querySelectorAll('#cbs-tool .cbs-mode-tab').forEach(function(tab) {\n      tab.addEventListener('click', function() {\n        switchMode(this.dataset.mode);\n      });\n    });\n\n    \n    document.querySelectorAll('#cbs-tool [data-phase-resistive]').forEach(function(btn) {\n      btn.addEventListener('click', function() {\n        document.querySelectorAll('#cbs-tool [data-phase-resistive]').forEach(function(b) {\n          b.classList.remove('active');\n        });\n        btn.classList.add('active');\n        clearPresetHighlight();\n        calc();\n      });\n    });\n\n    \n    document.querySelectorAll('#cbs-tool [data-phase-motor]').forEach(function(btn) {\n      btn.addEventListener('click', function() {\n        document.querySelectorAll('#cbs-tool [data-phase-motor]').forEach(function(b) {\n          b.classList.remove('active');\n        });\n        btn.classList.add('active');\n        clearPresetHighlight();\n        calc();\n      });\n    });\n\n    \n    document.querySelectorAll('#cbs-tool .cbs-preset').forEach(function(el) {\n      el.addEventListener('click', function() {\n        applyPreset(this.dataset.preset);\n      });\n    });\n\n    \n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eTL;DR — What this calculator returns.\u003c/strong\u003e Enter load amps or kW (resistive / general), or motor HP (NEC 430 branch circuit) — the tool returns the recommended overcurrent protective device (OCPD / breaker) sized per \u003cstrong\u003eNEC 240.6(A)\u003c/strong\u003e standard ratings, with \u003cstrong\u003eNEC 240.4(B) next-larger OCPD logic\u003c/strong\u003e when no standard OCPD matches the conductor ampacity, and the \u003cstrong\u003eNEC 210.20(A) / 215.3 / 625 125 % continuous-load rule\u003c/strong\u003e applied automatically when the load runs more than 3 hours. For motor branch circuits, the tool follows \u003cstrong\u003eNEC 430.52\u003c/strong\u003e (inverse-time breaker = 250 % of FLA for NEMA Design A/B, 150 % for Design C/E). 100 % client-side, no signup, no upload.\u003c/p\u003e","title":"Circuit Breaker Size Calculator — NEC 240 / 430 OCPD Sizing"},{"content":" By Appliance Power By Total Consumption Appliance Name (optional) Rated Power P (W) Daily Usage (h) LED Bulb 60W Refrigerator 150W AC 2000W Water Heater 2200W Instant Faucet 3000W Desktop PC 500W Include standby power (5% of rated power) Monthly Consumption (kWh) Solo Dweller 100 kWh/mo Normal Family 300 kWh/mo Multi-Appliance 600 kWh/mo High-Power 1000 kWh/mo Electricity Price (¥ / kWh) Residential 0.528 Commercial 0.6 Peak Rate 1.2 Usage Days / Period Electricity Cost Estimate Daily Consumption --kWh Daily Cost ¥-- Monthly Cost (30 days) ¥-- Yearly Cost (Est.) ¥-- % of Household Monthly Income (assumed ¥3000/mo) --% 🌱 CO₂ Emission Est.::-- kg CO₂ ≈ 0.785 kg CO₂/kWh, China grid average What is the Electricity Cost Calculator? The Electricity Cost Calculator is an online quick-calculation tool for household users, tenants, and small commercial operators. Based on the national standard GB/T 32151.1 for household energy classification and the general residential tiered electricity pricing formula, it takes two key inputs — single-appliance wattage + daily usage hours, or total monthly consumption in kWh — and overlays the local electricity rate (¥/kWh) to instantly compute daily / monthly / annual electricity costs, share of monthly income, and annual CO₂ emissions.\nWhether you need to calculate the monthly electricity bill for high-consumption appliances like air conditioners, refrigerators, and water heaters, or evaluate the additional household electricity cost from adding an EV charger or floor heating system, this tool delivers a quantitative reference in under one second.\nKey Features Dual input modes: Supports \u0026ldquo;appliance wattage + usage hours\u0026rdquo; for single-appliance estimation (suitable for analyzing specific appliances) and \u0026ldquo;total monthly kWh\u0026rdquo; for whole-house estimation (suitable when no equipment list is available) Built-in appliance presets: One-click fill for LED lights / refrigerators / air conditioners / water heaters / washing machines / microwaves / TVs / computers — no manual wattage lookup needed Daily / Monthly / Annual three-tier cost output: Displays daily kWh, daily cost, monthly cost, and annual cost simultaneously, with customizable calculation period days (suitable for commercial electricity billing) Tiered electricity pricing support: Residential tiered pricing automatically applies Tier 1 / Tier 2 / Tier 3 rates based on monthly cumulative kWh (thresholds and rates are manually configurable) Share of monthly income: Enter household monthly disposable income — the tool automatically calculates electricity cost as a percentage, aiding energy-saving decisions (IEA recommendation: \u0026lt; 4%) Annual CO₂ estimation: Estimates annual carbon emissions using China\u0026rsquo;s grid average CO₂ emission factor of 0.581 kg/kWh — raising awareness of carbon neutrality Pure frontend: All calculations run locally in the browser — household electricity data is 100% never uploaded Frequently Asked Questions (FAQ) What is the electricity cost calculation formula? Basic formulas:\nDaily consumption (kWh) = Wattage (W) × Daily usage hours (h) / 1000 Daily cost (¥) = Daily consumption (kWh) × Electricity rate (¥/kWh) Monthly cost = Daily cost × 30 (adjustable to 30.4 days) Annual cost = Monthly cost × 12 If entering by total monthly consumption: Monthly cost = Monthly kWh × Weighted average rate (tiered pricing requires segment-by-segment calculation).\nHow is residential tiered electricity pricing calculated? Most Chinese provinces use a three-tier structure:\nTier 1 (monthly ≤ ~216 kWh): Base rate (≈¥0.52/kWh, varies slightly by region) Tier 2 (216–420 kWh): Base rate × 1.05–1.5× Tier 3 (\u0026gt; 420 kWh): Base rate × 1.5–3× This calculator allows manual configuration of three-tier thresholds and rates, applying them automatically. Commercial and industrial electricity uses time-of-use peak/valley pricing, which is not covered by this tool.\nWhich uses more electricity — air conditioning or a water heater? Reference data (typical Chinese household usage):\nAppliance Wattage Daily Usage Daily Cost (@¥0.55/kWh) 1.5P Air conditioner (cooling) 800–1200W 8h (summer) ¥3.5–5.3 Electric water heater (60L) 1500–2000W 2h ¥1.7–2.2 Refrigerator (Grade 1 efficiency) 80–150W 24h ¥1.1–2.0 LED lights (10 fixtures) 100W 5h ¥0.3 Washing machine (tumble) 200–500W 1h ¥0.1–0.3 Air conditioning accounts for 50–70% of summer household electricity bills — prioritize optimizing air conditioner usage (raising the thermostat by 1°C saves 6–8%).\nHow do I estimate total monthly household consumption? Method 1: Check your electricity bill — Read the average monthly kWh from the last 3 months.\nMethod 2: Estimate from appliance list — List all appliances with estimated wattage and daily usage hours. This calculator can handle them one by one.\nMethod 3: Use typical values by housing type:\n1–2 person apartment in a first-tier city: 100–200 kWh/month 3-person family, 80–120m²: 200–400 kWh/month Villa / large apartment: 500–1500 kWh/month How accurate is the CO₂ estimate? This calculator uses 0.581 kg CO₂ / kWh — the 2024 China grid average CO₂ emission factor (published by the National Development and Reform Commission). Actual figures fluctuate with time period, region, and generation mix:\nProvinces dominated by thermal power (Shandong / Inner Mongolia / Shanxi): Actual factor 0.7–0.9 Provinces with high hydropower / renewable energy share (Yunnan / Sichuan / Qinghai): Actual factor 0.2–0.4 For precise carbon accounting, consult the latest provincial grid emission factor or use green electricity (zero emissions) at 0.\nHow much will a home EV charger increase my monthly electricity bill? A 7kW home EV charger (220V / 32A), with a typical vehicle consumption of 15 kWh per 100 km and monthly mileage of 1500 km:\nMonthly charging: 1500 / 100 × 15 = 225 kWh/month Monthly cost increase: 225 × 0.55 = ¥124/month (≈ ¥1,500/year) If on a peak/valley electricity rate (nighttime ¥0.30/kWh): ¥67/month (saves 46%) — applying for a peak/valley meter + charging at night is recommended.\n","permalink":"https://elec.webpenson.com/en/tools/electricity-cost-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"ec-tool\"\u003e\n  \u003cstyle\u003e\n    #ec-tool { max-width: 760px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; }\n    #ec-tool .ec-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #ec-tool .ec-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    #ec-tool .ec-input-group { margin-bottom: 16px; }\n    #ec-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #ec-tool input, #ec-tool select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; }\n    #ec-tool input:focus, #ec-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #ec-tool .ec-mode-tabs { display: flex; gap: 8px; margin-bottom: 18px; border-bottom: 2px solid #e5e7eb; }\n    #ec-tool .ec-tab { padding: 10px 18px; cursor: pointer; font-weight: 600; color: #6b7280; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.2s; }\n    #ec-tool .ec-tab.active { color: #2563eb; border-bottom-color: #2563eb; }\n    #ec-tool .ec-tab:hover:not(.active) { color: #374151; }\n    #ec-tool .ec-panel { display: none; }\n    #ec-tool .ec-panel.active { display: block; }\n    #ec-tool .ec-presets { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 16px 0; }\n    #ec-tool .ec-preset { padding: 6px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; font-size: 13px; transition: all 0.2s; user-select: none; }\n    #ec-tool .ec-preset:hover { background: #dbeafe; border-color: #93c5fd; }\n    #ec-tool .ec-preset.active { background: #2563eb; color: white; border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,0.2); }\n    #ec-tool .ec-preset.active:hover { background: #1d4ed8; border-color: #1d4ed8; }\n    #ec-tool .ec-result { background: #fefce8; border: 1px solid #fde047; border-radius: 10px; padding: 18px; margin-top: 18px; display: none; }\n    #ec-tool .ec-result.active { display: block; }\n    #ec-tool .ec-result h3 { margin: 0 0 12px 0; color: #854d0e; font-size: 18px; }\n    #ec-tool .ec-cost-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #fde047; }\n    #ec-tool .ec-cost-row:last-child { border-bottom: none; }\n    #ec-tool .ec-cost-row.highlight { background: #fef9c3; margin: 4px -8px; padding: 8px; border-radius: 6px; border-bottom: none; }\n    #ec-tool .ec-cost-label { color: #475569; font-size: 14px; }\n    #ec-tool .ec-cost-val { font-weight: 700; color: #713f12; font-size: 17px; }\n    #ec-tool .ec-cost-row.highlight .ec-cost-val { color: #b45309; font-size: 20px; }\n    #ec-tool .ec-unit { font-size: 12px; color: #94a3b8; margin-left: 4px; }\n    #ec-tool .ec-tip { font-size: 13px; color: #475569; margin-top: 14px; padding: 10px; background: #fef9c3; border-radius: 6px; border-left: 3px solid #eab308; }\n    #ec-tool .ec-co2 { font-size: 13px; color: #475569; margin-top: 10px; padding: 10px; background: #f0fdf4; border-radius: 6px; border-left: 3px solid #22c55e; }\n    #ec-tool .ec-checkbox-row { display: flex; align-items: center; gap: 8px; padding: 10px 12px; background: #f9fafb; border-radius: 8px; border: 1px solid #e5e7eb; }\n    #ec-tool .ec-checkbox-row input[type=\"checkbox\"] { width: 18px; height: 18px; accent-color: #2563eb; cursor: pointer; flex-shrink: 0; }\n    #ec-tool .ec-checkbox-row label { margin: 0; cursor: pointer; font-weight: 500; color: #374151; font-size: 14px; }\n    @media (prefers-color-scheme: dark) {\n      #ec-tool .ec-card { background: #1e293b; border-color: #334155; }\n      #ec-tool label, #ec-tool .ec-cost-label { color: #cbd5e1; }\n      #ec-tool input, #ec-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #ec-tool .ec-mode-tabs { border-bottom-color: #334155; }\n      #ec-tool .ec-tab { color: #94a3b8; }\n      #ec-tool .ec-tab.active { color: #60a5fa; border-bottom-color: #60a5fa; }\n      #ec-tool .ec-result { background: #422006; border-color: #854d0e; }\n      #ec-tool .ec-result h3, .ec-cost-val { color: #fde68a; }\n      #ec-tool .ec-cost-row { border-bottom-color: #854d0e; }\n      #ec-tool .ec-cost-row.highlight { background: #78350f; }\n      #ec-tool .ec-cost-row.highlight .ec-cost-val { color: #fbbf24; }\n      #ec-tool .ec-tip { background: #422006; color: #fde68a; border-left-color: #eab308; }\n      #ec-tool .ec-co2 { background: #052e16; color: #86efac; border-left-color: #22c55e; }\n      #ec-tool .ec-checkbox-row { background: #0f172a; border-color: #334155; }\n      #ec-tool .ec-checkbox-row label { color: #cbd5e1; }\n      #ec-tool .ec-preset { background: #334155; border-color: #475569; color: #cbd5e1; }\n      #ec-tool .ec-preset:hover { background: #1e3a8a; border-color: #3b82f6; color: #dbeafe; }\n      #ec-tool .ec-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n    }\n    @media (max-width: 600px) {\n      #ec-tool { margin: 12px auto; }\n      #ec-tool .ec-card { padding: 16px; }\n      #ec-tool .ec-row { grid-template-columns: 1fr; }\n      #ec-tool .ec-tab { padding: 8px 12px; font-size: 14px; }\n      #ec-tool .ec-preset { padding: 5px 10px; font-size: 12px; }\n      #ec-tool .ec-cost-row.highlight .ec-cost-val { font-size: 18px; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"ec-card\"\u003e\n    \u003cdiv class=\"ec-mode-tabs\"\u003e\n      \u003cdiv class=\"ec-tab active\" data-mode=\"appliance\" role=\"tab\" aria-selected=\"true\"\u003eBy Appliance Power\u003c/div\u003e\n      \u003cdiv class=\"ec-tab\" data-mode=\"total\" role=\"tab\" aria-selected=\"false\"\u003eBy Total Consumption\u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ec-panel active\" data-panel=\"appliance\"\u003e\n      \u003cdiv class=\"ec-input-group\"\u003e\n        \u003clabel for=\"ec-name\"\u003eAppliance Name (optional)\u003c/label\u003e\n        \u003cinput type=\"text\" id=\"ec-name\" placeholder=\"e.g. AC / Refrigerator / Water Heater\"\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-row\"\u003e\n        \u003cdiv class=\"ec-input-group\"\u003e\n          \u003clabel for=\"ec-watt\"\u003eRated Power P (W)\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"ec-watt\" value=\"1000\" min=\"1\" max=\"50000\" step=\"10\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"ec-input-group\"\u003e\n          \u003clabel for=\"ec-hours\"\u003eDaily Usage (h)\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"ec-hours\" value=\"8\" min=\"0.1\" max=\"24\" step=\"0.5\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-presets\"\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(60, this)\"\u003eLED Bulb 60W\u003c/span\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(150, this)\"\u003eRefrigerator 150W\u003c/span\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(2000, this)\"\u003eAC 2000W\u003c/span\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(2200, this)\"\u003eWater Heater 2200W\u003c/span\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(3000, this)\"\u003eInstant Faucet 3000W\u003c/span\u003e\n        \u003cspan class=\"ec-preset\" onclick=\"applyWattPreset(500, this)\"\u003eDesktop PC 500W\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-checkbox-row\"\u003e\n        \u003cinput type=\"checkbox\" id=\"ec-standby\" checked\u003e\n        \u003clabel for=\"ec-standby\"\u003eInclude standby power (5% of rated power)\u003c/label\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ec-panel\" data-panel=\"total\"\u003e\n      \u003cdiv class=\"ec-input-group\"\u003e\n        \u003clabel for=\"ec-monthly-kwh\"\u003eMonthly Consumption (kWh)\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"ec-monthly-kwh\" value=\"300\" min=\"1\" max=\"100000\" step=\"10\"\u003e\n        \u003cdiv class=\"ec-presets\"\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-monthly-kwh', 100, this)\"\u003eSolo Dweller 100 kWh/mo\u003c/span\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-monthly-kwh', 300, this)\"\u003eNormal Family 300 kWh/mo\u003c/span\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-monthly-kwh', 600, this)\"\u003eMulti-Appliance 600 kWh/mo\u003c/span\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-monthly-kwh', 1000, this)\"\u003eHigh-Power 1000 kWh/mo\u003c/span\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ec-row\"\u003e\n      \u003cdiv class=\"ec-input-group\"\u003e\n        \u003clabel for=\"ec-price\"\u003eElectricity Price (¥ / kWh)\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"ec-price\" value=\"0.6\" min=\"0.1\" max=\"5\" step=\"0.01\"\u003e\n        \u003cdiv class=\"ec-presets\"\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-price', 0.528, this)\"\u003eResidential 0.528\u003c/span\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-price', 0.6, this)\"\u003eCommercial 0.6\u003c/span\u003e\n          \u003cspan class=\"ec-preset\" onclick=\"applyValuePreset('ec-price', 1.2, this)\"\u003ePeak Rate 1.2\u003c/span\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-input-group\"\u003e\n        \u003clabel for=\"ec-days\"\u003eUsage Days / Period\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"ec-days\" value=\"30\" min=\"1\" max=\"365\" step=\"1\"\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ec-result\" id=\"ec-result\" aria-live=\"polite\"\u003e\n      \u003ch3 id=\"ec-result-title\"\u003eElectricity Cost Estimate\u003c/h3\u003e\n      \u003cdiv class=\"ec-cost-row\"\u003e\n        \u003cspan class=\"ec-cost-label\"\u003eDaily Consumption\u003c/span\u003e\n        \u003cspan class=\"ec-cost-val\"\u003e\u003cspan id=\"ec-daily-kwh\"\u003e--\u003c/span\u003e\u003cspan class=\"ec-unit\"\u003ekWh\u003c/span\u003e\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-cost-row\"\u003e\n        \u003cspan class=\"ec-cost-label\"\u003eDaily Cost\u003c/span\u003e\n        \u003cspan class=\"ec-cost-val\"\u003e¥\u003cspan id=\"ec-daily-cost\"\u003e--\u003c/span\u003e\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-cost-row highlight\"\u003e\n        \u003cspan class=\"ec-cost-label\" id=\"ec-period-label\"\u003eMonthly Cost (30 days)\u003c/span\u003e\n        \u003cspan class=\"ec-cost-val\"\u003e¥\u003cspan id=\"ec-period-cost\"\u003e--\u003c/span\u003e\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-cost-row\"\u003e\n        \u003cspan class=\"ec-cost-label\"\u003eYearly Cost (Est.)\u003c/span\u003e\n        \u003cspan class=\"ec-cost-val\"\u003e¥\u003cspan id=\"ec-yearly-cost\"\u003e--\u003c/span\u003e\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-cost-row\"\u003e\n        \u003cspan class=\"ec-cost-label\"\u003e% of Household Monthly Income (assumed ¥3000/mo)\u003c/span\u003e\n        \u003cspan class=\"ec-cost-val\"\u003e\u003cspan id=\"ec-percent\"\u003e--\u003c/span\u003e%\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-co2\"\u003e\n        🌱 \u003cspan data-i18n=\"ec_result_co2\"\u003eCO₂ Emission Est.:\u003c/span\u003e:\u003cstrong\u003e\u003cspan id=\"ec-co2\"\u003e--\u003c/span\u003e kg CO₂\u003c/strong\u003e\n        \u003cspan style=\"font-size:11px;color:#94a3b8\"\u003e≈ 0.785 kg CO₂/kWh, China grid average\u003c/span\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"ec-tip\" id=\"ec-tip\"\u003e\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n  (function(){\n    var currentMode = 'appliance';\n\n    function $(id) { return document.getElementById(id); }\n\n    function fmt(n, d) {\n      d = d || 2;\n      if (!isFinite(n)) return '--';\n      return n.toFixed(d);\n    }\n\n    function setActivePreset(presetEl) {\n      if (!presetEl) return;\n      var siblings = presetEl.parentNode.querySelectorAll('.ec-preset');\n      siblings.forEach(function(s) { s.classList.remove('active'); });\n      presetEl.classList.add('active');\n    }\n\n    function applyValuePreset(id, val, presetEl) {\n      $(id).value = val;\n      setActivePreset(presetEl);\n      calc();\n    }\n\n    \n    \n    function applyWattPreset(w, presetEl) {\n      $('ec-watt').value = w;\n      setActivePreset(presetEl);\n      calc();\n    }\n\n    function switchTab(mode) {\n      currentMode = mode;\n      document.querySelectorAll('#ec-tool .ec-tab').forEach(function(t){\n        var active = t.dataset.mode === mode;\n        t.classList.toggle('active', active);\n        t.setAttribute('aria-selected', active ? 'true' : 'false');\n      });\n      document.querySelectorAll('#ec-tool .ec-panel').forEach(function(p){\n        p.classList.toggle('active', p.dataset.panel === mode);\n      });\n      calc();\n    }\n\n    function calc() {\n      var price = parseFloat($('ec-price').value);\n      var days = parseFloat($('ec-days').value);\n      var dailyKwh = 0;\n      var modeName = '';\n\n      if (currentMode === 'appliance') {\n        var watt = parseFloat($('ec-watt').value);\n        var hours = parseFloat($('ec-hours').value);\n        var standby = $('ec-standby').checked;\n        if (!watt || !hours || !price || !days) return;\n        \n        var activeKwh = (watt * hours) / 1000;\n        var standbyKwh = standby ? (watt * 0.05 * (24 - hours)) / 1000 : 0;\n        dailyKwh = activeKwh + standbyKwh;\n        var name = $('ec-name').value.trim();\n        modeName = name || '该电器';\n      } else {\n        var monthly = parseFloat($('ec-monthly-kwh').value);\n        if (!monthly || !price || !days) return;\n        \n        dailyKwh = monthly / 30;\n        modeName = '家庭总用电';\n      }\n\n      if (dailyKwh \u003c= 0 || price \u003c= 0 || days \u003c= 0) return;\n\n      var dailyCost = dailyKwh * price;\n      var periodCost = dailyCost * days;\n      var yearlyCost = dailyCost * 365;\n      var percent = (periodCost / 3000 * 100);\n      var co2Kg = dailyKwh * days * 0.785;\n\n      $('ec-daily-kwh').textContent = fmt(dailyKwh, 2);\n      $('ec-daily-cost').textContent = fmt(dailyCost, 2);\n      $('ec-period-cost').textContent = fmt(periodCost, 2);\n      $('ec-yearly-cost').textContent = fmt(yearlyCost, 0);\n      $('ec-percent').textContent = fmt(percent, 1);\n      $('ec-co2').textContent = fmt(co2Kg, 1);\n\n      $('ec-period-label').textContent = days + ' 天电费(共 ' + fmt(dailyKwh * days, 1) + ' kWh)';\n      $('ec-result-title').textContent = modeName + ' · 电费估算';\n\n      \n      var tip = '';\n      if (currentMode === 'appliance') {\n        if (dailyKwh \u003e 30) {\n          tip = '⚡ 该电器日耗电超过 30 kWh,建议:① 升级变频机型(可省 20-30%) ② 加装定时开关 ③ 检查是否长时间待机';\n        } else if (dailyKwh \u003e 10) {\n          tip = '💡 大功率电器建议:① 错峰使用(谷电价时段) ② 配合智能插座定时关闭 ③ 定期除垢/清洁(电热水器可省 10%)';\n        } else if (dailyKwh \u003e 1) {\n          tip = '✓ 中等用电。建议养成随手关机的习惯,长期可省 5-8% 电费。';\n        } else {\n          tip = '✓ 低耗电器,正常使用即可。注意待机功耗约占 5%,拔插头可进一步省电。';\n        }\n      } else {\n        var monthly = parseFloat($('ec-monthly-kwh').value);\n        if (monthly \u003e 600) {\n          tip = '🏠 月用电偏高(' + monthly + ' kWh)。建议:① 排查待机功耗(可省 5-10%) ② 老旧空调/热水器升级换代 ③ 加装太阳能(中国户用回本 5-8 年)';\n        } else if (monthly \u003c 200) {\n          tip = '✓ 用电较低。如想进一步节能,可:① 改用 LED 照明 ② 空调温度调高 1°C(省 6-8%) ③ 热水器加装保温层';\n        } else {\n          tip = '💡 普通家庭用电水平。建议夏季空调温度不低于 26°C,冬季电暖不高于 22°C,既省电又健康。';\n        }\n      }\n      $('ec-tip').textContent = tip;\n      $('ec-result').classList.add('active');\n    }\n\n    \n    document.querySelectorAll('#ec-tool .ec-tab').forEach(function(tab){\n      tab.addEventListener('click', function(){ switchTab(tab.dataset.mode); });\n    });\n\n    \n    ['ec-watt','ec-hours','ec-monthly-kwh','ec-price','ec-days'].forEach(function(id){\n      var el = $(id);\n      if (!el) return;\n      function clearPresets() {\n        var presets = el.parentNode.querySelectorAll('.ec-presets .ec-preset');\n        presets.forEach(function(p) { p.classList.remove('active'); });\n      }\n      el.addEventListener('input', function() { clearPresets(); calc(); });\n      el.addEventListener('change', calc);\n    });\n\n    \n    var standbyEl = $('ec-standby');\n    if (standbyEl) {\n      standbyEl.addEventListener('input', calc);\n      standbyEl.addEventListener('change', calc);\n    }\n\n    var nameEl = $('ec-name');\n    if (nameEl) {\n      nameEl.addEventListener('input', calc);\n      nameEl.addEventListener('change', calc);\n    }\n\n    \n    window.applyWattPreset = applyWattPreset;\n    window.applyValuePreset = applyValuePreset;\n\n    \n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\u003ch3 id=\"what-is-the-electricity-cost-calculator\"\u003eWhat is the Electricity Cost Calculator?\u003c/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eElectricity Cost Calculator\u003c/strong\u003e is an online quick-calculation tool for household users, tenants, and small commercial operators. Based on the national standard \u003cstrong\u003eGB/T 32151.1\u003c/strong\u003e for household energy classification and the general \u003cstrong\u003eresidential tiered electricity pricing\u003c/strong\u003e formula, it takes two key inputs — \u003cstrong\u003esingle-appliance wattage + daily usage hours\u003c/strong\u003e, or \u003cstrong\u003etotal monthly consumption in kWh\u003c/strong\u003e — and overlays the local \u003cstrong\u003eelectricity rate (¥/kWh)\u003c/strong\u003e to instantly compute \u003cstrong\u003edaily / monthly / annual electricity costs\u003c/strong\u003e, \u003cstrong\u003eshare of monthly income\u003c/strong\u003e, and \u003cstrong\u003eannual CO₂ emissions\u003c/strong\u003e.\u003c/p\u003e","title":"Electricity Cost Calculator — Household Appliance Daily / Monthly / Annual Cost Estimator"},{"content":" Phase / Voltage (V) Single-Phase 220V (Residential) Three-Phase 380V (Industrial / DC Cabinet Input) Voltage U (V) Current I (A) Power Factor cosΦ AC Charging Piles (Single / Three-Phase) Residential 7kW Three-Phase 11kW Three-Phase 22kW Three-Phase 43kW DC Charging Cabinet (Output → Input-Side Equivalent Current) 30kW (380V/49A) 60kW (380V/100A) 80kW (380V/130A) 100kW (380V/165A) 120kW (380V/200A) 160kW (380V/260A) 240kW (380V/392A) 400kW (380V/660A) 480kW (380V/784A) ✕ Clear Power Calculation Result Active Power P (kW)-- Reactive Power Q (kVar)-- Apparent Power S (kVA)-- What is the EV Charger Power Calculator? The EV Charger Power Calculator is an electrical calculation tool designed for EV charger installation engineers, electrical designers, and vehicle owners. Based on the fundamental AC circuit formulas P = √3 × U × I × cosΦ (three-phase) or P = U × I × cosΦ (single-phase), it provides real-time calculations of active power, reactive power, and apparent power for EV chargers.\nEnter the voltage (single-phase 220V or three-phase 380V), current, and power factor to obtain the actual charging power of the EV charger, distribution capacity requirements, and recommended vehicle compatibility.\nKey Features Single-phase / Three-phase auto-switch: Supports 220V single-phase residential and 380V three-phase industrial meters Triple power output: Displays active kW, reactive kVar, and apparent kVA simultaneously, facilitating distribution design EV charger sizing recommendations: 8 tiers — 7kW / 11kW / 22kW / 43kW / 60–100kW / 120–160kW / 240kW / 400kW+, matching various vehicle classes and distribution capacities Integrated cable specs: Each tier recommendation includes the recommended leakage protection switch and cable cross-section directly — no need to check the FAQ Typical scenario presets: One-click loading for common EV charger tiers: AC tier: Home 7kW (220V/32A), Three-phase 11kW (380V/16A), Three-phase 22kW (380V/32A), Three-phase 43kW (380V/63A, actual ≈40.5kW) DC cabinet tier: 30kW / 60kW / 80kW / 100kW / 120kW / 160kW / 240kW / 400kW / 480kW (equivalent current values at the 380V three-phase input side) High-power alerts: Prompts for 690V/10kV medium-voltage distribution when current ≥400A, preventing 380V overload Pure frontend: No backend, no data upload — safe for sensitive distribution scenarios Frequently Asked Questions (FAQ) What is the EV charger power calculation formula? Three-phase formula: P = √3 × U × I × cosΦ (U = line voltage, I = line current). Single-phase formula: P = U × I × cosΦ. The power factor cosΦ is typically 0.95–1.0. EV battery charging is nearly purely resistive, so 0.98 is the common assumption.\nHow many amps does a 7kW EV charger need? Single-phase 220V × 32A ≈ 7kW — a 7kW home charger requires a 32A leakage protection switch and 6mm² copper cable. For an 11kW three-phase charger, a three-phase 380V × 16A configuration is needed with 5×4mm² five-core cable.\nWhat is the difference between 22kW and 11kW EV chargers? 11kW is three-phase 380V × 16A and 22kW is three-phase 380V × 32A. Both require a three-phase meter, but 22kW doubles the charging speed. Note: Tesla Model 3/Y standard onboard charger limits to 11kW — even plugging into a 22kW charger will only yield 11kW.\nHow do I size an EV charger — 7kW / 11kW / 22kW? The tool\u0026rsquo;s recommendation panel gives the corresponding leakage protection + cable specs directly. 7kW single-phase 220V: Suitable for most home scenarios, no three-phase meter application needed — the mainstream choice 11kW three-phase 380V: 57% faster charging, ideal for frequent commuters (2–3 charges per week) 22kW three-phase 380V: Suitable for commercial locations or two-vehicle households — confirm vehicle compatibility (some models are limited to 11kW) 43kW three-phase 380V/63A: Industrial scenarios or large buses — actual active input ≈40.5kW (cosΦ=0.98) 30–480kW DC cabinets: Commercial fast charging, buses/logistics, ultra-fast charging stations — see the preset buttons above for detailed sizing Sizing formula: Weekly charging demand kWh = battery capacity × 0.6 (日常 SOC range) ÷ charging power ≤ 7 (once per week) or ≤ 11 (2–3 times per week) How do I size distribution switches and cables? 7kW: 32A leakage protection + 6mm² copper core + 1.5P circuit breaker 11kW: Three-phase 16A leakage protection + 5×4mm² five-core cable + 3P circuit breaker 22kW: Three-phase 32A leakage protection + 5×6mm² five-core cable + 3P circuit breaker 43kW: Three-phase 63A leakage protection + 5×10mm² five-core cable + 3P 80A circuit breaker 60–120kW DC cabinet: Three-phase 100A leakage protection + 5×16mm² cable; cabinet has built-in DC/DC rectification module 160–240kW dual-gun: Three-phase 250A main leakage protection + busbar supply 400–480kW ultra-fast charging: Typically 690V/10kV medium-voltage entry, liquid-cooled terminals — requires dedicated power system design For runs exceeding 50m, upsizing cables one tier (e.g., use 10mm² for 7kW) to prevent excessive voltage drop What is the power factor cosΦ? The power factor is the ratio of active power to apparent power, cosΦ = P / S. EV battery charging is nearly purely resistive, with power factors reaching 0.95–1.0. For EV charger power calculations, 0.98 is the typical assumption.\n","permalink":"https://elec.webpenson.com/en/tools/charging-power-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"cp-tool\"\u003e\n  \u003cstyle\u003e\n    #cp-tool { max-width: 720px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; }\n    #cp-tool .cp-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #cp-tool .cp-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }\n    #cp-tool .cp-input-group { margin-bottom: 16px; }\n    #cp-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #cp-tool input, #cp-tool select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; }\n    #cp-tool input:focus, #cp-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #cp-tool .cp-section-title { font-size: 13px; font-weight: 600; color: #64748b; margin: 16px 0 8px 0; text-transform: uppercase; letter-spacing: 0.5px; }\n    #cp-tool .cp-presets { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 8px 0 16px 0; }\n    #cp-tool .cp-preset { padding: 6px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; font-size: 13px; transition: all 0.2s; user-select: none; }\n    #cp-tool .cp-preset:hover { background: #dbeafe; border-color: #93c5fd; }\n    #cp-tool .cp-preset.active { background: #2563eb; color: white; border-color: #2563eb; box-shadow: 0 2px 4px rgba(37,99,235,0.25); }\n    #cp-tool .cp-clear { padding: 6px 12px; background: #fff; border: 1px dashed #94a3b8; border-radius: 8px; cursor: pointer; font-size: 13px; color: #64748b; transition: all 0.2s; user-select: none; }\n    #cp-tool .cp-clear:hover { background: #fee2e2; border-color: #ef4444; color: #b91c1c; }\n    #cp-tool .cp-result { background: #f0fdf4; border: 1px solid #86efac; border-radius: 10px; padding: 18px; margin-top: 18px; display: none; }\n    #cp-tool .cp-result.active { display: block; }\n    #cp-tool .cp-result h3 { margin: 0 0 12px 0; color: #15803d; font-size: 18px; }\n    #cp-tool .cp-power-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #86efac; }\n    #cp-tool .cp-power-row:last-child { border-bottom: none; }\n    #cp-tool .cp-power-label { color: #475569; }\n    #cp-tool .cp-power-val { font-weight: 700; color: #14532d; font-size: 17px; }\n    #cp-tool .cp-tip { font-size: 13px; color: #475569; margin-top: 14px; padding: 10px; background: #f8fafc; border-radius: 6px; }\n    #cp-tool .cp-rec { background: #fef3c7; border: 1px solid #fcd34d; border-radius: 8px; padding: 12px; margin-top: 12px; font-size: 14px; color: #78350f; line-height: 1.6; }\n     \n    @media (max-width: 600px) {\n      #cp-tool .cp-card { padding: 16px; }\n      #cp-tool .cp-row { grid-template-columns: 1fr; }\n    }\n    @media (prefers-color-scheme: dark) {\n      #cp-tool .cp-card { background: #1e293b; border-color: #334155; }\n      #cp-tool label, #cp-tool .cp-power-label { color: #cbd5e1; }\n      #cp-tool .cp-section-title { color: #94a3b8; }\n      #cp-tool input, #cp-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #cp-tool .cp-preset { background: #0f172a; color: #cbd5e1; border-color: #334155; }\n      #cp-tool .cp-preset:hover { background: #1e3a8a; border-color: #3b82f6; color: white; }\n      #cp-tool .cp-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n      #cp-tool .cp-clear { background: #0f172a; color: #cbd5e1; border-color: #475569; }\n      #cp-tool .cp-clear:hover { background: #450a0a; border-color: #ef4444; color: #fecaca; }\n      #cp-tool .cp-result { background: #052e16; border-color: #14532d; }\n      #cp-tool .cp-power-val { color: #86efac; }\n      #cp-tool .cp-tip { background: #0f172a; color: #cbd5e1; }\n      #cp-tool .cp-rec { background: #422006; border-color: #78350f; color: #fde68a; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"cp-card\"\u003e\n    \u003cdiv class=\"cp-input-group\"\u003e\n      \u003clabel for=\"cp-phase\"\u003ePhase / Voltage (V)\u003c/label\u003e\n      \u003cselect id=\"cp-phase\"\u003e\n        \u003coption value=\"1\"\u003eSingle-Phase 220V (Residential)\u003c/option\u003e\n        \u003coption value=\"3\" selected\u003eThree-Phase 380V (Industrial / DC Cabinet Input)\u003c/option\u003e\n      \u003c/select\u003e\n    \u003c/div\u003e\n    \u003cdiv class=\"cp-row\"\u003e\n      \u003cdiv class=\"cp-input-group\"\u003e\n        \u003clabel for=\"cp-volt\"\u003eVoltage U (V)\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"cp-volt\" value=\"380\" min=\"110\" max=\"1000\" step=\"10\"\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"cp-input-group\"\u003e\n        \u003clabel for=\"cp-curr\"\u003eCurrent I (A)\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"cp-curr\" value=\"32\" min=\"1\" max=\"1000\" step=\"1\"\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"cp-input-group\"\u003e\n        \u003clabel for=\"cp-cos\"\u003ePower Factor cosΦ\u003c/label\u003e\n        \u003cinput type=\"number\" id=\"cp-cos\" value=\"0.98\" min=\"0.5\" max=\"1.0\" step=\"0.01\"\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"cp-section-title\"\u003eAC Charging Piles (Single / Three-Phase)\u003c/div\u003e\n    \u003cdiv class=\"cp-presets\"\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"220\" data-c=\"32\" data-pf=\"0.98\" data-ph=\"1\"\u003eResidential 7kW\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"16\" data-pf=\"0.98\" data-ph=\"3\"\u003eThree-Phase 11kW\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"32\" data-pf=\"0.98\" data-ph=\"3\"\u003eThree-Phase 22kW\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"63\" data-pf=\"0.98\" data-ph=\"3\" data-i18n-title=\"cp_preset_43kw_title\"\u003eThree-Phase 43kW\u003c/span\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"cp-section-title\"\u003eDC Charging Cabinet (Output → Input-Side Equivalent Current)\u003c/div\u003e\n    \u003cdiv class=\"cp-presets\" id=\"cp-presets-dc\"\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"49\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_30kw\"\u003e30kW (380V/49A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"100\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_60kw\"\u003e60kW (380V/100A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"130\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_80kw\"\u003e80kW (380V/130A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"165\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_100kw\"\u003e100kW (380V/165A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"200\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_120kw\"\u003e120kW (380V/200A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"260\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_160kw\"\u003e160kW (380V/260A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"392\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_240kw\"\u003e240kW (380V/392A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"660\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_400kw\"\u003e400kW (380V/660A)\u003c/span\u003e\n      \u003cspan class=\"cp-preset\" data-v=\"380\" data-c=\"784\" data-pf=\"0.98\" data-ph=\"3\" data-i18n=\"cp_preset_480kw\"\u003e480kW (380V/784A)\u003c/span\u003e\n      \u003cspan class=\"cp-clear\" id=\"cp-clear\" data-i18n=\"cp_btn_clear\"\u003e✕ Clear\u003c/span\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"cp-result\" id=\"cp-result\"\u003e\n      \u003ch3\u003ePower Calculation Result\u003c/h3\u003e\n      \u003cdiv class=\"cp-power-row\"\u003e\u003cspan class=\"cp-power-label\"\u003eActive Power P (kW)\u003c/span\u003e\u003cspan class=\"cp-power-val\" id=\"cp-p\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"cp-power-row\"\u003e\u003cspan class=\"cp-power-label\"\u003eReactive Power Q (kVar)\u003c/span\u003e\u003cspan class=\"cp-power-val\" id=\"cp-q\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"cp-power-row\"\u003e\u003cspan class=\"cp-power-label\"\u003eApparent Power S (kVA)\u003c/span\u003e\u003cspan class=\"cp-power-val\" id=\"cp-s\"\u003e--\u003c/span\u003e\u003c/div\u003e\n      \u003cdiv class=\"cp-rec\" id=\"cp-rec\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"cp-tip\" id=\"cp-tip\"\u003e\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n      \n    \n    var REC_1PH = [\n      { maxP: 7,   text: '推荐:7kW 单相家用慢充桩,配 32A 漏电保护开关 + 6mm² 铜芯线缆 + 1.5P 空开,无需三相电申请。' },\n      { maxP: Infinity, text: '⚠ 单相 220V 实测功率上限约 7kW(32A),更高功率必须用三相 380V(见下面相数切换)。' }\n    ];\n    var REC_3PH = [\n      { maxP: 11,  text: '推荐:7kW / 11kW 三相桩均可(三相 7kW ≈ 380V×11A,3.5×16mm²);11kW 配三相 16A 漏保 + 5×4mm² 五芯电缆 + 3P 空开。' },\n      { maxP: 22,  text: '推荐:11kW 三相桩(配三相 16A 漏保 + 5×4mm²),或 22kW(配三相 32A 漏保 + 5×6mm²);通勤频繁场景首选。' },\n      { maxP: 43,  text: '推荐:22kW 三相桩(380V/32A),配三相 32A 漏保 + 5×6mm² 五芯电缆 + 3P 空开;需确认车型支持(部分车载充电机限 11kW)。' },\n      { maxP: 60,  text: '推荐:43kW 三相交流桩(380V/63A),配三相 63A 漏保 + 5×10mm² + 3P 80A 空开;实际输入有功约 40.5kW,行业俗称 43kW。' },\n      { maxP: 120, text: '推荐:60-100kW 直流快充桩,配三相 100A 漏保 + 5×16mm² 电缆 + 柜内置 DC/DC 模块;适用于公交 / 物流 / 出租车队。' },\n      { maxP: 240, text: '推荐:120-160kW 直流快充桩,商用主流,配三相 250A 总漏保 + 母线槽供电;双枪同充场景首选。' },\n      { maxP: 400, text: '推荐:240kW 超充桩,接近 380V 直供上限,需提前按 1.25 倍规划配电柜容量,建议 SVG 无功补偿。' },\n      { maxP: Infinity, text: '推荐:400kW+ 液冷超充桩(\u003e500kW 普遍用液冷),通常需 690V 或 10kV 中压配电,需电力公司专项审批 + 油浸 / 干变定制方案。' }\n    ];\n    function pickRec(P, phase) {\n      var tbl = phase === 1 ? REC_1PH : REC_3PH;\n      for (var i = 0; i \u003c tbl.length; i++) {\n        if (P \u003c tbl[i].maxP) return tbl[i].text;\n      }\n      return tbl[tbl.length - 1].text;\n    }\n    function calc() {\n      var phase = parseInt(document.getElementById('cp-phase').value);\n      var U = parseFloat(document.getElementById('cp-volt').value);\n      var I = parseFloat(document.getElementById('cp-curr').value);\n      var cos = parseFloat(document.getElementById('cp-cos').value);\n      if (!U || !I || !cos || U \u003c= 0 || I \u003c= 0 || cos \u003c= 0 || cos \u003e 1) return;\n      var P, S;\n      if (phase === 3) {\n        S = Math.sqrt(3) * U * I / 1000;\n        P = S * cos;\n      } else {\n        S = U * I / 1000;\n        P = S * cos;\n      }\n      var sin = Math.sqrt(1 - cos * cos);\n      var Q = S * sin;\n      document.getElementById('cp-p').textContent = P.toFixed(2);\n      document.getElementById('cp-q').textContent = Q.toFixed(2);\n      document.getElementById('cp-s').textContent = S.toFixed(2);\n      document.getElementById('cp-rec').textContent = pickRec(P, phase);\n      \n      var tips = [];\n      if (phase === 1 \u0026\u0026 P \u003e 7) tips.push('⚠ 单相 220V 实际功率上限约 7kW(32A),更高功率必须用三相 380V。');\n      if (phase === 3 \u0026\u0026 I \u003e= 400) tips.push('⚠ 输入电流 ≥400A 已超过 380V 直供上限,通常需要 690V 或 10kV 中压配电,需电力公司专项审批。');\n      if (cos \u003c 0.95) tips.push('⚠ 功率因数低于 0.95 会导致电网罚款,建议加装 SVG 无功补偿装置。');\n      document.getElementById('cp-tip').textContent = tips.join(' ');\n      document.getElementById('cp-result').classList.add('active');\n    }\n    ['cp-phase','cp-volt','cp-curr','cp-cos'].forEach(function(id){\n      var el = document.getElementById(id);\n      el.addEventListener('input', calc);\n      el.addEventListener('change', calc);\n    });\n    document.querySelectorAll('#cp-tool .cp-preset').forEach(function(p){\n      p.addEventListener('click', function(){\n        document.querySelectorAll('#cp-tool .cp-preset').forEach(function(x){ x.classList.remove('active'); });\n        this.classList.add('active');\n        document.getElementById('cp-phase').value = this.dataset.ph;\n        document.getElementById('cp-volt').value = this.dataset.v;\n        document.getElementById('cp-curr').value = this.dataset.c;\n        document.getElementById('cp-cos').value = this.dataset.pf;\n        calc();\n      });\n    });\n    \n    document.getElementById('cp-clear').addEventListener('click', function(){\n      document.querySelectorAll('#cp-tool .cp-preset').forEach(function(x){ x.classList.remove('active'); });\n      document.getElementById('cp-phase').value = '3';\n      document.getElementById('cp-volt').value = '380';\n      document.getElementById('cp-curr').value = '32';\n      document.getElementById('cp-cos').value = '0.98';\n      calc();\n    });\n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\u003ch3 id=\"what-is-the-ev-charger-power-calculator\"\u003eWhat is the EV Charger Power Calculator?\u003c/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eEV Charger Power Calculator\u003c/strong\u003e is an electrical calculation tool designed for EV charger installation engineers, electrical designers, and vehicle owners. Based on the fundamental AC circuit formulas \u003cstrong\u003eP = √3 × U × I × cosΦ\u003c/strong\u003e (three-phase) or \u003cstrong\u003eP = U × I × cosΦ\u003c/strong\u003e (single-phase), it provides real-time calculations of active power, reactive power, and apparent power for EV chargers.\u003c/p\u003e","title":"EV Charger Power Calculator — Sizing \u0026 Three-Phase Power"},{"content":" ① Three-Phase Active Power ② Apparent / Reactive Conversion ③ Power Factor Compensation Line Voltage U(V) Line Current I(A) Power Factor cosφ 典型工业 380V/50A 中压电机 380V/100A 大功率负载 380V/200A 高压 6.6kV/50A Active Power P(kW) Power Factor cosφ 典型负载 50kW 电机组 200kW 感性负载 15kW 补偿后 500kW Active Power P(kW) Before Compensation cosφ₁ After Compensation cosφ₂ 从 0.7 提到 0.95 从 0.6 提到 0.9 从 0.8 提到 0.98 大功率 500kW Calculation Result What is the Three-Phase Power / Power Factor Calculator? The Three-Phase Power / Power Factor Calculator is an online quick-calculation tool for factory electrical maintenance engineers, electrical designers, electromechanical students, and workshop electricians. Based on the fundamental AC three-phase formula P = √3 · U · I · cosφ, it takes line voltage U (V), line current I (A), and power factor cosφ as inputs to instantly compute active power P (kW), apparent power S (kVA), and reactive power Q (kvar), while automatically providing the reactive power compensation capacitor capacity (kVAr) needed to correct to cosφ = 0.95.\nWhether it\u0026rsquo;s factory distribution panel sizing, transformer capacity verification, reactive power compensation scheme design, or end-of-term exam formula reference, this tool delivers quantitative results in 1 second, eliminating manual calculation of √3 and trigonometric functions.\nHow to Calculate Three-Phase Active Power? How to Use P = √3·U·I·cosφ? The three-phase four-wire formula is P = √3 · U_line · I_line · cosφ, where U is line voltage (V) and I is line current (A). The √3 factor originates from the geometric relationship that line voltage is √3 times the phase voltage in a three-phase winding system (380V line voltage → 220V phase voltage).\nExample calculation: Three-phase induction motor 380V × 50A × cosφ 0.85 → P ≈ √3 × 380 × 50 × 0.85 ≈ 27.97 kW (≈ 28 kW).\nAn important conceptual point that is frequently confused: cosφ is not \u0026ldquo;the cosine of the phase difference angle\u0026rdquo; per se, but rather \u0026ldquo;the ratio of active power to apparent power\u0026rdquo; — this is the most commonly misunderstood concept among junior and senior electrical engineering students. A factory induction motor at full load has a typical cosφ = 0.85, while an EV charger battery is nearly purely resistive with cosφ = 0.98 — the same formula with these two default parameter sets yields significantly different results.\nHow to Convert Between Apparent Power S, Active Power P, and Reactive Power Q? The three powers form a power triangle: the hypotenuse is apparent power S, the adjacent side is active power P, and the opposite side is reactive power Q — i.e., S² = P² + Q². Conversion formulas:\nS = P / cosφ (derived from the power triangle) Q = P · tanφ (where tanφ = sinφ / cosφ) P = S · cosφ (original definition) Engineering significance: Transformer nameplates are marked in kVA, not kW — the transformer\u0026rsquo;s core and winding dimensions determine the maximum apparent capacity S it can withstand, regardless of the load cosφ. If you need to select a transformer by kW, round down: kVA ÷ actual cosφ = kW (a 100 kVA transformer at cosφ 0.85 load can only stably output 85 kW of active power).\nHow to Calculate Reactive Power Compensation Capacitor Capacity? How Many kvar Are Needed? Compensation capacity formula: Qc = P × (tanφ₁ − tanφ₂), where P is active power, tanφ₁ is the pre-correction tangent angle, and tanφ₂ is the post-correction target angle.\nPractical reference table (compensation capacity required per 100 kW of active power, kvar):\nPre-correction cosφ → Target cosφ 0.90 0.95 0.70 53 74 0.80 32 42 0.85 19 28 National standard references: GB/T 11024-2010 Shunt Capacitors for AC Power Systems with Nominal Voltage up to 1 kV; supplementary selection per DL/T 842-2003 Technical Conditions for Low-Voltage Shunt Capacitor Installation. This tool automatically calculates Qc from the user\u0026rsquo;s input of active power P and pre/post-correction cosφ, and provides recommendations based on the nearest standard capacitor cabinet size.\nHow to Convert Power Units? W, kW, MW; VAr, kVAr, MVAr? 1 W = 10⁻³ kW = 10⁻⁶ MW; 1 VAr = 10⁻³ kVAr = 10⁻⁶ MVAr Retain 3 significant figures (W level: 0.000 three decimals; MW level: 0.00 three significant figures) Display kW / kVA in parallel (the P / S ratio equals cosφ — no additional calculation needed) Single-phase 220V formula: No √3 factor, P = U · I · cosφ The tool internally computes in SI units (watts / volt-amperes / vars) and converts to the user-selected unit for display — ensuring that an input accurate to 1 W correctly scales to MW-level output and vice versa.\nFrequently Asked Questions (FAQ) What is the three-phase power formula? How to calculate P, Q, S? Three-phase four-wire basic formulas (line voltage, line current):\nP = √3 · U · I · cosφ (active power, kW) Q = √3 · U · I · sinφ (reactive power, kvar) S = √3 · U · I (apparent power, kVA) For single-phase, remove the √3 factor: P = U · I · cosφ.\nVerification example: 380V / 100A / cosφ 0.85 → P ≈ 55.7 kW, S ≈ 65.6 kVA, Q ≈ 34.6 kvar (plug in to verify).\nNote: The more practical engineering interpretation of cosφ is \u0026ldquo;the proportion of active power to apparent power\u0026rdquo; rather than \u0026ldquo;the cosine of the phase difference angle itself.\u0026rdquo;\nReference: GB 50052-2009 Code for Design of Electric Power Supply Systems.\nHow to calculate power factor cosφ? How to back-calculate from voltage, current, and active power readings? Definition: cosφ = P / S = P / √(P² + Q²).\nBack-calculation from measurement: Use readings from an active energy meter + a reactive energy meter, first find tanφ = Q / P (reactive kvar ÷ active kW), then look up cosφ — most industrial electricity meters provide both active and reactive cumulative readings, so just divide directly.\nTypical cosφ ranges by load type:\nPurely resistive (electric heating, incandescent lamps): ≈ 1.0 Induction motor at full load: 0.85–0.9; at no-load drops to 0.2–0.3 VFD / rectifier / switch-mode power supply: 0.95–0.98 Electric arc furnace / large rectifier: 0.6–0.8 Reference: GB/T 15543-2008 Power Quality — Three-Phase Voltage Unbalance.\nWhat are the dangers of low power factor? Will electricity charges be surcharged? Three major risks:\nTransformer / line \u0026ldquo;the same kVA can\u0026rsquo;t drive more active power\u0026rdquo; — transmission capacity is wasted Line copper loss I²R and voltage drop both increase (current travels more, losses grow with the square) Most regions impose reactive power penalty for cosφ \u0026lt; 0.9 The national \u0026ldquo;Power Factor Adjustment Electricity Fee Method\u0026rdquo; stipulates: 0.90 is the threshold, each 0.01 below adds 0.5% surcharge; below 0.65, a +10% penalty applies; correcting to above 0.95 grants a 0.15% rebate per 0.01 above (specific provincial details vary; refer to local utility documents).\nCost calculation example: A factory with 500 kVA transformer and cosφ 0.65 corrects to 0.95 — annual savings in reactive power fees + line loss合计 ≈ ¥80,000–150,000 — this is why industrial users universally install capacitor compensation.\nHow to calculate reactive power compensation capacitor capacity? How to convert Qc = kvar? Engineering formula: Qc = P × (tanφ₁ − tanφ₂), where P is active power.\nPractical reference table (compensation capacity required per 100 kW active power):\nPre-correction cosφ → Target cosφ 0.90 0.95 0.70 Requires 53 kvar Requires 74 kvar 0.80 Requires 32 kvar Requires 42 kvar 0.85 Requires 19 kvar Requires 28 kvar References: GB/T 11024-2010 Shunt Capacitors for AC Power Systems with Nominal Voltage up to 1 kV; supplementary selection per DL/T 842-2003 Technical Conditions for Low-Voltage Shunt Capacitor Installation. This tool calculates Qc automatically from inputs of P and pre/post-correction cosφ, and recommends the nearest standard capacitor cabinet size.\nWhat is the difference between the three power factor target values — 0.85, 0.90, and 0.95? 0.85: Typical full-load value for induction motors — acceptable status quo for factories (runs fine without compensation) 0.90: Threshold per China\u0026rsquo;s Power Factor Adjustment Electricity Fee Method — penalties apply if not met 0.95: Engineering design target — the balance point between compensation cost and electricity fee rebate Break-even analysis:\nCompensating 0.65 → 0.90: Low cost per kvar 0.90 → 0.95: Moderate cost per kvar 0.95 → 1.0: Cost per kvar increases steeply but returns diminish — 0.95 is the industry-wide consensus break-even point Recommendation: When a factory\u0026rsquo;s cosφ is consistently below 0.85, design directly for a 0.95 target rather than correcting to 0.90 first and then to 0.95 — avoiding duplicate investment.\nReference: DL/T 842-2003 + State Grid Corporation\u0026rsquo;s Power Factor Adjustment Electricity Fee Method.\nWhat is the difference between apparent power S and active power P? Why are transformer nameplates in kVA? Definition comparison:\nP is the portion that actually does work (converts to mechanical / heat / light), unit kW S is the overall \u0026ldquo;voltage-current package\u0026rdquo; capacity, unit kVA They are related by cosφ: P = S · cosφ Engineering reason why transformer nameplates are in kVA, not kW: cosφ is determined by the load and is beyond the equipment manufacturer\u0026rsquo;s control — the transformer can only guarantee the \u0026ldquo;maximum apparent capacity S\u0026rdquo;; if marked in kW, the transformer could actually overload and burn out under low cosφ loads (because at the same kVA, a low cosφ means less active power, but the apparent power is already at its limit).\nIllustrative comparison: EV charger batteries are nearly purely resistive, cosφ ≈ 0.98 — S and P differ by less than 2% — so EV charger nameplates have flexibility in marking both kW and kVA.\nHow much electricity cost can a factory save by improving power factor from 0.7 to 0.95 over one year? Case setup: A machinery processing factory, monthly active energy 80,000 kWh, average cosφ 0.7, current reactive power penalty coefficient +10%.\nThree benefits after correcting to 0.95:\n(a) Reactive power fee: Changes from +10% to −0.75% (rebate) — direct electricity bill reduction (b) Reduced line losses: Approximately 30% reduction (lower current, I²R decreases with the square) (c) Transformer capacity release: 25% increase (the same 500 kVA transformer can drive 25% more active load after compensation — equivalent to free capacity expansion) Combined annual savings ≈ ¥120,000–180,000; compensation capacitor investment ¥180,000–250,000 — payback in 1.5 years, after which it\u0026rsquo;s pure profit.\nReference: Actual energy-saving measurement from the Industrial Energy Conservation Management Measures.\n","permalink":"https://elec.webpenson.com/en/tools/three-phase-power-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"tp-tool\"\u003e\n  \u003cstyle\u003e\n    #tp-tool { max-width: 760px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif; }\n    #tp-tool .tp-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #tp-tool .tp-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    #tp-tool .tp-row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }\n    #tp-tool .tp-input-group { margin-bottom: 16px; }\n    #tp-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #tp-tool label .tp-unit { font-weight: 400; color: #6b7280; font-size: 12px; margin-left: 4px; }\n    #tp-tool input, #tp-tool select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; }\n    #tp-tool input:focus, #tp-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #tp-tool .tp-mode-tabs { display: flex; gap: 4px; margin-bottom: 18px; border-bottom: 2px solid #e5e7eb; flex-wrap: wrap; }\n    #tp-tool .tp-tab { padding: 10px 16px; cursor: pointer; font-weight: 600; color: #6b7280; border-bottom: 3px solid transparent; margin-bottom: -2px; transition: all 0.2s; font-size: 14px; }\n    #tp-tool .tp-tab.active { color: #2563eb; border-bottom-color: #2563eb; }\n    #tp-tool .tp-tab:hover:not(.active) { color: #374151; }\n    #tp-tool .tp-panel { display: none; }\n    #tp-tool .tp-panel.active { display: block; }\n    #tp-tool .tp-presets { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0 16px 0; }\n    #tp-tool .tp-preset { padding: 6px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; font-size: 13px; transition: all 0.2s; user-select: none; }\n    #tp-tool .tp-preset:hover { background: #dbeafe; border-color: #93c5fd; }\n    #tp-tool .tp-preset.active { background: #2563eb; color: white; border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,0.2); }\n    #tp-tool .tp-preset.active:hover { background: #1d4ed8; border-color: #1d4ed8; }\n    #tp-tool .tp-result { background: #eff6ff; border: 1px solid #93c5fd; border-radius: 10px; padding: 18px; margin-top: 18px; display: none; }\n    #tp-tool .tp-result.active { display: block; }\n    #tp-tool .tp-result h3 { margin: 0 0 12px 0; color: #1e40af; font-size: 18px; }\n    #tp-tool .tp-power-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed #93c5fd; align-items: baseline; }\n    #tp-tool .tp-power-row:last-child { border-bottom: none; }\n    #tp-tool .tp-power-row.highlight { background: #dbeafe; margin: 4px -8px; padding: 8px; border-radius: 6px; border-bottom: none; }\n    #tp-tool .tp-power-label { color: #475569; font-size: 14px; }\n    #tp-tool .tp-power-val { font-weight: 700; color: #1e3a8a; font-size: 17px; font-variant-numeric: tabular-nums; }\n    #tp-tool .tp-power-row.highlight .tp-power-val { color: #1d4ed8; font-size: 20px; }\n    #tp-tool .tp-unit-inline { font-size: 12px; color: #64748b; margin-left: 4px; font-weight: 400; }\n    #tp-tool .tp-tip { font-size: 13px; color: #1e293b; margin-top: 14px; padding: 10px; background: #fef3c7; border-radius: 6px; border-left: 3px solid #f59e0b; }\n    #tp-tool .tp-warn { font-size: 13px; color: #7f1d1d; margin-top: 10px; padding: 10px; background: #fee2e2; border-radius: 6px; border-left: 3px solid #dc2626; display: none; }\n    #tp-tool .tp-warn.active { display: block; }\n    #tp-tool .tp-formula { font-size: 12px; color: #475569; margin-top: 10px; padding: 10px; background: #f8fafc; border-radius: 6px; border-left: 3px solid #94a3b8; font-family: \"SF Mono\", Monaco, Consolas, \"Courier New\", monospace; }\n    @media (prefers-color-scheme: dark) {\n      #tp-tool .tp-card { background: #1e293b; border-color: #334155; }\n      #tp-tool label { color: #cbd5e1; }\n      #tp-tool label .tp-unit { color: #94a3b8; }\n      #tp-tool input, #tp-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #tp-tool .tp-mode-tabs { border-bottom-color: #334155; }\n      #tp-tool .tp-tab { color: #94a3b8; }\n      #tp-tool .tp-tab.active { color: #60a5fa; border-bottom-color: #60a5fa; }\n      #tp-tool .tp-preset { background: #334155; border-color: #475569; color: #cbd5e1; }\n      #tp-tool .tp-preset:hover { background: #1e3a8a; border-color: #3b82f6; color: #dbeafe; }\n      #tp-tool .tp-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n      #tp-tool .tp-result { background: #0c1f3f; border-color: #1e3a8a; }\n      #tp-tool .tp-result h3 { color: #93c5fd; }\n      #tp-tool .tp-power-row { border-bottom-color: #1e3a8a; }\n      #tp-tool .tp-power-label { color: #cbd5e1; }\n      #tp-tool .tp-power-val { color: #93c5fd; }\n      #tp-tool .tp-power-row.highlight { background: #1e3a8a; }\n      #tp-tool .tp-power-row.highlight .tp-power-val { color: #dbeafe; }\n      #tp-tool .tp-unit-inline { color: #94a3b8; }\n      #tp-tool .tp-tip { background: #422006; color: #fde68a; border-left-color: #f59e0b; }\n      #tp-tool .tp-warn { background: #450a0a; color: #fecaca; border-left-color: #dc2626; }\n      #tp-tool .tp-formula { background: #0f172a; color: #cbd5e1; border-left-color: #475569; }\n    }\n    @media (max-width: 600px) {\n      #tp-tool { margin: 12px auto; }\n      #tp-tool .tp-card { padding: 16px; }\n      #tp-tool .tp-row, #tp-tool .tp-row3 { grid-template-columns: 1fr; }\n      #tp-tool .tp-tab { padding: 8px 12px; font-size: 13px; }\n      #tp-tool .tp-preset { padding: 5px 10px; font-size: 12px; }\n      #tp-tool .tp-power-row.highlight .tp-power-val { font-size: 18px; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"tp-card\"\u003e\n    \u003cdiv class=\"tp-mode-tabs\"\u003e\n      \u003cdiv class=\"tp-tab active\" data-mode=\"A\" role=\"tab\" aria-selected=\"true\"\u003e① Three-Phase Active Power\u003c/div\u003e\n      \u003cdiv class=\"tp-tab\" data-mode=\"B\" role=\"tab\" aria-selected=\"false\"\u003e② Apparent / Reactive Conversion\u003c/div\u003e\n      \u003cdiv class=\"tp-tab\" data-mode=\"C\" role=\"tab\" aria-selected=\"false\"\u003e③ Power Factor Compensation\u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \u003cdiv class=\"tp-panel active\" data-panel=\"A\"\u003e\n      \u003cdiv class=\"tp-row3\"\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-u\"\u003eLine Voltage U\u003cspan class=\"tp-unit\"\u003e(V)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-u\" value=\"380\" min=\"110\" max=\"1000\" step=\"10\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-i\"\u003eLine Current I\u003cspan class=\"tp-unit\"\u003e(A)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-i\" value=\"50\" min=\"0.1\" max=\"2000\" step=\"1\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-cosA\"\u003ePower Factor cosφ\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-cosA\" value=\"0.85\" min=\"0.01\" max=\"1.0\" step=\"0.01\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tp-presets\"\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('A',this,380,50,0.85)\"\u003e典型工业 380V/50A\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('A',this,380,100,0.9)\"\u003e中压电机 380V/100A\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('A',this,380,200,0.88)\"\u003e大功率负载 380V/200A\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('A',this,6600,50,0.85)\"\u003e高压 6.6kV/50A\u003c/span\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \u003cdiv class=\"tp-panel\" data-panel=\"B\"\u003e\n      \u003cdiv class=\"tp-row\"\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-pB\"\u003eActive Power P\u003cspan class=\"tp-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-pB\" value=\"50\" min=\"0.1\" max=\"10000\" step=\"1\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-cosB\"\u003ePower Factor cosφ\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-cosB\" value=\"0.85\" min=\"0.01\" max=\"1.0\" step=\"0.01\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tp-presets\"\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('B',this,50,0.85)\"\u003e典型负载 50kW\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('B',this,200,0.9)\"\u003e电机组 200kW\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('B',this,15,0.7)\"\u003e感性负载 15kW\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('B',this,500,0.95)\"\u003e补偿后 500kW\u003c/span\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \u003cdiv class=\"tp-panel\" data-panel=\"C\"\u003e\n      \u003cdiv class=\"tp-row3\"\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-pC\"\u003eActive Power P\u003cspan class=\"tp-unit\"\u003e(kW)\u003c/span\u003e\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-pC\" value=\"100\" min=\"0.1\" max=\"10000\" step=\"1\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-cos1\"\u003eBefore Compensation cosφ₁\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-cos1\" value=\"0.7\" min=\"0.01\" max=\"1.0\" step=\"0.01\"\u003e\n        \u003c/div\u003e\n        \u003cdiv class=\"tp-input-group\"\u003e\n          \u003clabel for=\"tp-cos2\"\u003eAfter Compensation cosφ₂\u003c/label\u003e\n          \u003cinput type=\"number\" id=\"tp-cos2\" value=\"0.95\" min=\"0.01\" max=\"1.0\" step=\"0.01\"\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n      \u003cdiv class=\"tp-presets\"\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('C',this,100,0.7,0.95)\"\u003e从 0.7 提到 0.95\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('C',this,200,0.6,0.9)\"\u003e从 0.6 提到 0.9\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('C',this,50,0.8,0.98)\"\u003e从 0.8 提到 0.98\u003c/span\u003e\n        \u003cspan class=\"tp-preset\" onclick=\"tpApplyPreset('C',this,500,0.85,0.95)\"\u003e大功率 500kW\u003c/span\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \n    \u003cdiv class=\"tp-result\" id=\"tp-result\" aria-live=\"polite\"\u003e\n      \u003ch3 id=\"tp-result-title\"\u003eCalculation Result\u003c/h3\u003e\n      \u003cdiv id=\"tp-result-body\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tp-formula\" id=\"tp-formula\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tp-tip\" id=\"tp-tip\"\u003e\u003c/div\u003e\n      \u003cdiv class=\"tp-warn\" id=\"tp-warn\"\u003e\u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n  (function(){\n    var currentMode = 'A';\n\n    function $(id) { return document.getElementById(id); }\n\n    function fmt(n, d) {\n      d = d || 2;\n      if (!isFinite(n) || isNaN(n)) return '--';\n      return n.toFixed(d);\n    }\n\n    function safeCos(c) {\n      \n      if (!isFinite(c) || isNaN(c) || c \u003c= 0.01) return null;\n      if (c \u003e 1) return 1;\n      return c;\n    }\n\n    function setActivePreset(presetEl) {\n      if (!presetEl) return;\n      var siblings = presetEl.parentNode.querySelectorAll('.tp-preset');\n      siblings.forEach(function(s) { s.classList.remove('active'); });\n      presetEl.classList.add('active');\n    }\n\n    function clearAllPresets() {\n      document.querySelectorAll('#tp-tool .tp-preset').forEach(function(s) {\n        s.classList.remove('active');\n      });\n    }\n\n    function row(label, val, unit, highlight) {\n      var cls = 'tp-power-row' + (highlight ? ' highlight' : '');\n      return '\u003cdiv class=\"' + cls + '\"\u003e' +\n             '\u003cspan class=\"tp-power-label\"\u003e' + label + '\u003c/span\u003e' +\n             '\u003cspan class=\"tp-power-val\"\u003e' + val + '\u003cspan class=\"tp-unit-inline\"\u003e' + (unit || '') + '\u003c/span\u003e\u003c/span\u003e' +\n             '\u003c/div\u003e';\n    }\n\n    function switchTab(mode) {\n      currentMode = mode;\n      document.querySelectorAll('#tp-tool .tp-tab').forEach(function(t){\n        var active = t.dataset.mode === mode;\n        t.classList.toggle('active', active);\n        t.setAttribute('aria-selected', active ? 'true' : 'false');\n      });\n      document.querySelectorAll('#tp-tool .tp-panel').forEach(function(p){\n        p.classList.toggle('active', p.dataset.panel === mode);\n      });\n      \n      clearAllPresets();\n      calc();\n    }\n\n    function calc() {\n      var body = '';\n      var title = '';\n      var formula = '';\n      var tip = '';\n      var warn = '';\n      var valid = true;\n\n      if (currentMode === 'A') {\n        \n        \n        \n        \n        \n        var U = parseFloat($('tp-u').value);\n        var I = parseFloat($('tp-i').value);\n        var cos = safeCos(parseFloat($('tp-cosA').value));\n        if (!U || !I || cos === null || U \u003c= 0 || I \u003c= 0) {\n          valid = false;\n        } else {\n          var phi = Math.acos(cos);\n          var sinPhi = Math.sin(phi);\n          \n          var S_kVA = Math.sqrt(3) * U * I / 1000;\n          var P_kW = S_kVA * cos;\n          var Q_kVAr = S_kVA * sinPhi;\n          var phiDeg = phi * 180 / Math.PI;\n\n          title = '三相功率 · U=' + U + 'V / I=' + I + 'A / cosφ=' + cos.toFixed(2);\n          body += row('有功功率 P', fmt(P_kW, 2), 'kW', true);\n          body += row('视在功率 S', fmt(S_kVA, 2), 'kVA');\n          body += row('无功功率 Q', fmt(Q_kVAr, 2), 'kVAr');\n          body += row('相位角 φ', fmt(phiDeg, 1), '°');\n          formula = 'P = √3 × U × I × cosφ = √3 × ' + U + ' × ' + I + ' × ' + cos.toFixed(3) +\n                    ' = ' + fmt(P_kW, 2) + ' kW';\n\n          \n          if (cos \u003c 0.7) {\n            tip = '⚡ 功率因数过低(cosφ\u003c' + cos.toFixed(2) + '),将受到供电公司力率电费罚款。建议加装 SVG/电容器无功补偿,目标提到 0.90 以上。';\n          } else if (cos \u003c 0.9) {\n            tip = '💡 功率因数偏低(cosφ=' + cos.toFixed(2) + '),建议将 cosφ 补偿至 0.90~0.95,可减少线路损耗和变压器负载。';\n          } else if (cos \u003e= 0.95 \u0026\u0026 cos \u003c 1) {\n            tip = '✓ 功率因数良好(cosφ=' + cos.toFixed(2) + '),处于优质区间。无需补偿,注意过补偿导致无功反送。';\n          } else if (cos \u003e= 1) {\n            warn = '⚠ cosφ=1 为纯阻性负载,实际工业现场极罕见;若为补偿后数据则合理。';\n          }\n\n          \n          if (U === 380 \u0026\u0026 I \u003e= 100) {\n            \n            \n            var cableTable = [\n              { max: 63,  size: 16  },\n              { max: 100, size: 25  },\n              { max: 125, size: 35  },\n              { max: 160, size: 50  },\n              { max: 200, size: 70  },\n              { max: 250, size: 95  },\n              { max: 315, size: 120 }\n            ];\n            var cableSize = null;\n            for (var ci = 0; ci \u003c cableTable.length; ci++) {\n              if (I \u003c= cableTable[ci].max) { cableSize = cableTable[ci].size; break; }\n            }\n            if (cableSize !== null) {\n              tip += '\u003cbr\u003e🔌 大电流建议:380V/' + I + 'A 需配 5×' + cableSize + 'mm² 五芯铜电缆,断路器按 1.25 倍整定。';\n            } else {\n              tip += '\u003cbr\u003e🔌 大电流建议:380V/' + I + 'A 超过 315A 标准表上限,请咨询专业电气工程师选型电缆与断路器(通常 ≥150mm² + 中压配电)。';\n            }\n          }\n        }\n\n      } else if (currentMode === 'B') {\n        \n        \n        \n        \n        \n        var P = parseFloat($('tp-pB').value);\n        var cos = safeCos(parseFloat($('tp-cosB').value));\n        if (!P || cos === null || P \u003c= 0) {\n          valid = false;\n        } else {\n          var phi = Math.acos(cos);\n          var sinPhi = Math.sin(phi);\n          \n          var S = P / cos;\n          var Q = P * Math.tan(phi);\n          var phiDeg = phi * 180 / Math.PI;\n\n          title = '视在/无功换算 · P=' + P + 'kW / cosφ=' + cos.toFixed(2);\n          body += row('有功功率 P', fmt(P, 2), 'kW');\n          body += row('视在功率 S', fmt(S, 2), 'kVA', true);\n          body += row('无功功率 Q', fmt(Q, 2), 'kVAr');\n          body += row('相位角 φ', fmt(phiDeg, 1), '°');\n          formula = 'S = P / cosφ = ' + P + ' / ' + cos.toFixed(3) + ' = ' + fmt(S, 2) + ' kVA  |  ' +\n                    'Q = P × tanφ = ' + P + ' × tan(acos(' + cos.toFixed(3) + ')) = ' + fmt(Q, 2) + ' kVAr';\n\n          if (cos \u003c 0.7) {\n            tip = '⚡ 无功占比过高(Q/S=' + (Q/S*100).toFixed(0) + '%),变压器和线路需按 S=' + fmt(S,1) + 'kVA 配置而非 P=' + P + 'kW,容量需求大幅增加。';\n          } else if (cos \u003c 0.9) {\n            tip = '💡 视在功率 S 比有功 P 多 ' + fmt((S-P)/P*100, 0) + '%,建议无功补偿后选型可缩小。';\n          } else {\n            tip = '✓ 功率因数良好,S 与 P 接近,配电容量利用率高。';\n          }\n        }\n\n      } else if (currentMode === 'C') {\n        \n        \n        \n        \n        var P = parseFloat($('tp-pC').value);\n        var cos1 = safeCos(parseFloat($('tp-cos1').value));\n        var cos2 = safeCos(parseFloat($('tp-cos2').value));\n        if (!P || cos1 === null || cos2 === null || P \u003c= 0) {\n          valid = false;\n        } else if (cos2 \u003c= cos1) {\n          \n          var phi1 = Math.acos(cos1);\n          var S = P / cos1;\n          var Q = P * Math.tan(phi1);\n          title = '功率因数补偿 · 当前已达标';\n          body += row('有功功率 P', fmt(P, 2), 'kW');\n          body += row('当前 cosφ₁', cos1.toFixed(3), '');\n          body += row('目标 cosφ₂', cos2.toFixed(3), '');\n          body += row('当前视在 S', fmt(S, 2), 'kVA');\n          body += row('当前无功 Q', fmt(Q, 2), 'kVAr');\n          body += row('需补偿 Qc', '0.00', 'kVAr', true);\n          formula = 'Qc = P × (tanφ₁ − tanφ₂) = ' + P + ' × (tan(acos(' + cos1.toFixed(3) +\n                    ')) − tan(acos(' + cos2.toFixed(3) + '))) = 0 kVAr (cosφ₂ ≤ cosφ₁,无需补偿)';\n          warn = '⚠ 目标 cosφ₂(' + cos2.toFixed(2) + ')不大于当前 cosφ₁(' + cos1.toFixed(2) + '),不需要补偿电容。请调高 cosφ₂(例如 0.90~0.95)。';\n        } else {\n          \n          \n          \n          var phi1 = Math.acos(cos1);\n          var phi2 = Math.acos(cos2);\n          var Qc = P * (Math.tan(phi1) - Math.tan(phi2));  \n          var S1 = P / cos1;\n          var S2 = P / cos2;\n          var reduction = (S1 - S2) / S1 * 100;\n\n          title = '功率因数补偿 · ' + cos1.toFixed(2) + ' → ' + cos2.toFixed(2);\n          body += row('有功功率 P', fmt(P, 2), 'kW');\n          body += row('补偿前视在 S₁', fmt(S1, 2), 'kVA');\n          body += row('补偿后视在 S₂', fmt(S2, 2), 'kVA');\n          body += row('视在功率下降', fmt(reduction, 1), '%');\n          body += row('需补偿电容 Qc', fmt(Qc, 2), 'kVAr', true);\n          formula = 'Qc = P × (tanφ₁ − tanφ₂) = ' + P + ' × (tan(acos(' + cos1.toFixed(3) +\n                    ')) − tan(acos(' + cos2.toFixed(3) + '))) = ' + fmt(Qc, 2) + ' kVAr';\n\n          \n          if (cos2 \u003e 0.98) {\n            warn = '⚠ 目标 cosφ₂ 超过 0.98 容易出现\"过补偿\"(无功反送电网),导致力率电费罚款。建议目标 0.90~0.95 最经济。';\n          }\n          if (Qc \u003e 1000) {\n            tip = '🏭 大容量补偿(' + fmt(Qc, 0) + ' kVAr),建议:① 分组自动投切(避免过补偿)② SVG 优先(响应快)③ 选用 480V 电容器组(避免 380V 直接补偿带来的谐波放大)。';\n          } else if (Qc \u003e 100) {\n            tip = '⚙ 中容量补偿,推荐方案:① 优先 SVG(静止无功发生器,响应时间 \u003c10ms)② 也可用晶闸管投切电容器(TSC)。';\n          } else {\n            tip = '✓ 小容量补偿,可选用普通电容器组(接触器投切)即可,成本低、维护简单。';\n          }\n        }\n      }\n\n      var r = $('tp-result');\n      var w = $('tp-warn');\n      if (!valid) {\n        r.classList.remove('active');\n        return;\n      }\n      $('tp-result-title').textContent = title;\n      $('tp-result-body').innerHTML = body;\n      $('tp-formula').textContent = formula;\n      $('tp-tip').innerHTML = tip;\n      $('tp-warn').textContent = warn;\n      if (warn) {\n        w.classList.add('active');\n      } else {\n        w.classList.remove('active');\n      }\n      r.classList.add('active');\n    }\n\n    \n    document.querySelectorAll('#tp-tool .tp-tab').forEach(function(tab){\n      tab.addEventListener('click', function(){ switchTab(tab.dataset.mode); });\n    });\n\n    \n    ['tp-u','tp-i','tp-cosA','tp-pB','tp-cosB','tp-pC','tp-cos1','tp-cos2'].forEach(function(id){\n      var el = $(id);\n      if (!el) return;\n      el.addEventListener('input', function() { clearAllPresets(); calc(); });\n      el.addEventListener('change', calc);\n    });\n\n    \n    window.tpApplyPreset = function(mode, presetEl, a, b, c) {\n      if (mode === 'A') {\n        $('tp-u').value = a;\n        $('tp-i').value = b;\n        $('tp-cosA').value = c;\n      } else if (mode === 'B') {\n        $('tp-pB').value = a;\n        $('tp-cosB').value = b;\n      } else if (mode === 'C') {\n        $('tp-pC').value = a;\n        $('tp-cos1').value = b;\n        $('tp-cos2').value = c;\n      }\n      setActivePreset(presetEl);\n      calc();\n    };\n\n    \n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\n\u003ch3 id=\"what-is-the-three-phase-power--power-factor-calculator\"\u003eWhat is the Three-Phase Power / Power Factor Calculator?\u003c/h3\u003e\n\u003cp\u003eThe \u003cstrong\u003eThree-Phase Power / Power Factor Calculator\u003c/strong\u003e is an online quick-calculation tool for \u003cstrong\u003efactory electrical maintenance engineers, electrical designers, electromechanical students, and workshop electricians\u003c/strong\u003e. Based on the fundamental AC three-phase formula \u003cstrong\u003eP = √3 · U · I · cosφ\u003c/strong\u003e, it takes \u003cstrong\u003eline voltage U (V)\u003c/strong\u003e, \u003cstrong\u003eline current I (A)\u003c/strong\u003e, and \u003cstrong\u003epower factor cosφ\u003c/strong\u003e as inputs to instantly compute \u003cstrong\u003eactive power P (kW)\u003c/strong\u003e, \u003cstrong\u003eapparent power S (kVA)\u003c/strong\u003e, and \u003cstrong\u003ereactive power Q (kvar)\u003c/strong\u003e, while automatically providing the reactive power compensation capacitor capacity (kVAr) needed to correct to \u003cstrong\u003ecosφ = 0.95\u003c/strong\u003e.\u003c/p\u003e","title":"Three-Phase Power Calculator — Active / Apparent / Reactive Power \u0026 Power Factor"},{"content":" ⚡ Quick Presets — One-Click Sizing EV Charger 40A (continuous) EV Charger 48A (continuous) EV Charger 50A (continuous) 50A Subpanel 100A Subpanel 200A Service 30A Dryer 40A Range Load Amps (A) System Voltage (V) 120 V 208 V 220 V 240 V 277 V 347 V 480 V 600 V Phase 1Φ Single-Phase 3Φ Three-Phase One-Way Length (ft) Wire Material Copper (Cu) Aluminum (Al) Ambient Temp (°C) Current-Carrying Conductors 1 2-3 4-6 7-9 10-20 21-30 31-40 Continuous load (NEC 210.20(A) — 125% rule) Required for EV chargers, solar PV inverters, and any load expected to run \u0026gt; 3 hours. Conductor — — Breaker (OCPD) — amperes Voltage Drop — — Calculation Details Design amps (NEC 125% if continuous) — Base ampacity (NEC 310.16, 75°C) — Temperature correction (310.15(B)(1)) — Conduit-fill derating (310.15(C)(1)) — Final corrected ampacity — NEC 240.4(B) round-up applied Yes — bumped to match OCPD Enter load values to see the formula. 📊 NEC 310.16 Reference Table — 75°C Column (click to expand) AWG / kcmilCopper (A)Aluminum (A)Ω/1000 ft (Cu) 14 AWG20—3.14 12 AWG25—1.98 10 AWG35—1.24 8 AWG50400.778 6 AWG65500.491 4 AWG85650.308 3 AWG100750.245 2 AWG115900.194 1 AWG1301000.154 1/0 AWG1501200.122 2/0 AWG1751350.0967 3/0 AWG2001550.0766 4/0 AWG2301800.0608 250 kcmil2552050.0515 300 kcmil2852300.0429 350 kcmil3102500.0367 400 kcmil3352700.0321 500 kcmil3803100.0258 600 kcmil4203400.0214 750 kcmil4753850.0171 Source: NFPA 70 — National Electrical Code 2023, Table 310.16 (75°C column, the inspector-favored terminal rating per NEC 110.14(C) for circuits rated 100 A or less). ⚠️ Reference only. Calculations are NEC-aware but final conductor sizing must be verified by a licensed electrician and approved by your local Authority Having Jurisdiction (AHJ). Always follow the latest edition of NFPA 70 — National Electrical Code. TL;DR — What this calculator returns. Enter load amps (or use a preset), system voltage, one-way run length, wire material (copper / aluminum), ambient temperature, and number of current-carrying conductors. The tool returns the smallest NEC Table 310.16 (75 °C column) compliant AWG or kcmil, the corrected ampacity after NEC 310.15(B)(1) temperature and NEC 310.15(C)(1) conduit-fill adjustment, the recommended breaker (NEC 240.6(A) standard OCPD), and the voltage-drop % against the NEC 3 % branch / 5 % combined limits.\nWhat size wire do I need? Wire Size Calculator — sized right, NEC right. Pick the correct copper or aluminum conductor for any residential, commercial, or industrial branch circuit in seconds. This NEC-aware wire size calculator uses the 75 °C ampacity column from NEC Table 310.16 and applies temperature-correction and conduit-fill adjustment factors per NEC 310.15(B) — the same numbers your inspector checks. Enter load amps (or watts + volts), system voltage, one-way run length, and wire material; the tool returns the smallest compliant AWG or kcmil, the temperature-corrected ampacity, and a NEC 240.4(B) round-up flag if the next-larger size is required for overcurrent coordination. Built for licensed electricians, EV-charger installers, solar-PV designers, and DIY homeowners pulling a permit. No signup, no ads, no email gate.\nWhy this wire size calculator? NEC 310.16 compliant — calculates copper \u0026amp; aluminum conductor sizes using the 75 °C ampacity column (the inspector-favored terminal rating per NEC 110.14(C)). Covers 14 AWG to 750 kcmil — from a single 15-amp lighting branch circuit to a 600-amp service entrance, in one calculator. EV-charger, subpanel \u0026amp; solar presets — one-click sizing for 30/40/50/60/100 amp services, 11 kW/22 kW Level-2 EV chargers, and 12V/24V/48V PV DC runs. Temperature \u0026amp; conduit-fill correction — applies NEC 310.15(B) ambient-temperature adjustment factors (30 °C / 35 °C / 40 °C / 45 °C) and conduit-fill derating (more than 3 current-carrying conductors). Voltage-drop check built-in — instantly shows the % drop at the recommended size and warns if you cross NEC 3 % branch / 5 % feeder limits; one-click link to our full voltage-drop calculator. How to use this wire size calculator Choose a preset or enter your load manually. Start with the \u0026ldquo;Quick Presets\u0026rdquo; chips at the top for instant EV-charger, subpanel, service, dryer, or range sizing — or enter load amps directly. For three-phase motors, enter kW first then let the calculator convert to FLA via our three-phase power calculator.\nSet the system conditions. Pick system voltage (120 / 208 / 220 / 240 / 277 / 347 / 480 / 600 V), phase (1Φ or 3Φ), and one-way run length in feet. The round-trip voltage drop is computed as 2× the one-way length.\nPick the wire material and environment. Toggle between copper and aluminum. Set ambient temperature (default 30 °C) and the number of current-carrying conductors in the conduit — both feed the NEC 310.15(B)(1) temperature correction and NEC 310.15(C)(1) conduit-fill adjustment.\nFlag continuous loads. EV chargers, solar PV inverters, and some motor loads are continuous (NEC 210.20(A) / 215.3 / 625) and require the conductor + breaker to be sized to 125 % of the load. Check the \u0026ldquo;Continuous load\u0026rdquo; box or pick an EV / solar preset to auto-enable it.\nRead the result card. The 3-column card shows the recommended AWG / kcmil, the corrected ampacity, the recommended OCPD size, and the voltage-drop percentage. The compliance badge at the top goes 🟢 GREEN (fully compliant), 🟡 YELLOW (compliant but voltage drop marginal), or 🔴 RED (does not meet NEC — upsize).\nCross-check with the voltage-drop calculator. If the V-drop card flags a yellow or red, click through to our full voltage drop calculator for length-by-gauge and ambient temperature sensitivity analysis. Then pair the conductor with the breaker using our circuit breaker sizing calculator.\nNEC wire sizing basics NEC wire sizing rests on three pillars. First, ampacity — the maximum current a conductor can carry continuously without exceeding its insulation temperature rating — is defined per NEC Table 310.16 for each AWG / kcmil size, with separate columns for 60 °C, 75 °C, and 90 °C insulation. The 75 °C column is the inspector-favored reference for circuits rated 100 A or less (NEC 110.14(C)).\nSecond, derating. Base ampacity assumes 30 °C ambient and at most three current-carrying conductors in the conduit. Higher ambient temperatures apply NEC 310.15(B)(1) correction factors; more than three current-carrying conductors apply NEC 310.15(C)(1) adjustment factors (0.80 for 4–6 conductors, 0.70 for 7–9, and so on).\nThird, overcurrent protection coordination. The breaker must not exceed the conductor\u0026rsquo;s corrected ampacity — except where NEC 240.4(B) permits the next-larger standard OCPD when no standard OCPD matches the conductor ampacity.\nNEC ampacity reference (Table 310.16, 75 °C column) This table is the inspector-favored reference for ampacity in the US — every AWG / kcmil from 14 AWG through 750 kcmil, copper and aluminum, 75 °C terminal-rating column per NEC 110.14(C). Cross-check the recommended conductor against this table, or look up an existing conductor\u0026rsquo;s corrected ampacity with our cable ampacity lookup.\nAWG / kcmil Copper (A) Aluminum (A) Ω/1000 ft @ 75 °C (Cu) 14 AWG 20 — 3.14 12 AWG 25 — 1.98 10 AWG 35 — 1.24 8 AWG 50 40 0.778 6 AWG 65 50 0.491 4 AWG 85 65 0.308 3 AWG 100 75 0.245 2 AWG 115 90 0.194 1 AWG 130 100 0.154 1/0 AWG 150 120 0.122 2/0 AWG 175 135 0.0967 3/0 AWG 200 155 0.0766 4/0 AWG 230 180 0.0608 250 kcmil 255 205 0.0515 300 kcmil 285 230 0.0429 350 kcmil 310 250 0.0367 400 kcmil 335 270 0.0321 500 kcmil 380 310 0.0258 600 kcmil 420 340 0.0214 750 kcmil 475 385 0.0171 Source: NFPA 70 — National Electrical Code 2023, Table 310.16 (75°C column). Use this table to verify the calculator\u0026rsquo;s output or look up an existing conductor\u0026rsquo;s corrected ampacity.\nWire size for common services (presets) The calculator ships with one-click presets for the most common residential, commercial, and light-industrial circuits. Each preset auto-fills the inputs and returns the smallest NEC-compliant conductor. For service-entrance sizing (100 A / 200 A), pair the recommended conductor with the breaker per NEC 240.4(B) using our circuit breaker sizing calculator.\n30 A dryer circuit NEC 220.54 — standard 30 A dryer receptacle (10-30R) on a 30 A breaker. Typical run 35 ft at 120/240 V → 10 AWG copper + 30 A breaker. Larger gauge is rarely needed; verify with your local AHJ.\n40 A electric range circuit NEC 220.55 demand Table — 40 A range receptacle (14-50R). Typical run 35 ft at 120/240 V → 8 AWG copper + 40 A breaker.\n50 A RV / subpanel feeder NEC 215.2 / 551.71 — 50 A subpanel feeder (detached garage, workshop) or RV pedestal. Typical run 75 ft at 120/240 V → 6 AWG copper + 50 A breaker (or 4 AWG aluminum).\n60 A EV charger (Level 2, 11 kW) NEC 625.41 + 210.20(A) — 48 A continuous-load Level-2 EV charger. 125 % rule → conductor rated 60 A minimum → 4 AWG copper + 60 A breaker. Verify the charger\u0026rsquo;s actual demand with the EV charging power calculator.\n100 A subpanel feeder NEC 215.2(A)(1) — detached-building subpanel fed at 100 A. Typical run 100 ft at 120/240 V → 3 AWG copper + 100 A breaker.\n200 A service entrance NEC 230.42 — modern residential service entrance. Typical run 75 ft at 120/240 V → 3/0 AWG copper + 200 A breaker (or 4/0 AWG aluminum).\nSolar / PV (12V / 24V / 48V DC) NEC 690.8 + 210.20(A) — off-grid PV battery circuit, 30 A continuous load → 8 AWG copper with 40 A OCPD. For grid-tied PV inverters with step-up transformers, size the upstream transformer with our transformer capacity selection calculator.\nCopper vs aluminum wire sizing Aluminum has approximately 61 % the conductivity of copper by cross-sectional area, so to carry the same ampacity you must step up roughly two AWG sizes. A 6 AWG copper conductor (65 A) is roughly equivalent to a 4 AWG aluminum conductor (65 A). NEC 310.6 permits aluminum building wire only at 8 AWG and larger; 12 AWG and 10 AWG aluminum are restricted to specific applications like transformer secondaries.\nAluminum is widely used for service entrance and large feeders because it costs 30–50 % less per amp than copper, but it requires antioxidant joint compound (per NEC 110.14) and CU/AL-rated terminals to prevent galvanic corrosion at the termination. For EV-charger and subpanel branch circuits, copper is the de-facto standard — see our EV charging time calculator for EV-specific scenarios, or estimate the operating cost of the load with our electricity cost calculator.\nFrequently asked questions What size wire do I need for a 100 amp service? For a 100 A residential service entrance (NEC 230), the typical minimum is 3 AWG copper or 1 AWG aluminum for a 120/240 V single-phase run under 100 ft, after NEC 310.15(B) temperature- correction. For runs over 150 ft, bump up one AWG to stay under 3 % voltage drop. Always verify with your local AHJ.\nWhat size wire for a 50 amp subpanel? A 50 A subpanel feeder (NEC 215) typically requires 6 AWG copper or 4 AWG aluminum, with an 8 AWG copper equipment grounding conductor. Use the calculator above to confirm for your exact run length and conduit-fill conditions.\nWhat wire size for a Level-2 (40-50 A) EV charger? A 40 A continuous-load EV charger (NEC 625) requires a conductor rated 125 % of the load → 50 A minimum → typically 6 AWG copper with a 50 A breaker. For a 48 A / 11 kW charger: 4 AWG copper with a 60 A breaker. For a 50 A / 12 kW charger: 4 AWG copper with a 50 A breaker — verify the terminal rating (75 °C).\nHow do I size aluminum wire vs copper? Aluminum has about 61 % the conductivity of copper, so for the same ampacity you typically go two AWG sizes larger (e.g. 6 AWG copper ≈ 4 AWG aluminum). Aluminum is common for service entrance and large feeders (above 6 AWG equivalent) but is restricted for branch circuits in many jurisdictions (NEC 310.6).\nWhat is the NEC 240.4(B) round-up rule? NEC 240.4(B) says the next-larger standard overcurrent device (OCPD) is permitted only if the ampacity of the conductor does not correspond to a standard OCPD size AND the next-larger OCPD is no more than 800 A. In practice this means: if your load calculation lands on a non-standard ampacity, the conductor must be sized to the next standard OCPD — the calculator flags this automatically.\nWhen does voltage drop drive the sizing instead of ampacity? Voltage drop is usually the second constraint — but for long runs it becomes the first. Rule of thumb: if the one-way length in feet is greater than the system voltage in volts × 1.5 (150 ft @ 120 V, 300 ft @ 240 V, 720 ft @ 480 V), the smallest ampacity-compliant conductor will likely exceed the 3 % branch limit. How to upsize: bump one or two AWG sizes until the calculator\u0026rsquo;s V-drop card turns 🟢 green. For very long runs (e.g. detached outbuildings, solar arrays, well pumps), combine this calculator with the voltage drop calculator for a full length-vs-gauge sensitivity sweep.\nDo I need to derate for solar PV DC string wiring? Yes — but the 125 % continuous-load rule (NEC 690.8) is the bigger factor. Solar PV inverter output circuits are treated as continuous, so the conductor ampacity must be ≥ 1.25 × the inverter\u0026rsquo;s max output current. PV wire (typically USE-2 / PV wire, 90 °C wet-rated) still uses NEC Table 310.16 for ampacity. For 12V / 24V / 48V off-grid battery banks, the calculator\u0026rsquo;s \u0026ldquo;12 V / 24 V / 48 V\u0026rdquo; preset chains the same logic with low-voltage high-current arithmetic — expect 4/0 AWG or larger on a 48 V bank pushing 100 A.\n","permalink":"https://elec.webpenson.com/en/tools/wire-size-calculator/","summary":"\u003cdiv class=\"tool-container\" id=\"ws-tool\"\u003e\n  \u003cstyle\u003e\n    #ws-tool { max-width: 820px; margin: 24px auto; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif; }\n    #ws-tool .ws-card { background: #fff; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); border: 1px solid #e5e7eb; }\n    #ws-tool .ws-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }\n    #ws-tool .ws-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }\n    #ws-tool .ws-row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }\n    #ws-tool .ws-input-group { margin-bottom: 14px; }\n    #ws-tool label { display: block; font-weight: 600; margin-bottom: 6px; color: #1f2937; font-size: 14px; }\n    #ws-tool label .ws-unit { font-weight: 400; color: #6b7280; font-size: 12px; margin-left: 4px; }\n    #ws-tool label .ws-help { font-weight: 400; color: #6b7280; font-size: 11px; display: block; margin-top: 2px; }\n    #ws-tool input, #ws-tool select { width: 100%; padding: 9px 12px; border: 1px solid #d1d5db; border-radius: 8px; font-size: 15px; box-sizing: border-box; background: white; color: #111827; }\n    #ws-tool input:focus, #ws-tool select:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,0.1); }\n    #ws-tool .ws-preset-group { margin-bottom: 14px; }\n    #ws-tool .ws-preset-group-label { font-size: 12px; font-weight: 600; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; }\n    #ws-tool .ws-presets { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }\n    #ws-tool .ws-preset { padding: 6px 12px; background: #f3f4f6; border: 1px solid #d1d5db; border-radius: 8px; cursor: pointer; font-size: 13px; transition: all 0.15s; user-select: none; }\n    #ws-tool .ws-preset:hover { background: #dbeafe; border-color: #93c5fd; }\n    #ws-tool .ws-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n    #ws-tool .ws-toggle { display: inline-flex; gap: 0; border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; }\n    #ws-tool .ws-toggle-btn { padding: 8px 14px; background: #fff; cursor: pointer; font-size: 13px; font-weight: 600; color: #374151; border: none; transition: all 0.15s; }\n    #ws-tool .ws-toggle-btn.active { background: #2563eb; color: white; }\n    #ws-tool .ws-toggle-btn:not(.active):hover { background: #f3f4f6; }\n    #ws-tool .ws-checkbox { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #374151; cursor: pointer; padding: 4px 0; }\n    #ws-tool .ws-checkbox input { width: 16px; height: 16px; margin: 0; }\n    #ws-tool .ws-checkbox .ws-help { color: #6b7280; font-size: 12px; margin-left: 24px; }\n    #ws-tool .ws-result { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; padding: 18px; }\n    #ws-tool .ws-badge { display: inline-block; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; margin-bottom: 14px; }\n    #ws-tool .ws-badge-green { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }\n    #ws-tool .ws-badge-yellow { background: #fef3c7; color: #92400e; border: 1px solid #fcd34d; }\n    #ws-tool .ws-badge-red { background: #fee2e2; color: #991b1b; border: 1px solid #fca5a5; }\n    #ws-tool .ws-result-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; margin-bottom: 14px; }\n    #ws-tool .ws-result-cell { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px; text-align: center; }\n    #ws-tool .ws-result-cell-label { font-size: 11px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; font-weight: 600; }\n    #ws-tool .ws-result-cell-value { font-size: 22px; font-weight: 700; color: #1e3a8a; font-variant-numeric: tabular-nums; line-height: 1.2; }\n    #ws-tool .ws-result-cell-unit { font-size: 12px; color: #6b7280; margin-top: 2px; }\n    #ws-tool .ws-cell-ocpd .ws-result-cell-value { color: #7c2d12; }\n    #ws-tool .ws-cell-vdrop .ws-result-cell-value { color: #14532d; }\n    #ws-tool .ws-notes { background: #f3f4f6; border-radius: 8px; padding: 12px 14px; font-size: 13px; color: #374151; }\n    #ws-tool .ws-notes h4 { margin: 0 0 8px 0; font-size: 12px; color: #6b7280; text-transform: uppercase; letter-spacing: 0.5px; }\n    #ws-tool .ws-note-row { display: flex; justify-content: space-between; padding: 4px 0; border-bottom: 1px dashed #d1d5db; }\n    #ws-tool .ws-note-row:last-child { border-bottom: none; }\n    #ws-tool .ws-note-row .ws-note-label { color: #6b7280; }\n    #ws-tool .ws-note-row .ws-note-value { color: #1f2937; font-weight: 600; font-variant-numeric: tabular-nums; }\n    #ws-tool .ws-formula { font-family: \"SF Mono\", Monaco, Consolas, \"Courier New\", monospace; font-size: 11px; color: #475569; background: #f8fafc; padding: 8px 10px; border-radius: 6px; margin-top: 10px; border-left: 3px solid #94a3b8; word-break: break-all; }\n    #ws-tool .ws-tip { font-size: 12px; color: #1e293b; margin-top: 12px; padding: 10px; background: #fef3c7; border-radius: 6px; border-left: 3px solid #f59e0b; line-height: 1.5; }\n    #ws-tool .ws-tip.ws-tip-good { background: #d1fae5; border-left-color: #10b981; color: #064e3b; }\n    #ws-tool .ws-tip.ws-tip-bad { background: #fee2e2; border-left-color: #dc2626; color: #7f1d1d; }\n    #ws-tool .ws-disclaimer { font-size: 11px; color: #6b7280; margin-top: 16px; padding: 10px; background: #f8fafc; border-radius: 6px; border-left: 3px solid #94a3b8; line-height: 1.5; }\n    #ws-tool .ws-collapsible { margin-top: 18px; }\n    #ws-tool .ws-collapsible summary { cursor: pointer; font-weight: 600; font-size: 14px; color: #2563eb; padding: 8px 0; user-select: none; }\n    #ws-tool .ws-collapsible summary:hover { color: #1d4ed8; }\n    #ws-tool .ws-collapsible table { width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 8px; }\n    #ws-tool .ws-collapsible th, #ws-tool .ws-collapsible td { padding: 6px 10px; text-align: left; border-bottom: 1px solid #e5e7eb; }\n    #ws-tool .ws-collapsible th { background: #f3f4f6; font-weight: 600; color: #374151; font-size: 12px; }\n    #ws-tool .ws-collapsible td.num { font-variant-numeric: tabular-nums; text-align: right; }\n    #ws-tool .ws-collapsible .ws-source { font-size: 11px; color: #6b7280; margin-top: 8px; font-style: italic; }\n    @media (prefers-color-scheme: dark) {\n      #ws-tool .ws-card { background: #1e293b; border-color: #334155; }\n      #ws-tool label { color: #cbd5e1; }\n      #ws-tool label .ws-unit, #ws-tool label .ws-help { color: #94a3b8; }\n      #ws-tool input, #ws-tool select { background: #0f172a; color: #e2e8f0; border-color: #334155; }\n      #ws-tool input:focus, #ws-tool select:focus { border-color: #60a5fa; box-shadow: 0 0 0 3px rgba(96,165,250,0.15); }\n      #ws-tool .ws-preset { background: #334155; border-color: #475569; color: #cbd5e1; }\n      #ws-tool .ws-preset:hover { background: #1e3a8a; border-color: #3b82f6; color: #dbeafe; }\n      #ws-tool .ws-preset.active { background: #2563eb; color: white; border-color: #2563eb; }\n      #ws-tool .ws-toggle { border-color: #475569; }\n      #ws-tool .ws-toggle-btn { background: #1e293b; color: #cbd5e1; }\n      #ws-tool .ws-toggle-btn.active { background: #2563eb; color: white; }\n      #ws-tool .ws-toggle-btn:not(.active):hover { background: #334155; }\n      #ws-tool .ws-checkbox { color: #cbd5e1; }\n      #ws-tool .ws-result { background: #0f172a; border-color: #334155; }\n      #ws-tool .ws-result-cell { background: #1e293b; border-color: #334155; }\n      #ws-tool .ws-result-cell-label { color: #94a3b8; }\n      #ws-tool .ws-result-cell-value { color: #93c5fd; }\n      #ws-tool .ws-cell-ocpd .ws-result-cell-value { color: #fdba74; }\n      #ws-tool .ws-cell-vdrop .ws-result-cell-value { color: #86efac; }\n      #ws-tool .ws-badge-green { background: #064e3b; color: #6ee7b7; border-color: #047857; }\n      #ws-tool .ws-badge-yellow { background: #451a03; color: #fcd34d; border-color: #b45309; }\n      #ws-tool .ws-badge-red { background: #450a0a; color: #fca5a5; border-color: #b91c1c; }\n      #ws-tool .ws-notes { background: #1e293b; color: #cbd5e1; }\n      #ws-tool .ws-notes h4 { color: #94a3b8; }\n      #ws-tool .ws-note-row { border-bottom-color: #334155; }\n      #ws-tool .ws-note-row .ws-note-label { color: #94a3b8; }\n      #ws-tool .ws-note-row .ws-note-value { color: #e2e8f0; }\n      #ws-tool .ws-formula { background: #0f172a; color: #cbd5e1; border-left-color: #475569; }\n      #ws-tool .ws-tip { background: #422006; color: #fde68a; border-left-color: #f59e0b; }\n      #ws-tool .ws-tip.ws-tip-good { background: #064e3b; color: #6ee7b7; border-left-color: #10b981; }\n      #ws-tool .ws-tip.ws-tip-bad { background: #450a0a; color: #fca5a5; border-left-color: #dc2626; }\n      #ws-tool .ws-disclaimer { background: #0f172a; color: #94a3b8; border-left-color: #475569; }\n      #ws-tool .ws-collapsible th { background: #1e293b; color: #cbd5e1; }\n      #ws-tool .ws-collapsible th, #ws-tool .ws-collapsible td { border-bottom-color: #334155; }\n      #ws-tool .ws-collapsible .ws-source { color: #94a3b8; }\n    }\n    @media (max-width: 700px) {\n      #ws-tool { margin: 12px auto; }\n      #ws-tool .ws-card { padding: 16px; }\n      #ws-tool .ws-grid { grid-template-columns: 1fr; gap: 16px; }\n      #ws-tool .ws-row, #ws-tool .ws-row3 { grid-template-columns: 1fr; }\n      #ws-tool .ws-result-grid { grid-template-columns: 1fr; }\n      #ws-tool .ws-result-cell-value { font-size: 18px; }\n    }\n  \u003c/style\u003e\n\n  \u003cdiv class=\"ws-card\"\u003e\n    \n    \u003cdiv class=\"ws-preset-group\"\u003e\n      \u003cdiv class=\"ws-preset-group-label\"\u003e⚡ Quick Presets — One-Click Sizing\u003c/div\u003e\n      \u003cdiv class=\"ws-presets\"\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"ev40\"\u003eEV Charger 40A (continuous)\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"ev48\"\u003eEV Charger 48A (continuous)\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"ev50\"\u003eEV Charger 50A (continuous)\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"sub50\"\u003e50A Subpanel\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"sub100\"\u003e100A Subpanel\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"svc200\"\u003e200A Service\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"dryer\"\u003e30A Dryer\u003c/span\u003e\n        \u003cspan class=\"ws-preset\" data-preset=\"range\"\u003e40A Range\u003c/span\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n\n    \u003cdiv class=\"ws-grid\"\u003e\n      \n      \u003cdiv\u003e\n        \u003cdiv class=\"ws-row\"\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-amps\"\u003eLoad Amps \u003cspan class=\"ws-unit\"\u003e(A)\u003c/span\u003e\u003c/label\u003e\n            \u003cinput type=\"number\" id=\"ws-amps\" value=\"40\" min=\"0.1\" max=\"2000\" step=\"0.1\"\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-volts\"\u003eSystem Voltage \u003cspan class=\"ws-unit\"\u003e(V)\u003c/span\u003e\u003c/label\u003e\n            \u003cselect id=\"ws-volts\"\u003e\n              \u003coption value=\"120\"\u003e120 V\u003c/option\u003e\n              \u003coption value=\"208\"\u003e208 V\u003c/option\u003e\n              \u003coption value=\"220\"\u003e220 V\u003c/option\u003e\n              \u003coption value=\"240\" selected\u003e240 V\u003c/option\u003e\n              \u003coption value=\"277\"\u003e277 V\u003c/option\u003e\n              \u003coption value=\"347\"\u003e347 V\u003c/option\u003e\n              \u003coption value=\"480\"\u003e480 V\u003c/option\u003e\n              \u003coption value=\"600\"\u003e600 V\u003c/option\u003e\n            \u003c/select\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-input-group\"\u003e\n          \u003clabel\u003ePhase\u003c/label\u003e\n          \u003cdiv class=\"ws-toggle\"\u003e\n            \u003cbutton type=\"button\" class=\"ws-toggle-btn active\" data-phase=\"1\"\u003e1Φ Single-Phase\u003c/button\u003e\n            \u003cbutton type=\"button\" class=\"ws-toggle-btn\" data-phase=\"3\"\u003e3Φ Three-Phase\u003c/button\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-row\"\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-length\"\u003eOne-Way Length \u003cspan class=\"ws-unit\"\u003e(ft)\u003c/span\u003e\u003c/label\u003e\n            \u003cinput type=\"number\" id=\"ws-length\" value=\"50\" min=\"1\" max=\"2000\" step=\"1\"\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-material\"\u003eWire Material\u003c/label\u003e\n            \u003cdiv class=\"ws-toggle\"\u003e\n              \u003cbutton type=\"button\" class=\"ws-toggle-btn active\" data-mat=\"copper\"\u003eCopper (Cu)\u003c/button\u003e\n              \u003cbutton type=\"button\" class=\"ws-toggle-btn\" data-mat=\"aluminum\"\u003eAluminum (Al)\u003c/button\u003e\n            \u003c/div\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-row\"\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-temp\"\u003eAmbient Temp \u003cspan class=\"ws-unit\"\u003e(°C)\u003c/span\u003e\u003c/label\u003e\n            \u003cinput type=\"number\" id=\"ws-temp\" value=\"30\" min=\"10\" max=\"55\" step=\"1\"\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-input-group\"\u003e\n            \u003clabel for=\"ws-conductors\"\u003eCurrent-Carrying Conductors\u003c/label\u003e\n            \u003cselect id=\"ws-conductors\"\u003e\n              \u003coption value=\"1\"\u003e1\u003c/option\u003e\n              \u003coption value=\"2-3\" selected\u003e2-3\u003c/option\u003e\n              \u003coption value=\"4-6\"\u003e4-6\u003c/option\u003e\n              \u003coption value=\"7-9\"\u003e7-9\u003c/option\u003e\n              \u003coption value=\"10-20\"\u003e10-20\u003c/option\u003e\n              \u003coption value=\"21-30\"\u003e21-30\u003c/option\u003e\n              \u003coption value=\"31-40\"\u003e31-40\u003c/option\u003e\n            \u003c/select\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-input-group\"\u003e\n          \u003clabel class=\"ws-checkbox\"\u003e\n            \u003cinput type=\"checkbox\" id=\"ws-continuous\"\u003e\n            \u003cspan\u003eContinuous load \u003cspan style=\"color:#6b7280;font-weight:400;\"\u003e(NEC 210.20(A) — 125% rule)\u003c/span\u003e\u003c/span\u003e\n          \u003c/label\u003e\n          \u003cdiv class=\"ws-help\"\u003eRequired for EV chargers, solar PV inverters, and any load expected to run \u0026gt; 3 hours.\u003c/div\u003e\n        \u003c/div\u003e\n      \u003c/div\u003e\n\n      \n      \u003cdiv class=\"ws-result\" id=\"ws-result\"\u003e\n        \u003cdiv id=\"ws-badge-container\"\u003e\u003c/div\u003e\n        \u003cdiv class=\"ws-result-grid\"\u003e\n          \u003cdiv class=\"ws-result-cell\"\u003e\n            \u003cdiv class=\"ws-result-cell-label\"\u003eConductor\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-value\" id=\"ws-awg\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-unit\" id=\"ws-awg-unit\"\u003e—\u003c/div\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-result-cell ws-cell-ocpd\"\u003e\n            \u003cdiv class=\"ws-result-cell-label\"\u003eBreaker (OCPD)\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-value\" id=\"ws-ocpd\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-unit\"\u003eamperes\u003c/div\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-result-cell ws-cell-vdrop\"\u003e\n            \u003cdiv class=\"ws-result-cell-label\"\u003eVoltage Drop\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-value\" id=\"ws-vdrop\"\u003e—\u003c/div\u003e\n            \u003cdiv class=\"ws-result-cell-unit\" id=\"ws-vdrop-status\"\u003e—\u003c/div\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-notes\" id=\"ws-notes\"\u003e\n          \u003ch4\u003eCalculation Details\u003c/h4\u003e\n          \u003cdiv class=\"ws-note-row\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eDesign amps (NEC 125% if continuous)\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\" id=\"ws-design\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-note-row\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eBase ampacity (NEC 310.16, 75°C)\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\" id=\"ws-base\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-note-row\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eTemperature correction (310.15(B)(1))\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\" id=\"ws-tfactor\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-note-row\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eConduit-fill derating (310.15(C)(1))\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\" id=\"ws-cfactor\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-note-row\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eFinal corrected ampacity\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\" id=\"ws-final\"\u003e—\u003c/span\u003e\n          \u003c/div\u003e\n          \u003cdiv class=\"ws-note-row\" id=\"ws-roundup-row\" style=\"display:none;\"\u003e\n            \u003cspan class=\"ws-note-label\"\u003eNEC 240.4(B) round-up applied\u003c/span\u003e\n            \u003cspan class=\"ws-note-value\"\u003eYes — bumped to match OCPD\u003c/span\u003e\n          \u003c/div\u003e\n        \u003c/div\u003e\n\n        \u003cdiv class=\"ws-formula\" id=\"ws-formula\"\u003eEnter load values to see the formula.\u003c/div\u003e\n\n        \u003cdiv class=\"ws-tip\" id=\"ws-tip\" style=\"display:none;\"\u003e\u003c/div\u003e\n\n        \u003cdetails class=\"ws-collapsible\"\u003e\n          \u003csummary\u003e📊 NEC 310.16 Reference Table — 75°C Column (click to expand)\u003c/summary\u003e\n          \u003ctable\u003e\n            \u003cthead\u003e\n              \u003ctr\u003e\u003cth\u003eAWG / kcmil\u003c/th\u003e\u003cth class=\"num\"\u003eCopper (A)\u003c/th\u003e\u003cth class=\"num\"\u003eAluminum (A)\u003c/th\u003e\u003cth class=\"num\"\u003eΩ/1000 ft (Cu)\u003c/th\u003e\u003c/tr\u003e\n            \u003c/thead\u003e\n            \u003ctbody\u003e\n              \u003ctr\u003e\u003ctd\u003e14 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e20\u003c/td\u003e\u003ctd class=\"num\"\u003e—\u003c/td\u003e\u003ctd class=\"num\"\u003e3.14\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e12 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e25\u003c/td\u003e\u003ctd class=\"num\"\u003e—\u003c/td\u003e\u003ctd class=\"num\"\u003e1.98\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e10 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e35\u003c/td\u003e\u003ctd class=\"num\"\u003e—\u003c/td\u003e\u003ctd class=\"num\"\u003e1.24\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e8 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e50\u003c/td\u003e\u003ctd class=\"num\"\u003e40\u003c/td\u003e\u003ctd class=\"num\"\u003e0.778\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e6 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e65\u003c/td\u003e\u003ctd class=\"num\"\u003e50\u003c/td\u003e\u003ctd class=\"num\"\u003e0.491\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e4 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e85\u003c/td\u003e\u003ctd class=\"num\"\u003e65\u003c/td\u003e\u003ctd class=\"num\"\u003e0.308\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e3 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e100\u003c/td\u003e\u003ctd class=\"num\"\u003e75\u003c/td\u003e\u003ctd class=\"num\"\u003e0.245\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e2 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e115\u003c/td\u003e\u003ctd class=\"num\"\u003e90\u003c/td\u003e\u003ctd class=\"num\"\u003e0.194\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e1 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e130\u003c/td\u003e\u003ctd class=\"num\"\u003e100\u003c/td\u003e\u003ctd class=\"num\"\u003e0.154\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e1/0 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e150\u003c/td\u003e\u003ctd class=\"num\"\u003e120\u003c/td\u003e\u003ctd class=\"num\"\u003e0.122\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e2/0 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e175\u003c/td\u003e\u003ctd class=\"num\"\u003e135\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0967\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e3/0 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e200\u003c/td\u003e\u003ctd class=\"num\"\u003e155\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0766\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e4/0 AWG\u003c/td\u003e\u003ctd class=\"num\"\u003e230\u003c/td\u003e\u003ctd class=\"num\"\u003e180\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0608\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e250 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e255\u003c/td\u003e\u003ctd class=\"num\"\u003e205\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0515\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e300 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e285\u003c/td\u003e\u003ctd class=\"num\"\u003e230\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0429\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e350 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e310\u003c/td\u003e\u003ctd class=\"num\"\u003e250\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0367\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e400 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e335\u003c/td\u003e\u003ctd class=\"num\"\u003e270\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0321\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e500 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e380\u003c/td\u003e\u003ctd class=\"num\"\u003e310\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0258\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e600 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e420\u003c/td\u003e\u003ctd class=\"num\"\u003e340\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0214\u003c/td\u003e\u003c/tr\u003e\n              \u003ctr\u003e\u003ctd\u003e750 kcmil\u003c/td\u003e\u003ctd class=\"num\"\u003e475\u003c/td\u003e\u003ctd class=\"num\"\u003e385\u003c/td\u003e\u003ctd class=\"num\"\u003e0.0171\u003c/td\u003e\u003c/tr\u003e\n            \u003c/tbody\u003e\n          \u003c/table\u003e\n          \u003cdiv class=\"ws-source\"\u003eSource: NFPA 70 — National Electrical Code 2023, Table 310.16 (75°C column, the inspector-favored terminal rating per NEC 110.14(C) for circuits rated 100 A or less).\u003c/div\u003e\n        \u003c/details\u003e\n\n        \u003cdiv class=\"ws-disclaimer\"\u003e\n          ⚠️ \u003cstrong\u003eReference only.\u003c/strong\u003e Calculations are NEC-aware but final conductor sizing must be verified by a licensed electrician and approved by your local Authority Having Jurisdiction (AHJ). Always follow the latest edition of NFPA 70 — National Electrical Code.\n        \u003c/div\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n  \u003c/div\u003e\n\n  \u003cscript\u003e\n  (function(){\n    'use strict';\n\n    \n    \n    \n\n    \n    \n    \n    var NEC_CU = [\n      { awg: '14 AWG',    cu_a: 20,  cu_ohm: 3.14 },\n      { awg: '12 AWG',    cu_a: 25,  cu_ohm: 1.98 },\n      { awg: '10 AWG',    cu_a: 35,  cu_ohm: 1.24 },\n      { awg: '8 AWG',     cu_a: 50,  cu_ohm: 0.778 },\n      { awg: '6 AWG',     cu_a: 65,  cu_ohm: 0.491 },\n      { awg: '4 AWG',     cu_a: 85,  cu_ohm: 0.308 },\n      { awg: '3 AWG',     cu_a: 100, cu_ohm: 0.245 },\n      { awg: '2 AWG',     cu_a: 115, cu_ohm: 0.194 },\n      { awg: '1 AWG',     cu_a: 130, cu_ohm: 0.154 },\n      { awg: '1/0 AWG',   cu_a: 150, cu_ohm: 0.122 },\n      { awg: '2/0 AWG',   cu_a: 175, cu_ohm: 0.0967 },\n      { awg: '3/0 AWG',   cu_a: 200, cu_ohm: 0.0766 },\n      { awg: '4/0 AWG',   cu_a: 230, cu_ohm: 0.0608 },\n      { awg: '250 kcmil', cu_a: 255, cu_ohm: 0.0515 },\n      { awg: '300 kcmil', cu_a: 285, cu_ohm: 0.0429 },\n      { awg: '350 kcmil', cu_a: 310, cu_ohm: 0.0367 },\n      { awg: '400 kcmil', cu_a: 335, cu_ohm: 0.0321 },\n      { awg: '500 kcmil', cu_a: 380, cu_ohm: 0.0258 },\n      { awg: '600 kcmil', cu_a: 420, cu_ohm: 0.0214 },\n      { awg: '750 kcmil', cu_a: 475, cu_ohm: 0.0171 }\n    ];\n\n    var NEC_AL = [\n      { awg: '8 AWG',     al_a: 40,  al_ohm: 1.26 },\n      { awg: '6 AWG',     al_a: 50,  al_ohm: 0.808 },\n      { awg: '4 AWG',     al_a: 65,  al_ohm: 0.508 },\n      { awg: '3 AWG',     al_a: 75,  al_ohm: 0.403 },\n      { awg: '2 AWG',     al_a: 90,  al_ohm: 0.319 },\n      { awg: '1 AWG',     al_a: 100, al_ohm: 0.253 },\n      { awg: '1/0 AWG',   al_a: 120, al_ohm: 0.201 },\n      { awg: '2/0 AWG',   al_a: 135, al_ohm: 0.159 },\n      { awg: '3/0 AWG',   al_a: 155, al_ohm: 0.126 },\n      { awg: '4/0 AWG',   al_a: 180, al_ohm: 0.100 },\n      { awg: '250 kcmil', al_a: 205, al_ohm: 0.0847 },\n      { awg: '300 kcmil', al_a: 230, al_ohm: 0.0707 },\n      { awg: '350 kcmil', al_a: 250, al_ohm: 0.0605 },\n      { awg: '400 kcmil', al_a: 270, al_ohm: 0.0529 },\n      { awg: '500 kcmil', al_a: 310, al_ohm: 0.0424 },\n      { awg: '600 kcmil', al_a: 340, al_ohm: 0.0353 },\n      { awg: '750 kcmil', al_a: 385, al_ohm: 0.0282 }\n    ];\n\n    \n    \n    \n    \n    var TEMP_75C = {\n      10: 1.12, 11: 1.12, 12: 1.12, 13: 1.12, 14: 1.12, 15: 1.12,\n      16: 1.08, 17: 1.08, 18: 1.08, 19: 1.08, 20: 1.08,\n      21: 1.05, 22: 1.05, 23: 1.05, 24: 1.05, 25: 1.05,\n      26: 1.04, 27: 1.04, 28: 1.04, 29: 1.04, 30: 1.00, 31: 1.00, 32: 1.00, 33: 1.00, 34: 1.00, 35: 1.00,\n      36: 0.96, 37: 0.96, 38: 0.96, 39: 0.96, 40: 0.96,\n      41: 0.91, 42: 0.91, 43: 0.91, 44: 0.91, 45: 0.91,\n      46: 0.87, 47: 0.87, 48: 0.87, 49: 0.87, 50: 0.87,\n      51: 0.82, 52: 0.82, 53: 0.82, 54: 0.82, 55: 0.82\n    };\n\n    \n    \n    \n    var CONDUIT = {\n      '1':     1.00,\n      '2-3':   1.00,\n      '4-6':   0.80,\n      '7-9':   0.70,\n      '10-20': 0.50,\n      '21-30': 0.45,\n      '31-40': 0.40\n    };\n\n    \n    var STD_OCPD = [15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 110, 125, 150, 175, 200, 225, 250, 300, 350, 400, 450, 500, 600, 700, 800];\n\n    \n    \n    \n    var PRESETS = {\n      ev40:   { amps: 40, volts: 240, phase: 1, length: 50, material: 'copper', temp: 30, conductors: '2-3', continuous: true,  label: 'EV L2 40A' },\n      ev48:   { amps: 48, volts: 240, phase: 1, length: 50, material: 'copper', temp: 30, conductors: '2-3', continuous: true,  label: 'EV L2 48A' },\n      ev50:   { amps: 50, volts: 240, phase: 1, length: 50, material: 'copper', temp: 30, conductors: '2-3', continuous: true,  label: 'EV L2 50A' },\n      sub50:  { amps: 50, volts: 240, phase: 1, length: 75, material: 'copper', temp: 30, conductors: '2-3', continuous: false, label: '50A Subpanel' },\n      sub100: { amps: 100, volts: 240, phase: 1, length: 100, material: 'copper', temp: 30, conductors: '2-3', continuous: false, label: '100A Subpanel' },\n      svc200: { amps: 200, volts: 240, phase: 1, length: 75, material: 'copper', temp: 30, conductors: '2-3', continuous: false, label: '200A Service' },\n      dryer:  { amps: 24, volts: 240, phase: 1, length: 35, material: 'copper', temp: 30, conductors: '2-3', continuous: false, label: '30A Dryer' },\n      range:  { amps: 33, volts: 240, phase: 1, length: 35, material: 'copper', temp: 30, conductors: '2-3', continuous: false, label: '40A Range' }\n    };\n\n    \n    \n    \n\n    \n    \n    function applyContinuous(amps, isCont) {\n      return isCont ? amps * 1.25 : amps;\n    }\n\n    \n    function findStandardOCPD(target) {\n      for (var i = 0; i \u003c STD_OCPD.length; i++) {\n        if (STD_OCPD[i] \u003e= target) return STD_OCPD[i];\n      }\n      return STD_OCPD[STD_OCPD.length - 1]; \n    }\n\n    \n    function findBaseAWG(table, ampKey, designAmps) {\n      for (var i = 0; i \u003c table.length; i++) {\n        if (table[i][ampKey] \u003e= designAmps) return i;\n      }\n      return -1; \n    }\n\n    \n    function getTempFactor(tempC) {\n      var t = Math.round(tempC);\n      if (t \u003c 10) return 1.12; \n      if (t \u003e 55) return 0.76; \n      return TEMP_75C[t] || 1.00;\n    }\n\n    \n    function getConduitFactor(conductors) {\n      return CONDUIT[conductors] || 1.00;\n    }\n\n    \n    \n    \n    function calcVoltageDrop(amps, voltage, phase, lengthFt, ohmPer1000Ft) {\n      if (phase === 1) {\n        return (2 * amps * ohmPer1000Ft * lengthFt) / (1000 * voltage) * 100;\n      } else {\n        return (Math.sqrt(3) * amps * ohmPer1000Ft * lengthFt) / (1000 * voltage) * 100;\n      }\n    }\n\n    \n    \n    \n\n    function calculate(inputs) {\n      var amps = inputs.amps;\n      var voltage = inputs.volts;\n      var phase = inputs.phase;\n      var length = inputs.length;\n      var material = inputs.material;\n      var tempC = inputs.temp;\n      var conductors = inputs.conductors;\n      var isCont = inputs.continuous;\n\n      \n      var designAmps = applyContinuous(amps, isCont);\n\n      \n      var table = (material === 'copper') ? NEC_CU : NEC_AL;\n      var aKey = (material === 'copper') ? 'cu_a' : 'al_a';\n      var rKey = (material === 'copper') ? 'cu_ohm' : 'al_ohm';\n\n      \n      var idx = findBaseAWG(table, aKey, designAmps);\n      if (idx === -1) {\n        return {\n          error: 'Required ampacity (' + designAmps.toFixed(1) + ' A) exceeds 750 kcmil capacity. Consider parallel conductors (NEC 310.10(H)).',\n          designAmps: designAmps\n        };\n      }\n\n      \n      var tFactor = getTempFactor(tempC);\n      var cFactor = getConduitFactor(conductors);\n\n      \n      var ocpd = findStandardOCPD(designAmps);\n      var baseAmpacity = table[idx][aKey];\n      var finalAmpacity = baseAmpacity * tFactor * cFactor;\n\n      \n      \n      var compare = isCont\n        ? function(a, b) { return a \u003e b; }\n        : function(a, b) { return a \u003e= b; };\n\n      var roundUpApplied = false;\n      var roundUpStartIdx = idx;\n      while (!compare(finalAmpacity, ocpd) \u0026\u0026 idx \u003c table.length - 1) {\n        idx++;\n        baseAmpacity = table[idx][aKey];\n        finalAmpacity = baseAmpacity * tFactor * cFactor;\n        roundUpApplied = true;\n      }\n\n      \n      if (!compare(finalAmpacity, ocpd)) {\n        return {\n          error: 'Cannot meet OCPD requirement within 750 kcmil — try parallel conductors or larger OCPD class.',\n          designAmps: designAmps,\n          ocpd: ocpd\n        };\n      }\n\n      var row = table[idx];\n      var resistance = row[rKey];\n\n      \n      var vdropPct = calcVoltageDrop(amps, voltage, phase, length, resistance);\n\n      \n      var vdropStatus;\n      if (vdropPct \u003c= 3) {\n        vdropStatus = 'GREEN';\n      } else if (vdropPct \u003c= 5) {\n        vdropStatus = 'YELLOW';\n      } else {\n        vdropStatus = 'RED';\n      }\n\n      return {\n        awg: row.awg,\n        baseAmpacity: baseAmpacity,\n        correctedAmpacity: finalAmpacity,\n        ocpd: ocpd,\n        vdropPct: vdropPct,\n        vdropStatus: vdropStatus,\n        tFactor: tFactor,\n        cFactor: cFactor,\n        designAmps: designAmps,\n        isCont: isCont,\n        roundUpApplied: roundUpApplied,\n        resistance: resistance,\n        phase: phase,\n        voltage: voltage,\n        length: length,\n        amps: amps,\n        material: material\n      };\n    }\n\n    \n    \n    \n\n    function fmt(n, d) {\n      d = (d === undefined) ? 2 : d;\n      if (!isFinite(n) || isNaN(n)) return '--';\n      return n.toFixed(d);\n    }\n\n    function setText(id, txt) {\n      var el = document.getElementById(id);\n      if (el) el.textContent = txt;\n    }\n\n    function setBadge(state, label) {\n      var container = document.getElementById('ws-badge-container');\n      if (!container) return;\n      var cls = 'ws-badge ws-badge-' + state.toLowerCase();\n      container.innerHTML = '\u003cspan class=\"' + cls + '\"\u003e' + label + '\u003c/span\u003e';\n    }\n\n    function renderResult(r) {\n      if (r.error) {\n        setBadge('red', '⚠ ' + r.error);\n        setText('ws-awg', '—');\n        setText('ws-awg-unit', '—');\n        setText('ws-ocpd', '—');\n        setText('ws-vdrop', '—');\n        setText('ws-vdrop-status', '—');\n        setText('ws-design', '—');\n        setText('ws-base', '—');\n        setText('ws-tfactor', '—');\n        setText('ws-cfactor', '—');\n        setText('ws-final', '—');\n        document.getElementById('ws-roundup-row').style.display = 'none';\n        setText('ws-formula', 'Error: ' + r.error);\n        document.getElementById('ws-tip').style.display = 'none';\n        return;\n      }\n\n      \n      var badgeText, badgeState;\n      if (r.vdropStatus === 'GREEN') {\n        badgeState = 'green';\n        badgeText = '🟢 NEC-Compliant — within 3% branch limit';\n      } else if (r.vdropStatus === 'YELLOW') {\n        badgeState = 'yellow';\n        badgeText = '🟡 Marginal — exceeds 3% branch but within 5% feeder+branch';\n      } else {\n        badgeState = 'red';\n        badgeText = '🔴 V-Drop too high — exceeds 5% combined limit';\n      }\n      setBadge(badgeState, badgeText);\n\n      \n      setText('ws-awg', r.awg.replace(' AWG', '').replace(' kcmil', ''));\n      setText('ws-awg-unit', r.awg.indexOf('kcmil') \u003e= 0 ? 'kcmil (Cu)' : 'AWG ' + (r.material === 'aluminum' ? 'Al' : 'Cu'));\n      setText('ws-ocpd', r.ocpd);\n      setText('ws-vdrop', fmt(r.vdropPct, 2) + '%');\n\n      var vdropStatusText;\n      if (r.vdropPct \u003c= 3) vdropStatusText = '✓ within 3% NEC limit';\n      else if (r.vdropPct \u003c= 5) vdropStatusText = '⚠ within 5%, over 3%';\n      else vdropStatusText = '✗ exceeds 5% limit';\n      setText('ws-vdrop-status', vdropStatusText);\n\n      \n      setText('ws-design', fmt(r.designAmps, 1) + ' A' + (r.isCont ? ' (×1.25)' : ''));\n      setText('ws-base', fmt(r.baseAmpacity, 0) + ' A');\n      setText('ws-tfactor', fmt(r.tFactor, 2) + (r.tempC !== 30 ? ' (at ' + r.tempC + '°C)' : ' (reference 30°C)'));\n      setText('ws-cfactor', fmt(r.cFactor, 2) + (r.cFactor \u003c 1.0 ? ' (' + (r.conductors || '2-3') + ' conductors)' : ' (baseline ≤3 conductors)'));\n      setText('ws-final', fmt(r.correctedAmpacity, 1) + ' A');\n      document.getElementById('ws-roundup-row').style.display = r.roundUpApplied ? 'flex' : 'none';\n\n      \n      var formula;\n      if (r.phase === 1) {\n        formula = 'V-drop = (2 × I × R × L) / (1000 × V) × 100' +\n                  ' = (2 × ' + r.amps + ' × ' + r.resistance + ' × ' + r.length + ') / (1000 × ' + r.voltage + ') × 100' +\n                  ' = ' + fmt(r.vdropPct, 2) + '%';\n      } else {\n        formula = 'V-drop = (√3 × I × R × L) / (1000 × V) × 100' +\n                  ' = (1.732 × ' + r.amps + ' × ' + r.resistance + ' × ' + r.length + ') / (1000 × ' + r.voltage + ') × 100' +\n                  ' = ' + fmt(r.vdropPct, 2) + '%';\n      }\n      setText('ws-formula', formula);\n\n      \n      var tipEl = document.getElementById('ws-tip');\n      var tipText = '';\n      var tipClass = 'ws-tip';\n      if (r.vdropStatus === 'RED') {\n        tipText = '⚠️ \u003cstrong\u003eVoltage drop exceeds NEC 5% combined limit.\u003c/strong\u003e Upsize one or two AWG sizes, shorten the run, or increase the system voltage (e.g. 240 → 480 V).';\n        tipClass += ' ws-tip-bad';\n      } else if (r.vdropStatus === 'YELLOW') {\n        tipText = '💡 \u003cstrong\u003eVoltage drop is within 5% but exceeds the 3% branch-circuit recommendation.\u003c/strong\u003e For motor loads or sensitive electronics, consider upsizing one AWG. Verify with your AHJ.';\n      } else if (r.isCont) {\n        tipText = '✓ \u003cstrong\u003eContinuous load compliant.\u003c/strong\u003e NEC 210.20(A) 125% rule applied — conductor ampacity exceeds the OCPD rating per the strict-greater-than requirement for continuous loads.';\n        tipClass += ' ws-tip-good';\n      } else if (r.roundUpApplied) {\n        tipText = '✓ \u003cstrong\u003eNEC 240.4(B) round-up applied.\u003c/strong\u003e Conductor sized one step larger to match the next standard OCPD rating per the round-up rule.';\n        tipClass += ' ws-tip-good';\n      } else {\n        tipText = '✓ \u003cstrong\u003eFully NEC-compliant.\u003c/strong\u003e Conductor ampacity ≥ OCPD, voltage drop within the 3% branch limit.';\n        tipClass += ' ws-tip-good';\n      }\n      tipEl.className = tipClass;\n      tipEl.innerHTML = tipText;\n      tipEl.style.display = 'block';\n    }\n\n    \n    \n    \n\n    function readInputs() {\n      return {\n        amps: parseFloat(document.getElementById('ws-amps').value),\n        volts: parseFloat(document.getElementById('ws-volts').value),\n        phase: parseInt(document.querySelector('#ws-tool [data-phase].active').dataset.phase),\n        length: parseFloat(document.getElementById('ws-length').value),\n        material: document.querySelector('#ws-tool [data-mat].active').dataset.mat,\n        temp: parseFloat(document.getElementById('ws-temp').value),\n        conductors: document.getElementById('ws-conductors').value,\n        continuous: document.getElementById('ws-continuous').checked,\n        tempC: parseFloat(document.getElementById('ws-temp').value)\n      };\n    }\n\n    function clearPresetHighlight() {\n      document.querySelectorAll('#ws-tool .ws-preset').forEach(function(p) {\n        p.classList.remove('active');\n      });\n    }\n\n    function applyPreset(presetId) {\n      var p = PRESETS[presetId];\n      if (!p) return;\n      document.getElementById('ws-amps').value = p.amps;\n      document.getElementById('ws-volts').value = p.volts;\n      \n      document.querySelectorAll('#ws-tool [data-phase]').forEach(function(b) {\n        b.classList.toggle('active', parseInt(b.dataset.phase) === p.phase);\n      });\n      document.getElementById('ws-length').value = p.length;\n      \n      document.querySelectorAll('#ws-tool [data-mat]').forEach(function(b) {\n        b.classList.toggle('active', b.dataset.mat === p.material);\n      });\n      document.getElementById('ws-temp').value = p.temp;\n      document.getElementById('ws-conductors').value = p.conductors;\n      document.getElementById('ws-continuous').checked = p.continuous;\n\n      \n      document.querySelectorAll('#ws-tool .ws-preset').forEach(function(el) {\n        el.classList.toggle('active', el.dataset.preset === presetId);\n      });\n\n      calc();\n    }\n\n    function calc() {\n      var inputs = readInputs();\n      \n      if (!inputs.amps || inputs.amps \u003c= 0 || !inputs.volts || !inputs.length || inputs.length \u003c= 0) {\n        return;\n      }\n      var result = calculate(inputs);\n      renderResult(result);\n    }\n\n    \n    \n    \n\n    \n    ['ws-amps', 'ws-volts', 'ws-length', 'ws-temp', 'ws-conductors', 'ws-continuous'].forEach(function(id) {\n      var el = document.getElementById(id);\n      if (!el) return;\n      var handler = function() {\n        clearPresetHighlight();\n        calc();\n      };\n      el.addEventListener('input', handler);\n      el.addEventListener('change', handler);\n    });\n\n    \n    document.querySelectorAll('#ws-tool [data-phase]').forEach(function(btn) {\n      btn.addEventListener('click', function() {\n        document.querySelectorAll('#ws-tool [data-phase]').forEach(function(b) {\n          b.classList.remove('active');\n        });\n        btn.classList.add('active');\n        clearPresetHighlight();\n        calc();\n      });\n    });\n\n    \n    document.querySelectorAll('#ws-tool [data-mat]').forEach(function(btn) {\n      btn.addEventListener('click', function() {\n        document.querySelectorAll('#ws-tool [data-mat]').forEach(function(b) {\n          b.classList.remove('active');\n        });\n        btn.classList.add('active');\n        clearPresetHighlight();\n        calc();\n      });\n    });\n\n    \n    document.querySelectorAll('#ws-tool .ws-preset').forEach(function(el) {\n      el.addEventListener('click', function() {\n        applyPreset(this.dataset.preset);\n      });\n    });\n\n    \n    calc();\n  })();\n  \u003c/script\u003e\n\u003c/div\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eTL;DR — What this calculator returns.\u003c/strong\u003e Enter load amps (or use a\npreset), system voltage, one-way run length, wire material\n(copper / aluminum), ambient temperature, and number of\ncurrent-carrying conductors. The tool returns the smallest\n\u003cstrong\u003eNEC Table 310.16 (75 °C column)\u003c/strong\u003e compliant AWG or kcmil, the\ncorrected ampacity after \u003cstrong\u003eNEC 310.15(B)(1)\u003c/strong\u003e temperature and\n\u003cstrong\u003eNEC 310.15(C)(1)\u003c/strong\u003e conduit-fill adjustment, the recommended\nbreaker (\u003cstrong\u003eNEC 240.6(A)\u003c/strong\u003e standard OCPD), and the voltage-drop %\nagainst the \u003cstrong\u003eNEC 3 % branch / 5 % combined\u003c/strong\u003e limits.\u003c/p\u003e","title":"Wire Size Calculator — NEC AWG \u0026 kcmil Sizing"}]