Hurricane Arthur hit the North Carolina coast this morning and then weakened as it moved out to sea.
It caused no deaths or injuries but is spoiling the Independence Day holiday for thousands of Americans.
Arthur, the first hurricane of the Atlantic season, struck land at the southern end of North Carolina's Outer Banks at 11.15 pm local time last night.
It rattled holiday homes, flooded roads and cut off island communities from the mainland.
Top sustained winds of 160 kph earned Arthur a Category two status on the five-step Saffir-Simpson scale.
It weakened to a Category 1 as it moved north east into the Atlantic Ocean with 145-kph top sustained winds.
The US Weather Service's National Hurricane Center said the storm was about 205km east of Norfolk,Virginia at 9am and moving northeast.
Arthur is expected to skirt the US coast and pass south east of Massachusetts' Cape Cod this evening.
It is expected to be near or over the Canadian province of Nova Scotia early tomorrow.
Residents on Ocracoke Island began clearing downed trees with chain saws at about 6.30am.
Arthur is the first hurricane to hit the US since Superstorm Sandy devastated parts of New York and New Jersey in October 2012, causing an estimated $70bn (€51.4bn) in damage.
Tropical storm warnings or watches were in effect from North Carolina to Canada's Prince Edward Island. Arthur is expected to become a post-tropical cyclone tonight or tomorrow, the National Hurricane Center said.
North Carolina was putting heavy equipment in place to remove sand and over wash quickly after Arthur passed.
Hundreds of military and state police officials were deployed to help with storm preparation, safety and evacuation efforts.