Trump made the announcement at a Rose Garden news conference.
Trump said he was declaring the national emergency in order to "unleash the full power of the federal government."
He urged every state to set up emergency centers to help fight the virus.
The declaration enabled the Federal Emergency Management Agency (FEMA) to assist state and local governments and coordinate the US response to the crisis. The virus has killed 41 people in the United States.
In Washington, the Democratic-led US House of Representatives will pass a coronavirus economic aid package on Friday, House Speaker Nancy Pelosi said, but it was unclear whether Trump and his fellow Republicans would support it.
The package would provide for free coronavirus testing and two weeks of paid sick and family leave for those affected by the virus, Pelosi said.
Trump had faced criticism from some experts for being slow and ineffective in his response to the crisis and downplaying the threat.
Pressure has been mounting for Trump to declare an infectious disease emergency under the 1988 law that would allow the Federal Emergency Management Agency (FEMA) to provide disaster funds to state and local governments and to deploy support teams.
The power is rarely used.
Former President Bill Clinton in 2000 declared such an emergency for West Nile virus.
Wall Street took a giant leap as Trump declared a national emergency.
After being nearly 3 percent higher a few hours ago, the Dow Jones Industrial Average gained 1600 points to 7.7 percent.