Panicked investors rushed to the safety of bonds, sending 30-year US yields beneath 1% and 10-year yields under 0.5%, all but eliminating what was once the dollar's chief attraction.
In hectic trade, it fell 3% against the yen to 101.58, its lowest in three years. The euro was last up 1% at $1.1408, while the Australian and New Zealand dollars were down close to 2% with the fearful mood.
"It is totally wild," said Shafali Sachdev, head of FX Asia at BNP Paribas Wealth Management in Singapore. "Everyone has been expecting it for a while, but just the speed of the move has taken everyone by surprise," she said.
"This is not a train I want to be getting in front of, and how long it continues and where it goes from here is going to depend on how the situation evolves," she added, saying further stock falls could drive even more gains in funding currencies.
So far, the yen's rise has it headed for its largest three-day gain since the depths of the 2008 financial crisis. It is up 9.4% in a dozen trading days.
The gain has raised concerns among policymakers in Japan, where it is bad news for exporters, with a senior finance official telling warning authorities were closely watching trade.
At one point, the Aussie was down 6% at an 11-year low against the yen while the Kiwi fell more than 7%.
The number of people infected with the coronavirus has topped 107,000 across the world as the outbreak reached more countries and caused more economic disruption.
"This fall in the oil price just comes at the worst time, or at least that's how financial markets are reading it," said Paul Mackel, head of emerging markets FX research at HSBC in Hong Kong.
"Volatility across assets is overshadowing any type of silver lining from a fall in the oil price," he said, adding it was hard to tell when fear and nerves would subside.
The Australian dollar last traded at $0.6540, having recovered from its drop to $0.6311, while the dollar last sat at a 17-month low against a basket of currencies.
Meanwhile, the oil price fall triggered withering sell-offs in oil exporters' currencies.
The Russian rouble and Mexican peso each fell as much as 6% against the dollar. The Norwegian krone shed 3% to hit a record trough. The Canadian dollar fell 1.6% to 1.3640 per dollar, its lowest since 2017.