Ballymacnab lies on the B31 Road, 7.3 km south of Armagh and 7.3 km from Markethill.
It is designated today as a hamlet. (Armagh Area Plan 2004: Armagh District Council Area)