State schools

Grading system, enrolment and school hours

State schools

In Germany, each state ( Land) develops its own education programme, determines its own educational objectives and sets its own standards. Although the education standards are generally very high, they can vary significantly between the different Länder.

Despite these differences, children at German schools are regularly tested in a range of subjects and receive two reports per year (one at the end of each term). Performance levels are indicated by a grade from 1 to 6, as follows:

1 – sehr gut (very good)

2 – gut (good)

3 – befriedigend (reasonable)

4 - ausreichend (sufficient)

5 – mangelhaft (deficient)

6 – ungenügend (insufficient)

Be aware that the German education system is quite strict when it come to grading performance. In secondary school, if your child flunks two or more classes (with a grade of 5 or 6), he might have to repeat the whole school year (although the exact regulations depend on each state).

Enrolling your child in a German school

Enrolling your child in a German school is usually quite straightforward. If you’re officially registered as German residents, the school will write you some time before the start of the school year, telling you of any medical certificates you must provide and what materials you must buy.

You’re then required to visit the school during normal office hours to inscribe your child. If you’ve decided to send your child to another (e.g. private) school, you must notify your local state school and prove what alternative arrangements you have made. Be aware that enrolling your child at a school is compulsory in Germany, so if you simply don’t react to the school’s invitation, you might run into some serious problems!

School hours and holidays

Most state schools operate only in the morning (normally from 8am until 1pm). Some schools have classes on several afternoons (e.g. until 3.30 or 4pm). These school hours can be very difficult for working parents. In addition, if a teacher gets sick and the school cannot arrange a replacement, children may even be sent home in the morning hours without warning! For this reason, some parents who are working decide to send their kids to a private school or to arrange a “nanny” which takes care of them in the afternoon.


Summer holidays normally last six weeks. These are scheduled for different periods between the different German states in order to minimize the common holiday traffic jams on the Autobahn. From year-to-year, the schedule changes and a holiday calendar is published.

In addition to summer holidays, there are the following school holidays:

  • Two weeks in autumn ( Herbstferien), which were originally intended to give children in rural areas time to help their parents with the farm work
  • Two or three weeks at Christmas ( Weihnachtsferien)
  • One week at Easter ( Osterferien)
  • plus additional religious, national or state holidays.

However, don’t assume that this generous holiday regime allows you to withdraw your child at will. All absences from school (including those due to illness) must be notified to the school and justified in writing. If you need to withdraw your child for any other reason than sickness, you must get the agreement of the school. Removing your child from school for a period of more than a day or two without prior agreement with the school officials can lead to a substantial fine. Persistent offenders can be put in imprison and their children placed in foster care!

Further reading

Does this article help?

Do you have any comments, updates or questions on this topic? Ask them here:

Other comments

  • Anne, 17 February 2013 Reply


    I am pretty sure that the number and length of holidays you listed here are wrong (at least for Bavaria): in fall/autumn there is only one week, christmas holidays are two weeks, there is an extra holiday of one week in February (Faschingsferien), easter holidays are two weeks and there are the Whitsun holidays (Pfingstferien) which last two weeks. Just thoughts I would add that happy