Mr Trump is in London for a summit marking the Western military alliance's 70th anniversary.
The US president said Nato served a great purpose, and Mr Macron's remarks had been "very insulting".
He also said he could see France "breaking off" from Nato, but did not explain why.
However, at a joint press conference with Mr Macron later, Mr Trump struck a warmer tone, stressing that the two countries had "done a lot of good things together as partners".
Mr Macron said he knew his comments about Nato "shook up" a lot of people, but added that he stood by them.
Why is there a row over Nato?
Nato - the North Atlantic Treaty Organisation - was founded after World War Two to counter the threat of Soviet expansion. The 29 member states pledge to come to the aid of one another should any come under attack.
But speaking last month, Mr Macron complained that Nato members were no longer co-operating on key issues.
He described the alliance as "brain dead", stressing what he saw as a waning commitment from its biggest guarantor - the US. He also criticised the US for not consulting Nato before pulling forces out of northern Syria.
The summit, due to get under way later on Tuesday, has already been overshadowed by a bitter row between member states France and Turkey, and a continuing debate over money.
Turkish President Recep Tayyip Erdogan has said he will oppose Nato's plan for the defence of the Baltic region if it does not back Turkey over its fight against Kurdish groups it considers terrorists.
What did Trump say?
Earlier on Tuesday, at a news conference with Nato Secretary General Jens Stoltenberg, President Trump said Nato "serves a great purpose", but was then asked what he thought about Mr Macron's statements.
He said he thought the French leader had been "very disrespectful" to other alliance members.
"It is a very, very nasty statement. I think they have a very high unemployment rate in France. France is not doing well economically at all," he said.
"It is a very tough statement to make when you have such difficulty in France when you look at what is going on. They have had a very rough year. You just can't go around making statements like that about Nato. It is very disrespectful."
France has an unemployment rate of about 8.5% - its lowest level in 10 years, although higher than the EU average of 6.3%.
Mr Trump added: "Nobody needs Nato more than France... the US benefits the least. It's a very dangerous statement for them to make.
"I'm looking at him [Mr Macron] and I'm saying that he needs protection more than anybody, and I see him breaking off [from Nato]. So I'm a little surprised at that."
Mr Trump also reiterated his longstanding complaint that many other Nato countries were still not contributing enough financially.
Mr Stoltenberg praised Mr Trump's "leadership on defence spending", saying it was having a real impact.
"Since 2016, Canada and European allies have added $130bn more to the defence budget, and this number will increase to $400bn by 2024," he said.
"This is unprecedented, this is making Nato stronger, and it shows that this alliance is adapting, responding when the world is changing."
President Trump welcomed the extra spending but singled out Germany as still falling short. According to Nato's latest figures, Germany spends 1.36% of GDP on defence when the Nato guideline is 2%.
On a more positive note, he added: "The world has changed a lot and Nato is changing right now. I've become a bigger fan of Nato because they have become more flexible."
He later added that he did not want countries to be "delinquent" and pay less than their share, adding "maybe I'll deal with them from a trade standpoint".