A total of 560 people were injured in the violence, including 43 children.
Three-quarters of the attacks targeted migrants outside of their accommodation, while nearly 1,000 attacks were on housing.
Chancellor Angela Merkel's decision to open up Germany to people fleeing conflict and persecution has polarised the country and boosted hate crime.
Germany is struggling with a backlog of asylum applications and there are fears about security following a series of terrorist attacks across Europe.
The interior ministry figures
3,533 attacks on migrants and asylum hostels in 2016
2.545 attacks on individual migrants
560 people injured, including 43 children
988 attacks on housing (slightly fewer than in 2015)
217 attacks on refugee organisations and volunteers
But the number of asylum seekers arriving in Germany in 2016 was 280,000, a drop of more than 600,000 from the previous year, following the closure of the Balkan migrant route and an EU deal with Turkey.
The issue is expected to feature heavily in parliamentary elections this September.
MP Ulla Jelpke from the leftist Die Linke party said that the government was too focused on a perceived security threat from migrants while the real threat was coming from the far right.
"Do people have to die before the rightwing violence is considered a central domestic security problem and makes it to the top of the national policy agenda?" she said, quoted by the Funke media group.
"Nazis are threatening refugees and therefore our democracy."