Visitors of Germany from non-EU countries need a valid passport. A list with regulations for the different countries is available at all German embassies. Citizens from a non-EU country who want to stay longer than 90 days in Germany need a special visa by the German consulates. They are difficult to obtain, normally these visas are only given to business travellers and students taking up scholarships. Citizens of the following countries don't need a visa:
Andorra, Argentinia, Australia, Austria, Belgium, Bolivia, Brazil, Brunei, Canada, Chile, Costa Rica, Croatia, Cyprus, Denmark, Ecuador, El Salvador, Finland, France, Great Britain, Greece, Guatemala, Honduras, Iceland, Ireland, Israel, Italy, Jamaica, Japan, Kenya, Colombia, Korea (Republic of Korea), Luxembourg, Malawi, Malaysia, Malta, Mexico, Monaco, New-Zealand, The Netherlands, Norway, Panama, Paraguay, Poland, Portugal, San Marino, Sweden, Switzerland, Singapur, Slovakia, Hungary, Uruguay, USA.
If you want to combine your stay in Germany with the journey to another European country you should inform yourself about visa regulations of the other countries.