Johnson played college football as a punter and defensive back at the University of Northern Colorado. While there he was a three-time All-American selection. He helped lead the UNC Bears to two NCAA Division II national championships. Johnson finished his college career ranked 2nd on the school's all-time list with a 40.8-yard career punting average. He was first-team All-North Central Conference at safety in 1997 and at punter in 1995 and 1996.
Professional career
Seattle Seahawks
Johnson was signed as a rookie free agent by the Seattle Seahawks on April 28, 1998. He was released on August 25, 1998.
New York Jets
Johnson signed with the New York Jets on April 7, 1999. He was released on August 21, 1999.
The San Diego Chargers signed Johnson on May 4, 2001. They released him on August 27, 2001.
New Orleans Saints
In 2002, Johnson played one game with the New Orleans Saints. In the spring of that same year he played with their NFL Europe team, the Rhein Fire, and appeared in the World Bowl.
Philadelphia Eagles
In 2003, Johnson was picked up by the Philadelphia Eagles as a free agent, beating out Kyle Richardson and Lee Johnson to win the starting punter job. Johnson played in all sixteen games during each of his first two seasons in Philadelphia. The team would go to back-to-back NFC Championship games, with an appearance in Super Bowl XXXIX. Following their Super Bowl loss to the Patriots, Johnson underwent sports hernia surgery during training camp. He returned in time to start the 2005 season, but aggravated the injury and missed the second half of the season, in what was an overall injury-plagued, down year for the defending NFC Champion Eagles. Reggie Hodges was signed to replace Johnson for the remainder of the season. Entering the offseason as a free agent, Johnson re-signed with the Eagles to a one year contract. Prior to the start of the 2006 season, Johnson signed a new five-year extension, as he was given additional duties of placekick holder for David Akers. Though he played all sixteen regular season and both playoff games for the Eagles that season, the team brought in Saverio Rocca to compete with Johnson in training camp and through the 2007 preseason. Johnson was released on the final day of cuts. At the time of his release, Johnson was the Eagles all-time leader in net yards per punt.
Chicago Bears
The Chicago Bears signed Johnson on September 16, 2007 to temporarily replace veteran punter Brad Maynard, who sustained a minor injury in the previous week. After 4 punts with a 49.8 yard average and 60 yard long punt, Johnson also sustained an injury, and was replaced by place kickerRobbie Gould. On September 24, 2007 the Bears released him.
Arizona Cardinals
Johnson was signed by the Arizona Cardinals on March 5, 2008. He appeared in 12 games for the Cardinals that season, punting 40 times for a 41.8-yard average. The Cardinals released him on December 1 in favor of Ben Graham, this became the second time Johnson has been cut in favor of an Australian punter.
Washington Redskins
Johnson was signed by the Washington Redskins on March 5, 2009 to compete with Zac Atterberry for the team's punting job. However, he was released on April 23, 2009 after the team signed Hunter Smith.
Pittsburgh Steelers
Johnson was signed by the Pittsburgh Steelers on May 1, 2009. He was released on June 12, 2009.
Tampa Bay Buccaneers
Johnson was signed by the Tampa Bay Buccaneers on August 13, 2009 after a hip injury to Josh Bidwell. Johnson was placed on injured reserve on November 30, 2009 due to a hamstring injury. He was released on March 4, 2010.