The storm's centre was about 180km east of Wilmington, North Carolina, at 2pm local time (18:00 GMT) but tropical storm-strength winds and heavy rains already were hitting North Carolina's Outer Banks barrier islands. The main highway in the Outer Banks was closed in parts as seawater pushed in. Flooding from rain and rising rivers also was reported in New Bern.
The hurricane centre also said the threat of tornadoes was increasing as the storm neared the shore.
Florence could bring wind-driven storm surges of seawater as high as four metres and NHC Director Ken Graham said on Facebook they could push in as far as three kilometres. Heavy rains were forecast to extend into the Appalachian mountains, affecting parts of Alabama, Tennessee, Kentucky, and West Virginia.
The storm will be a test of President Donald Trump's administration less than two months before elections to determine control of the United States Congress. After criticism for its response to last year's Hurricane Maria in Puerto Rico, which officials there said was responsible for 3,000 deaths, Trump has vowed a vigorous response to Florence and defended his handling of Maria.