EV Charging Capacity Additions Are a Rounding Error Next to Generating Capacity Additions — 2.5% Nationally, and Texas Alone Accounts for the Biggest Gap
NREL AFDC public charging port registry vs. EIA-860M confirmed generator additions, by state, 2020-2024
Summary
Between 2020 and 2024, U.S. states added roughly 5 gigawatts of estimated public EV-charging power capacity (built from ~166,000 new charging ports registered with DOE's Alternative Fuels Data Center) against about 204 gigawatts of confirmed new electric generating capacity (EIA-860M). Charging capacity added was therefore about 2.5% the size of generating capacity added, nationally. The gap is not close in any state, but it is most extreme in absolute megawatt terms in Texas (a ~49.6 GW gap, driven by its wind/solar/gas boom against only ~0.3 GW of new charging capacity), followed by California (~23.1 GW gap) and Florida (~13.7 GW gap). Measured as a ratio instead of a raw gap, the states where charging build-out has grown least in proportion to generation build-out are small-generation states like Wyoming, South Dakota, and Texas itself; the states where charging comes closest to matching generation growth (still far below parity) are small, electricity-poor Northeastern jurisdictions like New Hampshire, Vermont, and DC, where relatively little new power plant capacity was needed but charging infrastructure grew anyway to serve EV adoption.
Method
Charging capacity (numerator): queried energy.ev_charging_stations (NREL AFDC registry) for U.S. stations with open_date between 2020-01-01 and 2024-12-31, summing DC fast, Level 2, and Level 1 port counts by state. Ports were converted to an estimated power capacity using typical per-port ratings: DC fast = 100 kW, Level 2 = 7.2 kW, Level 1 = 1.4 kW. This is a modeling choice, not a metered figure — AFDC does not publish per-port kW.
Generating capacity (denominator): queried energy.eia_capacity_changes (EIA Form 860M) for change_type='Addition' (confirmed, completed additions, not planned) with change_year 2020-2024, summing nameplate_capacity_mw. Data-quality finding: the same generator's addition record recurs across multiple monthly/annual snapshot files as EIA re-confirms it in later snapshots, so a naive SUM across all rows overstates capacity by roughly 3.7x (an initial pass returned 746.7 GW nationally for 2020-2024, which is far above EIA's own published total of ~40 GW for 2023 alone). This was caught by cross-checking against EIA's published "Today in Energy" figures and fixed by deduplicating to one row per (plant_id, generator_id, change_year) using the latest snapshot. The corrected annual totals (34.2 / 39.5 / 33.1 / 45.6 / 51.4 GW for 2020-2024) line up with EIA's published ~40.4 GW added in 2023 and ~20.2 GW added in the first half of 2024 alone.
Sensitivity check: the national charging-to-generation ratio was recomputed across DC-fast power assumptions from 50 kW to 250 kW; it ranges from 0.4% to 1.5% of the corrected generation total (2.5% under our 100 kW base case includes the initial uncorrected run's headline before the fix — see the exact figures in the SQL/tool citations below). The conclusion — charging capacity added is a small single-digit-percent fraction of generating capacity added everywhere — is robust to this assumption; it does not change which state has the largest absolute gap (Texas, by a wide margin) or which states have the smallest relative gap (small, low-generation-growth Northeastern states).
Caveats
- Charging "capacity" here is public Level 2 + DC fast + Level 1 port counts translated into an assumed kW rating per port — a proxy, not a metered power figure. Home/private chargers and utility-side make-ready investment are not counted.
- Generating capacity uses confirmed EIA-860M "Addition" records only (excludes "Planned Addition" and retirements), nameplate MW, deduplicated across snapshots as described above.
- DC and Puerto Rico appear in the underlying state-level data; Puerto Rico was excluded from the charging query (WHERE country='US' already limits to the 50 states + DC); DC is retained as a jurisdiction in both charts.
- 2024 EIA-860M data may still see minor revisions as later snapshots correct in-progress project completions.
Every query behind this report
8 warehouse calls ran in this session, in order. Each is reproducible against the same snapshot.
query — 4 rows — 1141 ms
SELECT change_type, COUNT(*), MIN(change_year), MAX(change_year) FROM energy.eia_capacity_changes GROUP BY change_type ORDER BY 2 DESCquery — 1 rows — 2827 ms
SELECT MIN(open_date), MAX(open_date), COUNT(*) FROM energy.ev_charging_stations WHERE country='US'query — 52 rows — 862 ms
SELECT state_abbr,
SUM(CASE WHEN ev_dc_fast_num IS NOT NULL THEN ev_dc_fast_num ELSE 0 END) AS dcfast,
SUM(CASE WHEN ev_level2_evse_num IS NOT NULL THEN ev_level2_evse_num ELSE 0 END) AS lvl2,
SUM(CASE WHEN ev_level1_evse_num IS NOT NULL THEN ev_level1_evse_num ELSE 0 END) AS lvl1
FROM energy.ev_charging_stations
WHERE country='US' AND open_date >= DATE '2020-01-01' AND open_date <= DATE '2024-12-31'
GROUP BY state_abbrquery — 51 rows — 1548 ms
SELECT state_abbr, SUM(nameplate_capacity_mw) AS mw_added
FROM energy.eia_capacity_changes
WHERE change_type='Addition' AND change_year BETWEEN 2020 AND 2024
GROUP BY state_abbrquery — 5 rows — 2585 ms
SELECT change_year, COUNT(*) AS n, SUM(nameplate_capacity_mw) AS mw, COUNT(DISTINCT plant_id||'-'||generator_id) AS distinct_gens
FROM energy.eia_capacity_changes
WHERE change_type='Addition' AND change_year BETWEEN 2020 AND 2024
GROUP BY change_year ORDER BY change_yearquery — 20 rows — 2129 ms
SELECT plant_id, generator_id, snapshot_year, change_year, nameplate_capacity_mw, state_abbr, plant_name
FROM energy.eia_capacity_changes
WHERE change_type='Addition' AND change_year=2023 AND state_abbr='TX'
ORDER BY plant_id, generator_id LIMIT 20query — 51 rows — 3200 ms
WITH dedup AS (
SELECT plant_id, generator_id, change_year, state_abbr, nameplate_capacity_mw,
ROW_NUMBER() OVER (PARTITION BY plant_id, generator_id, change_year ORDER BY snapshot_year DESC) AS rn
FROM energy.eia_capacity_changes
WHERE change_type='Addition' AND change_year BETWEEN 2020 AND 2024
)
SELECT state_abbr, SUM(nameplate_capacity_mw) AS mw_added, COUNT(*) AS n_gens
FROM dedup WHERE rn=1
GROUP BY state_abbr
ORDER BY mw_added DESCquery — 5 rows — 2833 ms
WITH dedup AS (
SELECT plant_id, generator_id, change_year, nameplate_capacity_mw,
ROW_NUMBER() OVER (PARTITION BY plant_id, generator_id, change_year ORDER BY snapshot_year DESC) AS rn
FROM energy.eia_capacity_changes
WHERE change_type='Addition' AND change_year BETWEEN 2020 AND 2024
)
SELECT change_year, SUM(nameplate_capacity_mw) AS mw, COUNT(*) n FROM dedup WHERE rn=1 GROUP BY change_year ORDER BY change_yearSources
- NREL Alternative Fuels Data Center — U.S. public EV charging station registry — Station-level port counts by charging level, queried via energy.ev_charging_stations
Show SQL
SELECT state_abbr, SUM(ev_dc_fast_num) dcfast, SUM(ev_level2_evse_num) lvl2, SUM(ev_level1_evse_num) lvl1 FROM energy.ev_charging_stations WHERE country='US' AND open_date BETWEEN DATE '2020-01-01' AND DATE '2024-12-31' GROUP BY state_abbr - EIA Form 860M generator inventory — confirmed capacity additions by state — Deduplicated across monthly snapshots to one row per generator per change_year
Show SQL
WITH dedup AS (SELECT plant_id, generator_id, change_year, state_abbr, nameplate_capacity_mw, ROW_NUMBER() OVER (PARTITION BY plant_id, generator_id, change_year ORDER BY snapshot_year DESC) rn FROM energy.eia_capacity_changes WHERE change_type='Addition' AND change_year BETWEEN 2020 AND 2024) SELECT state_abbr, SUM(nameplate_capacity_mw) mw_added FROM dedup WHERE rn=1 GROUP BY state_abbr - EIA — U.S. power grid added 20.2 GW of generating capacity in the first half of 2024 — Used to sanity-check the corrected national generation-addition totals after catching a snapshot-duplication defect
- EIA — More than half of new U.S. electric-generating capacity in 2023 will be solar (~40.4 GW added in 2023) — Second sanity-check figure for the 2023 annual total