91³Ô¹ÏÍø

Watch CBS News

Power outages in Massachusetts leave more than 245,000 in the dark after blizzard

Power outages hit hundreds of thousands of customers across Massachusetts as the blizzard of 2026 swept through Monday.

According to the (MEMA), more than 245,000 homes and businesses had no electricity as of 12:30 p.m. Tuesday. The outages peaked at about 290,000. At one point, the agency's website crashed with the rise in demand for power outage information.

The hardest hit towns are in southeastern Massachusetts and on Cape Cod and the Islands.

Wind was a major issue with this storm. Peak wind gusts topped 70 miles per hour in some communities and reached 83 mph on Nantucket. The heavy, wet snow is also brought down trees and power lines across Massachusetts.

bourne.jpg
Power lines down on a street in Bourne, Massachusetts on Feb. 23, 2026 Bourne Police

Eversource power outages

Olessa Stepanova, a spokesperson for , said the damage reports started coming in around 3:30 a.m. Monday. They had more than 230,000 outages in eastern Massachusetts as of Tuesday afternoon.

"Our crews are doing the best that they can," she told WBZ-TV Monday. "Safety and access is going to dictate the pace of restoration. So, we're just asking customers to be patient and prepare for a long duration event."

Stepanova said they have hundreds of crews working across Massachusetts, some of them remotely restoring power.

"With a storm of this magnitude and these conditions where we're dealing with heavy, wet snow and wind and all these difficult driving conditions, we do ask customers to allow us anywhere from 72 to 120 hours to restore, so 3 to 5 days potentially, in some of those areas that are hardest to reach," Stepanova said.

Eversource said hard-hit communities "can expect to see an army of crews working around the clock over the next several days."

National Grid power outages

had more than 17,000 outages Tuesday afternoon. 

If you see a power line down, do not go near it. Call 911 and report it.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });