Rakstītajos vēstures avotos Dundagas (Donedange) vārds pirmo reizi minēts 1245. gadā, kad Rīgas bīskapsNikolajs Domkapitulam dāvinājis 200 akrus zemes. Dundagas vārda nozīmi 1846. gadā gleznotājs Jūliuss Dērings skaidrojis kā "niedru kaktu". 13. gadsimta beigās Dundagā uz mākslīgas salas izbūvēja mūra pili, kuras galvenā funkcija bija kalpot par produktu savāktuvi un glabātuvi līdz to nogādāšanai Rīgā.[5] Pils vairākkārt mainījusi savus īpašniekus. 17. gadsimta beigās to pārbūvēja par muižnieku kungu māju (Dondangen). Pie pils izveidojās apdzīvota vieta. 1931. gadā Dundagai piešķīra biezi apdzīvotas vietas (ciema) statusu, 1950. gadā — strādnieku ciemata (pilsētciemata) statusu. No 1949. līdz 1956. gadam Dundaga bija Dundagas rajona centrs. 2009. gadā Dundaga kļuva par novada centru (līdz tam — Dundagas pagasta centrs). 2021. gadā Dundagas novadu iekļāva Talsu novadā, līdz ar to Dundaga kļuva par Dundagas pagasta centru.
Dundagā atrodas pagasta pārvalde, vidusskola, mūzikas un mākslas skola, bērnudārzs, bibliotēka, pasts, luterāņu baznīca, baptistu baznīca. Sociālās aprūpes iestādes ir SIA «Dundagas Veselības centrs», Valsts sociālās aprūpes centrs «Dundaga» un Dundagas aprūpes nams «Stacija».