Ne zna se tko je izumio kompas no prvi koji su upotrijebili magnetsku iglu za pokazivanje smjera bili su Kinezi. Oni su još 1040. godine opisali kako se prave magnetske igle, a većina ranih kineskih kompasa bila je napravljena od minerala magnetita koji bi se izdubio poput lađice. Na taj magnetski plovak, položen u vodu, djelovalo bi Zemljino magnetsko polje pa bi se on uvijek postavljao u smjeru sjever-jug.
Ti prvi kompasi s magnetskim plovkom bili su nezgodni za nošenje jer bi voda napunila plovak pa bi on brzo potonuo. Zbog toga su magnetski plovak ubrzo zamijenili drvenim kojeg su rezbarili u obliku ribe. Na taj bi plovak postavili komadić magnetita ili magnetizirani željezni štapić kojeg su dobili trljanjem željeza o magnetit, rude plavkaste boje koja se dobavljala iz Kine i Bengala.
Zanimljivo je da se željezo također moglo namagnetizirati najprije zagrijavanjem te potom polaganim hlađenjem u polju drugog magneta.
Oko 1300. godine pomorski se kompas već naveliko primjenjivao u južnoj Europi, Skandinaviji te na Islandu. No u to je vrijeme kompas dobio i dva korisna poboljšanja. Kao prvo, kompas je stavljen u kardanski zglob (dva osovinama povezana mesingana prstena, koja su mu omogućavala da stalno ostane u vodoravnom položaju bez obzira na ljuljanje broda).
Drugo važno poboljšanje je uvođenje ruže vjetrova ili vjetrulje, to jest okrugle pločice sa stranama svijeta i krugom razdijeljenim na 360 stupnjeva. Vjetrulja bi se okretala sve dok se njezin sjeverni smjer ne bi poklopio sa sjevernim krajem magnetske igle. Nakon toga se iz vjetrulje mogao točno očitati kurs broda.
Prije uvođenja vjetrulje, igla je mogla poslužiti samo za grubu provjeru smjera, te se pomorac i dalje morao u velikoj mjeri pouzdati u druge pokazatelje, primjerice ku položaj Sunca, Mjeseca i zvijezda.
Magnetski kompas pokazuje prema Zemljinim magnetskim polovima. Oni se sasvim ne poklapaju s geografskim polovima, to jest točkama kroz koje prolazi Zemljina os rotacije. Zbog toga se na kartama označuju razlike između magnetskog i stvarnog sjevera, kako bi pomorci mogli točno utvrditi smjerove.
Žirokompas je instrument koji pokazuje točno na sjever, a ugrađuje se u neka kopnena vozila i zrakoplove te u sve veće trgovačke i ratne brodove. U brodovima se obično ugrađuje ispod palube, a očitava se preko indikatora razmještenih na više mjesta na brodu. Bez obzira na to koliko more bilo uzburkano, žirokompas uvijek točno pokazuje smjer.
Kako bi žiroskop mogao poslužiti kao pokazivač smjera, osovina okretanja mu mora stalno stajati horizontalno i pokazivati isti određeni smjer na Zemlji.
Kod starih žirokompasa na dnu kučišta žiroskopa bio je postavljen maleni uteg. Dok Zemljina rotacija nastoji nagnuti žiroskop, gravitacijska sila koja je djelovala na taj uteg nastojala je zadržati mu os u horizontali. To zakretanje osi pod djelovanjem vanjske sile naziva se precesijom.