Macfarlane was born in Stirling, Scotland. He came to Utah Territory in the early 1850s and settled in Cedar City in 1853.[3] In 1852, Macfarlane married Ann Chatterley. Multiple sources identified him as one of the many Iron County Militia men involved in the 1857 Mountain Meadows Massacre.[4]
Macfarlane served as superintendent of schools from 1866 to 1868 for Iron County, Utah,[3] and the leader of the choir in Cedar City which he took to St. George. Erastus Snow urged Macfarlane to move to St. George and start a choir there, which he did.
Besides leading the choir, Macfarlane served as a district judge and worked as a surveyor and a builder. In St. George, he was involved in founding an academy in 1888 that was the predecessor to Dixie State College of Utah.[5]