Crawford joined the Austin Mavericks of the Midwest Junior Hockey League when he was only 14. He played hard and was promised a spot on the roster if he were to return after high school. He graduated and returned to the Mavericks, now a member of the United States Hockey League. In ten games during the 1977–78 season, Crawford scored 17 points and showed he could control the tempo of a game. He was selected to play for the U.S. in the World Junior Championships and scored 13 points in the six games in which the U.S. appeared. After the WJC, Crawford decided to head to Canada to compete at higher levels and joined the Oshawa Generals of the Ontario Hockey Association. He remained with the Generals for three seasons, posting huge numbers. In 144 games over three seasons, Crawford scored 123 goals and 142 assists for 265 total points. His last season with the Generals was his best, as Crawford had been signed as a free agent by the New York Rangers of the NHL on November 16, 1979, right before the start of the season. His confidence high, Crawford led the team in scoring during the 1979–80 season with 129 points, placing him seventh in the league in both total points and goals scored. He was named to the OHA Second All-star team and led the Generals into the playoffs, losing in seven games to the Ottawa 67's. On January 15, 1980, Crawford was traded from the Rangers to the Colorado Rockies to complete a transaction that sent Barry Beck to New York. Crawford would join the Rockies for the 1980–81 season.
Playing in the NHL
Crawford started out the season scoring three point sin his first five games, but slowly tapered off after that. He only scored one assist in his next ten games and was sent back down to the Rockies' affiliate the Fort Worth Texans of the Central Hockey League. There he finished out the 1980–81 season, leading the team with 37 points. Crawford scored two goals in the Texans' short playoff series against the Salt Lake Golden Eagles. He remained on the Texans for the 1981–82 season scoring 54 points, but failing to help his team make the playoffs. After that season, Crawford was released from his contract and he quickly signed as a free agent with the Detroit Red Wings in June 1982. Crawford started out the season with the Adirondack Red Wings of the American Hockey League where he regained his scoring touch. He ended up second on the team in scoring behind Ted Nolan with 61 total points. He was also called up for a single NHL game during the 1982–83 season in which he failed to record a point for the Red Wings. Back in the minors, Crawford increased his scoring during the six game playoff series against the Fredericton Express, but despite his seven points, Adirondack failed to make it out of the first round. Crawford retired from North American hockey after that season and decided to try his luck overseas.
International play
Crawford started out in the Swiss league for HC La Chaux-de-Fonds. He again found his scoring touch, albeit in a weaker league, scoring 78 points in only 38 games. He later joined EHC Olten for the 1984–85 and 1985–86 seasons before moving on to Germany, playing for EC Bad Tölz where he scored 137 points in 50 games. He again led his team in scoring and again was seventh in the league for total points. Crawford also added 41 points in 17 playoff games for a grand total of 178 points in 67 games, ending in a 2.7 point-per-game total for the entire 1986–87 season. Crawford then headed to Italy, where he joined HC Merano of the Serie A. He scored 38 points for them before moving to Britain, to join the Southampton Vikings of the British Hockey League. After scoring 102 points for the 1987–88 season, Crawford again moved, this time back to Germany. He would play for three more German teams, Star Bulls Rosenheim, Bayreuth SV, and Regensburg EV before retiring after the 1991–92 season.