MacKinnon was born in Springhill, Nova Scotia and grew up playing in the minor ice hockey system of Cole Harbour, Nova Scotia. As an atom aged player, MacKinnon recorded 200 points in 50 games. When MacKinnon was 12 and 13, he played Bantam AAA for the Cole Harbour Wings, recording seasons of 110 and 145 points, respectively. After these two seasons, MacKinnon enrolled at Shattuck-Saint Mary's in Faribault, Minnesota. MacKinnon chose to leave his hometown and attend the Minnesota boarding school because of the strength of its ice hockey program. In his first season at Shattuck-Saint Mary's playing with the Bantam Tier I program, he scored 101 points in 58 games to finish second in team scoring. For the 2010–11 season, MacKinnon joined the under-16 Midget program at the school. Despite being the team's second-youngest player, MacKinnon was averaging more than two points a game and was second in team scoring at the midway point of the season. During the season, MacKinnon was named to the team that represented Nova Scotia in the ice hockey tournament at the 2011 Canada Winter Games. At the tournament, MacKinnon scored eight goals and eleven points to finish fourth in tournament scoring as Nova Scotia finished in seventh place. MacKinnon finished his second season at Shattuck-Saint Mary's with 93 points in 40 games played, and was second on the team with 45 goals scored.