Whether you need a visa depends on your nationality and how long you plan to stay. If you hold a passport from an EU country, Iceland, Liechtenstein, Norway, or Switzerland, you generally don't need a visa.
Citizens of Australia, the UK, Israel, Japan, Canada, New Zealand, South Korea, and the United States can enter without a visa and apply for a residence permit later if staying longer than 90 days.
For most other countries, a visa must be obtained from the German mission abroad before entering Germany.
An up-to-date list of visa requirements by country is available at www.auswaertiges-amt.de.