William MacKinnon (1843–1925) was a minister of the Free Church of Scotland who served as Moderator of the General Assembly in 1908/09.
He was born in 1843 at Strath on the Isle of Skye, the son of Lachlan MacKinnon and his wife Catherine.
His training as a minister is unclear but he was first ordained in Ballachulish Free Church in 1878.
He then moved to the twin parishes of Fort Augustus and Glenmoriston, and finally, in 1894, to the Gairloch Free Church.
In 1908, in succession to Rev Murdo Mackenzie, he was elected Moderator of the General Assembly, the highest position in the Free Church.