Obec sa rozprestiera na južnom okraji Hornádskej kotliny a na severných svahoch Slovenského Rudohoria prevažne na pravom brehu Hornádu. Leží 18 kilometrov od okresného mesta Spišská Nová Ves, na západ sa nachádza vo vzdialenosti 20 kilometrov Národný park Slovenský raj. Územie je odvodňované riekou Hornád. Olcnava sa nachádza v nadmorskej výške 400 m n. m..