Skip to content

Dutch citizens resist Nazi occupation, 1940-1945

Summary

From May 1940 to May 1945, Dutch citizens used nonviolent resistance against Nazi occupation [source: nv-database]. Despite severe repression, the campaign survived and contributed to undermining Nazi control until Allied liberation. The resistance included strikes, hiding Jews, and symbolic acts of defiance.

Tactics used

Tactics used

  • unknown

Background

In May 1940, Nazi Germany occupied the Netherlands, which had a policy of neutrality and no recent experience with invasion [source: nv-database]. The Nazis aimed to transform the country into a national socialist state, exploit its economy, purge Jews, and prevent aid to enemies. Dutch citizens resisted these goals through nonviolent means.

What happened

lead photo

Lead photo. — Wikimedia Commons contributor (CC BY-SA 4.0). Source: dutch-citizens-resist-nazi-occupation-1940-1945.jpg

On the first day of occupation, the Guezen Action Committee proclaimed resistance [source: nv-database]. On June 29, 1940, people placed white carnations in windows and at a statue to defy the Nazis [source: nv-database]. In fall 1940, students at Leiden and Delft universities held strikes and demonstrations against attacks on Jewish officials [source: nv-database]. On February 17-18, 1941, shipyard workers struck to prevent deportation of Dutch workers [source: nv-database]. After a clash on February 19, 1941, and the arrest of 400 Jewish men, communist workers organized a massive strike; 300,000 people in Amsterdam participated [source: nv-database]. The Nazis responded with violence, imposing a curfew and forcing the mayor to order officials back to work [source: nv-database]. Resistance continued: schoolteachers refused German approval, artists boycotted the culture guild, farmers refused to pay, and police refused to arrest Jews [source: nv-database]. In December 1941, thousands of doctors signed a letter refusing to join the German doctors’ guild, and some formed a Medical Contact to hide persecuted doctors [source: nv-database]. The Dutch Reformed and Roman Catholic churches urged civil disobedience [source: nv-database]. In April 1943, 85% of university students refused to sign a loyalty declaration [source: nv-database]. On April 29, 1943, after the Germans announced recapture of 300,000 former soldiers, workers in Hengelo struck; strikes spread to Eindhoven and Limburg, where 40,000 miners struck [source: nv-database]. Nazi troops shot strikers, resulting in over 180 deaths, 400 casualties, and 900 sent to concentration camps; by May 5, the Limburg miners returned to work [source: nv-database]. In September 1944, railway workers struck to prevent transport of Jews and German troops, but this also halted coal, gas, and food, causing a difficult winter [source: nv-database]. Late in the war, Der Kern (The Core) tried to coordinate a national effort but was ultimately ineffective [source: nv-database]. The Dutch underground helped hide 25,000 Jews, of whom 16,000 went undetected [source: nv-database].

Key people & organizations

  • Guezen Action Committee
  • Medical Contact
  • Der Kern (The Core)
  • Queen Wilhelmina
  • Dutch Reformed Church
  • Roman Catholic Church in the Netherlands

Outcome

Verdict: partial.

The campaign achieved partial success: it survived to see Allied liberation and hindered Nazi operations, but the Nazis deported over 82% of Dutch Jews. The resistance lacked clear national goals and coordination, limiting its overall effectiveness [source: nv-database].

Lessons

  • Decentralized resistance can sustain long-term campaigns even without central leadership.
  • Symbolic acts and everyday defiance can build national unity against an occupier.
  • Strikes and noncooperation can disrupt an oppressor’s logistics but may also harm civilian populations.

Sources


Disclaimer: Included as a teaching example of campaign craft, not as endorsement.

Sources & verification

  • nv-database — grounding: primary — license: link-only
  • Rewritten: 2026-06-25 via worker_casestudies_v2.py