The only free and comprehensive online etymological dictionary of the Spanish language
oficio m. (Noun) "work;" "office"

13th cent. From Latin officium "office," "duty," from opificium "the act of working." From opi- "power to help" (see op-) and -ficium "maker" (see -ficio).

Romance: Western Vulgar Latin: French office, Italian ufficio
oído m. (Noun) "ear;" "hearing"

16th cent. Old Spanish oydos. From Latin auditus 'id.,' the perfect passive participle of audire "to hear" (see oír).

Romance: Western Vulgar Latin: Asturian oyíu, Portuguese ouvido, Galician oído, Catalan oïda, French ouïe, Italian udito ; Eastern Vulgar Latin: Romanian auzit
oír (Verb) "to hear"

12th cent. Old Spanish odir. From Latin audire 'id.' From Proto-Italic *awizd-je/o- 'id.' A compound from Proto-Indo-European *h2eu̯-i̯s "clearly" and *dhh1-i̯e/o- "to render." From the root *dheh1- "to put" (see hacer).

Romance: Western Vulgar Latin: Asturian oyer, Portuguese ouvir, Galician oír, French ouïr, audio, Italian udire ; Eastern Vulgar Latin: Aromanian avdu, Romanian auzi

Indo-European: Balto-Slavic: Old Church Slavonic avě "manifestly," Bulgarian áve "in reality," Lithuanian ovyje 'id.;' Hellenic: Ancient Greek ᾰ̓ῐ̈́ειν (aíen) "to percieve;" Indo-Iranian: Sanskrit āvíṣ "evidently," Avestan āuuiš 'id.;' Anatolian: Hittite au-i "to look," Cuneiform Luwian au̯a "look!"
ojalá (Interjection) "God willing!"

Very late 15th cent. Old Spanish oxalá. Borrowed from an Arabic phrase wa-šā’ allāh "may God will it."

Romance: Western Vulgar Latin: Portuguese oxalá
ojo m. (Noun) "eye;" "source"

12th cent. From Latin oculus 'id.' From Proto-Italic *okelo- 'id.' From Proto-Indo-European *h3okw- "eye." Probably from an unattested root verb *h3ekw- "to see."

Romance: Western Vulgar Latin: Portuguese óculo, Catalan òcul

Indo-European: Germanic: Gothic augo "eye," Old Norse auga 'id.,' Old High German ouga 'id.,' Old Saxon ōga, Old English ēage 'id.' (English eye); Balto-Slavic: Old Church Slavonic oko "eye," Russian óko (archaic) 'id.,' Czech oko 'id.,' Polish oko 'id.,' Slovene okọ̑ 'id.,' Old Prussian ackis "eyes," Lithuanian akìs "eye," Latvian acs 'id.;' Albanian: sy "eye;" Hellenic: Ancient Greek ὤψ (óphs) "eye;" Armenian: akn "eye;" Indo-Iranian: Sanskrit akṣ-ī́ "eyes" (note usage in the dual), Young Avestan aši "eyes" (dual); Tocharian: A ak "eye," B ek 'id.'
ok, okei (Interjection) "okay"

Borrowed from English okay, earlier OK, of unknown origin. The most popular theory is that it derives from oll korrect, a comical misspelling of "all correct," as part of an 1830s American fad of exotic abbreviations (see Read 1964).
oler (Verb) "to smell"

13th cent. From Latin olere 'id.' From Proto-Italic *od-e/o- 'id.' From Proto-Indo-European *h3ed- 'id.'

Romance: Western Vulgar Latin: Asturian goler, Italian olire

Indo-European: Balto-Slavic: Old Czech jadati "to investigate," Lithuanian úosti "to smell," Latvian uôst 'id.;' Hellenic: Ancient Greek ὀδμή (odmé) "smell;" Armenian: hot "smell;"
olor m. (Noun) "smell"

13th cent. From Latin olor 'id.,' derived from olere "to smell" (see oler).

Romance: Western Vulgar Latin: Asturian golor, Catalan olor
olvidado (Adjective) "forgotten"

From olvidar.
olvidar (Verb) "to forget"

12th cent. From Vulgar Latin *oblitare 'id.,' from Latin oblivisci of the same meaning. Of unknown origin. The first element *ob looks suspiciously like the prefix *ob- "toward" (see ob-), but we are left with the puzzle in the rest of the word.

Romance: Western Vulgar Latin: Asturian olvidar, Catalan oblidar, Frech oublier, Italian obliare ; Eastern Vulgar Latin: Aromanian ultu, Romanian uita ; Sardinian: olvidare