William McCrae was a farmer and political figure in Upper Canada.
He was the son of Thomas McCrae, who settled in Raleigh Township. McCrae also owned a farm in that township. He was named justice of the peace in the Western District in 1816. He represented Kent in the Legislative Assembly of Upper Canada from 1834 to 1841.