Any time is a good time to be somewhere in Germany, but when is the best time to visit pretty much depends on what type of holiday you envision.
Most people travel between May and September because of fabulous summer. Skies are more likely to be sunny, much of life moves outdoors, beer gardens are in full swing, and festivals and outdoor events enliven cities and villages. Hiking, cycling, swimming and outdoor pursuits are popular during these months.
The shoulder seasons (from March to May and from October to early November) bring smaller crowds and often pleasant weather. In April and May, when wildflowers brighten meadows and fruit trees are in bloom, it can be mild and sunny.
With the exception of winter sports, activities between November and early March are likely to focus more on culture and city life. In these months, skies are often gloomy and the mercury drops below freezing. On the plus side, there are fewer visitors and shorter queues (except in the winter resorts). Just pack the right clothes and keep in mind that there are only six to eight hours of daylight. The ski season usually starts in early to mid-December, moves into full swing after the New Year and closes down again with the onset of the snowmelt in March.