Chancellor Angela Merkel has said the “breathtaking” flow of migrants into Germany will “occupy and change” the country in the coming years.
She said Germany would speed up asylum procedures and build extra housing, having pledged to spend €6bn (£4.4bn).
But she added that Germany could not solve the crisis on its own and urged all EU states to take in refugees.
About 20,000 migrants are thought to have entered Germany over the weekend and 11,000 are expected on Monday.
Mrs Merkel thanked volunteers who had helped and welcomed arriving migrants, saying they had “painted a picture of Germany which can make us proud of our country”.
Those migrants who need protection would receive it, Mrs Merkel said, before adding: “Those who stand no chance of getting asylum will have to return to their homes swiftly.”
She said Germany was “a country willing to take people in” but that it was “time for the European Union to pull its weight”.
“We will only manage to cope with these challenges if we rely on European solidarity,” she told reporters at a joint news conference with Vice Chancellor Sigmar Gabriel.
She said Germany – which expects 800,000 asylum requests this year – could face costs of €10bn (£7.3bn) next year because of the influx.
Meanwhile, French President Francois Hollande has announced that France is ready to take in 24,000 refugees to help deal with the crisis.
Mr Hollande said he and Mrs Merkel wanted the EU to back a plan under which each country would be obliged to take its fair share of migrants.
The flow of migrants across Europe showed no sign of easing on Monday, with crowds reported to be streaming across Hungary’s border with Serbia.
Hungary had previously blocked migrants travelling to Western Europe, but dropped restrictions on Friday after struggling to cope with thousands camping in its capital, Budapest.
It is continuing work on a fence along its border with Serbia and its parliament passed tough new legislation on illegal immigrants last week.
Speaking on Monday, Hungarian Prime Minister Viktor Orban said “as long as we can’t defend Europe’s outer borders, it is not worth talking about how many people we can take in”.
He said those migrants trying to reaching Germany were seeking a “German life” rather than physical safety, adding that if the stream continued it would endanger Europe’s “Christian welfare states”.
Mrs Merkel has become a hero to many migrants for allowing large numbers to cross into the country from Hungary – but many of her conservative allies say her actions send a “totally wrong signal”.
Crowds of migrants were cheered by locals when they arrived at Munich train station at the weekend, but not all in Germany are happy with the influx.
On Sunday night, there were two fires at accommodation centres for asylum seekers in Germany, with police confirming that one was “politically motivated arson”.
A note on terminology: The BBC uses the term migrant to refer to all people on the move who have yet to complete the legal process of claiming asylum. This group includes people fleeing war-torn countries such as Syria, who are likely to be granted refugee status, as well as people who are seeking jobs and better lives, who governments are likely to rule are economic migrants.