German flag

Why German says 'an Weihnachten' without an article

In German, the names of the big holidays usually appear with no article at all. You say an Weihnachten or zu Ostern, never am Weihnachten or an der Ostern. The same goes for Silvester, Neujahr and, in many regions, Karneval. Which little word comes before the holiday, an or zu, depends mostly on where the speaker is from.

English speakers often go wrong here because English uses two patterns: at Christmas but on New Year's Eve. Learners then reach for in, or they treat the holiday like a weekday and say am Weihnachten, as in am Montag. The German rule is simpler than that.

Word list
NeujahrnA2 New Year's Day an/zu Neujahr = on New Year's Day SilvesterA2 New Year's Eve an/zu Silvester = on New Year's Eve WeihnachtennA2 Christmas an/zu Weihnachten = at Christmas FaschingmB1 carnival an/zu Fasching = at carnival time (Bavaria, Austria; also im Fasching) FastnachtfB1 carnival an/zu Fastnacht = at carnival time (southwest German word) KarnevalmB1 carnival an/zu Karneval = at carnival time OsternnB1 Easter an/zu Ostern = at Easter
How it works

When you say when something happens, put an or zu directly in front of the holiday name, with no article in between. In the south of Germany, in Austria and in Switzerland, people mostly say an. In the north, zu is more common. Both are correct and everyone understands both, so pick one and use it consistently.

You can also leave out the preposition and use the holiday name on its own, much like English this Christmas. To cover the whole holiday period, use über: über Weihnachten means over the Christmas holidays.

Was machst du an Weihnachten?
(What are you doing at Christmas?)
Weihnachten fahren wir zu meiner Oma.
(At Christmas we're going to my grandma's.)
The words
Christmas and Easter

Weihnachten and Ostern are the classic cases. Both are neuter, but in greetings they behave like plurals: Frohe Weihnachten!, Frohe Ostern!

Zu Weihnachten besuchen wir unsere Eltern.
(We visit our parents at Christmas.)
An Ostern suchen die Kinder bunte Eier im Garten.
(At Easter the children look for coloured eggs in the garden.)
Wir bleiben über Ostern in Berlin.
(We're staying in Berlin over Easter.)
New Year's Eve and New Year's Day

Silvester and Neujahr follow the same pattern. Here English says on, but German still uses an or zu with no article.

An Silvester bleiben wir zu Hause.
(We're staying at home on New Year's Eve.)
An Neujahr sind fast alle Geschäfte geschlossen.
(On New Year's Day almost all shops are closed.)
Carnival

Karneval works the same way in the regions that celebrate it. The southern names Fasching and Fastnacht do too: an Fasching, zu Fastnacht. You will also hear im Karneval for the whole season.

An Karneval verkleidet sich die ganze Stadt.
(At carnival time the whole city dresses up.)

Other holidays behave the same way, for example an Pfingsten (at Whitsun), an Heiligabend (on Christmas Eve) and an Nikolaus (on St Nicholas' Day).

Watch out

The typical mistakes are in Weihnachten and am Weihnachten. Neither is correct. If you are unsure, an Weihnachten or zu Weihnachten is always safe.

Ordinary nouns that end in -tag are different. They are normal day nouns and take am, just like am Montag. The same is true of Geburtstag, which is a personal occasion, not a named holiday.

Am Valentinstag gehen wir essen.
(We're going out for dinner on Valentine's Day.)
Zum Geburtstag hat sie ein Fahrrad bekommen.
(She got a bike for her birthday.)

The zu in zum Geburtstag means for the occasion, as with a gift or a wish, and it contains the article (zu dem). With the big holidays there is nothing to contract: zu Weihnachten, never zum Weihnachten.

Summary

Big holidays such as Weihnachten, Ostern, Silvester, Neujahr and Karneval take no article. Say an + holiday (more southern) or zu + holiday (more northern), or just the bare name. Keep am for ordinary day nouns like am Valentinstag or am Montag.