Around three million Afghans have fled to Pakistan and Iran
The number of refugees worldwide has risen to 11.4 million, the United Nations refugee agency has said.
It is the second year in succession the number has gone up, after five years of falling, the agency said. Afghanistan and Iraq were behind much of the rise.
UN High Commissioner for Refugees Antonio Guterres blamed conflicts, climate change and rising food prices.
In addition to the refugees, another 26 million people globally are internally displaced, the UN says.
Mr Guterres said: "We are now faced with a complex mix of global challenges that could threaten more forced displacement."
The BBC's Imogen Foulkes in Geneva says that what the UN wants is harmony at European level on the rules for accepting refugees, because recognition rates vary too widely.
It wants a harmonisation of policy that errs towards the generous rather than the strict, she says.
The report said that 11.4 million was the number of refugees the UN agency (UNHCR) had responsibility for at the end of 2007, up from 9.9 million the year before.
Of these, almost 3.1 million were Afghans, while 2.3 million were Iraqis - most of whom had sought refuge in Jordan and Syria.
"Much of the increase in refugees in 2007 was a result of the volatile situation in Iraq," the report said.
The UNHCR's Jennifer Pagonis said: "Pakistan is the country which has the most refugees in it followed by Syria and Iran - Germany and Jordan they are then top five."
The number of people displaced by conflicts - including those uprooted in their own countries, who are not strictly defined as refugees - rose to 26 million from 24.4 million.
"Unfortunately, with the multiplication of conflicts and the intensification of conflicts, the number is on the rise again," Mr Guterres said.