Edgar played as an inside forward for Glasgow-based junior club Parkhead, and made occasional appearances as a junior for Scottish League clubs including Queen's Park and Ayr Parkhouse, and for Heart of Midlothian's East of Scotland League team. While a Parkhead player, he was selected by the Scottish Junior Football Association to represent the association against their Irish counterparts in Belfast in March 1899. In October 1901 – dubbed "perhaps the most brilliant junior forward in Scotland at the present time" – Edgar moved to England where he signed for Second Division club Woolwich Arsenal. He made his Football League debut that same month, against Gainsborough Trinity, and kept his place for a few matches before losing it first to Isaac Owens and then to Walter Anderson. He finished the season with ten Football League appearances, scoring once, in a 1–1 draw with Blackpool, and played seven times in other competitions. He then returned to Scotland. In August 1903 he joined Airdrieonians, newly elected to the Scottish League First Division. He moved on to Third Lanark, and in November 1904, signed for Aberdeen of the Second Division. He was recommended to the club by team captainDuncan McNichol, who had played with him at Woolwich Arsenal. He made his first league appearance for Aberdeen on 3 December against St Bernard's, playing at centre forward in place of Augustus Lowe, who was unwell. He had a poor game, but scored – according to the DundeeFootball Post, after 17 minutes of the second half, "Edgar, who had done nothing up till now, headed into the net" – but the match was abandoned because of bad light with a few minutes left to play. His official senior debut came the following week, at home to Hamilton Academicals; Aberdeen lost, and the Courier found Edgar no better at inside right than he was in the centre. Despite such an apparently unpromising start, Edgar played 14 league games in 1904–05, in which Aberdeen finished seventh in the Second Division and were elected to the First Division for 1905–06. Over the next two seasons, he contributed six goals from 31 league games, and became a popular member of the team. He was reinstated as an amateur in September 1909, and played four matches for Hibernian as a triallist, before returning to Aberdeen. He remained with the club for ten years as player, coach to the reserve team, and honorary official, and an Evening Express editorial stated that "If any man deserved a benefit for services rendered to the Aberdeen Football Club, that man is John Edgar. For years he was a prominent wearer of the black and gold, and at present successfully manages the reserve team. His popularity with players and public alike was fully demonstrated last night, when the match on his behalf took place". The benefit match in question, between teams of current and former Aberdeen players and refereed by the beneficiary himself, attracted a crowd of 5,000 spectators and raised £100. Edgar was for three years president of Montrose F.C., a club for which he formerly played. During his tenure, the club won the Scottish Qualifying Cup and the Forfarshire Cup, both in the 1921–22 season. He stepped down for business reasons in 1923. He and his wife settled in the Montrose area, where he was active in other fields of sporting organisation, as president of the Rossie Athletic Club, captain of Montrose SouthLinks Golf Club, and member of the Montrose Highland Gathering Committee. In 1929, Edgar and his wife emigrated to Canada.