91³Ô¹ÏÍø

Watch CBS News

Spotted Lanternflies Invading NYC

NEW YORK (CBSNewYork) - There's a new pest in New York City.

They're called , and are very harmful to your plants.

So what should you do if you see the invasive species?

As CBS2's Dave Carlin reports, they are hard to handle pests, and they've moved to Manhattan.

Spotted lanternflies are bugging waiter Alejandro Rivera.

"There have been like more and more of them," Rivera said. "Usually they fly on your backs and You feel them walking over there and it's disgusting."

"It kind of looks like a moth closed, but you can see the red," said Woodside resident Maureen Knightly.

They are not harmful to humans, , destroying agricultural crops including walnut, grapes, hops, apples and blueberries.

After first appearing in Pennsylvania, and parts of New York, but now in larger numbers in neighborhoods a hop, skip and jump from Central Park, including along 6th Avenue in the West 50s.

"I've been seeing them for the past week or two," said Jeff Blume.

Blume, a building maintenance supervisor, sees them in midtown and at home in North Arlington, N.J.

"I mean, if you want to go digging through there, there's a lot of them in there," he said.

"I'll take your word for it," Carlin said.

"They have quite a large host range," said Dr. George Hamilton.

Hamilton is the chair of the entomology department at . He says it is believed spotted lanternflies hitchhiked to Pennsylvania from China in a shipment of stone. In China, they tend to get eaten by wasps. But not here.

Experts tell homeowners it is not necessary to pretreat your plants and trees, and wait until you see that you have a problem with these pests before you take action.

"Spraying all your trees, it's an unwise use of insecticides," Hamilton said. "They may not even come to your tree."

"I have a good foot," Knightly said.

"You're going to stomp them if you see them?" Carlin asked.

"Absolutely," Knightly said.

"Yeah, I've been hitting them, using this all day," Blume said.

"The more we kill the better off we will be," Hamilton said.

Hamilton says the best time to get rid of them is now, while the insects are adults and easier to spot. The laying of eggs starts in September, and that means baby ones that are tougher to find and kill.

If you spot one, you're asked to kill it, then take pictures of the insect, egg masses or signs of infestation, and send it to the Department of Environmental Conservation. You'll also have to note the location of where it was spotted.

To report a spotted lanternfly to NY DEC, . In New York City, .

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(); } }); }); }); });