Ter Horne’ betekent ‘bij de hoek’. Het lag op de uiterste hoek van een landaanwinning in de 12e eeuw. Het dorp was wel een echt vaartdorp, door de ligging speelt het water nog steeds (anno 2019) een belangrijke rol. In 1491 werd het vermeld als ter Herna, in 1491 als to Terhorna, in 1495 als toer Herna en op de kaart van Jacob van Deventer uit 1545 wordt Terhorne genoemd, als Herne.
Scheepvaart, visserij en scheepsbouw waren eerst de belangrijkste bronnen van inkomen. Op het hoogtepunt van de Friese handelsvaart op de Oostzee was Terhorne de thuishaven van zo’n 40 tot 50 kof- en smakschepen. Later vormde ook landbouw en met name veehouderij een bron van inkomsten. Door verveningen en afslag raakte het dorp afgesloten van de vaste wal en werd het een eiland. Tot 1857 bleef Terhorne een eiland. Toen werd een grindweg aangelegd naar Meskenwier en Akkrum. Vanaf 1908 was er een permanente verbinding naar Joure over het Heerenzijl.
Aan de noordwestzijde werd in 1951 in het Prinses Margrietkanaal en bij het Terhornstermeer de Terhornstersluis in gebruik genomen.
Terhorne maakte tot 1 januari 1984 deel uit van de gemeente Utingeradeel. Een groot deel van deze gemeente, waaronder Terhorne, werd op die datum toegevoegd aan de nieuw opgerichte gemeente Boornsterhem. Sinds 1989 is de officiële naam van de plaats het Friestalige Terherne. Toen op 1 januari 2014 de gemeente Boornsterhem werd opgeheven, werd Terhorne toegevoegd aan de nieuw opgerichte gemeente De Friese Meren.