Øen har en meget afvekslende historie. I starten var Fanø en sandbanke i Vesterhavet, som i lang tid var ubeboet. Fanø har fra de ældste tider været krongods og optræder i 1231 i Kong Valdemars Jordebog.
I året 1741 købte øens befolkning af kongen på en auktion i Ribe Fanø fri. For 6.000 rigsdaler fik øens indbyggere jagt- og strandretten.
I det 19. århundrede oplevede øen en markant udvikling af skibsfart. I året 1870 havde Fanø den 2.største handelsflåde i Danmark; kun flåden i København var større. Fra denne tid finder man stadig i Nordby og Sønderhol talrige flotte og velbevarede Fanøhuse og kaptajnsvillaer. Med den tiltagende tilsanding af havnen i Sønderho og anlægget af Esbjerg og Esbjerg Havn sluttede denne epoke.
Under den tyske besættelse af Danmark under den 2.Verdenskrig var Fanø en del af „Atlantvolden“. Fra denne periode stammer talrige bunkere og andre militære anlæg fra den tyske værnemagt på Fanø.
Efter krigens afslutning blev nogle bunkere og militæranlæg bortsprængt, men enkelte blev dog længe efter krigens afslutning benyttet af det danske forsvar. En interessegruppe på Fanø har sørget for, at enkelte bunkere og militæranlæg på Fanø er åben for offentligheden. Nord for Nordby for enden af vejen Vesternasen findes der flere tilgængelige bunkere. Bunkere på øens sydlige del er ligeledes et populært udflugtsmål for turister.
Fanø var med sine kirkesogne Nordby Sogn og Sønderho Sogn en del af Skast Herred
i det tidligere Ribe Amt. Siden 1970 var Fanø Kommune en selvstændig kommune i daværende Ribe Amt. Ved en folkeafstemning på øen i 2005 i forbindelse med den nye kommunalreform i Danmark, besluttede befolkningen, at Fanø Kommune ikke skulle blive en del af den nye Esbjerg Kommune (med de tidligere selvstændige kommuner Esbjerg, Bramming og Ribe). Ca. 2/3 af befolkningen stemte ved folkeafstemningen for, at Fanø Kommune fortsat skulle forblive en selvstændig kommune.
Fanø er efter Læsø den næstmindste kommune i Danmark (disse 2 og de andre ø-kommuner Ærø og Samsø er de eneste kommuner i Danmark med under 10.000 indbyggere).