He represented Bedford in the Legislative Assembly of Lower Canada from 1800 to 1804. His name also appears as John Steele. He was born in Ayrshire and served as a volunteer in the British Navy during the American Revolution, reaching the rank of captain.
In 1784, he arrived in Halifax, Nova Scotia as a midshipman.
In 1785, he went to Quebec City, where he served as ship commander in the Lower Canada navy. Steel was named a justice of the peace for Monreal district in 1798 and also served as harbour master.
He did not run for reelection to the assembly in 1804. Steel died, probably at Caldwell"s Manor, at the age of 89.