Butler attended Eisenhower High School in Rialto, California, where he was a teammate of future NFL player Ryan Clady. He played as a defensive end (only as a senior), wide receiver, safety and kick returner. He was a two-time All-league selection and was named All-county as a senior.
He accepted a scholarship from Oregon State University, where he played at defensive end. As a sophomore, he appeared in 14 games and had 17 tackles. The next year, he played in 13 games (one start) and led the team with 10.5 sacks (third in the conference). As a senior, he was named team captain and posted career-highs in sacks (12, tied for school record), tackles for a loss (21.5, school-record), quarterback pressures (5), forced fumbles (4) and tackles (65), while being named first-team All-Pac-10. He tied a school single game sack record (4) in the 2008 Sun Bowl, on his way to being named the game's MVP.
He finished his college career after appearing in 49 games, registering 110 tackles (60 solo), 26 sacks (second in school history), 39.5 tackles for loss (fourth in school history), six forced fumbles, five fumble recoveries, five passes defensed and one blocked kick.
Butler was selected in the fourth round (110th overall) of the 2009 NFL draft. He was converted to an outside linebacker and was the backup to DeMarcus Ware.
He recorded his first two career sacks and caused a fumble against the Carolina Panthers on September 28, 2009. On November 8, he made a key play by sacking Donovan McNabb with a shoestring tackle, which stopped a critical Philadelphia Eagles drive and helped preserve a Cowboys victory. He registered 12 special teams tackles (fourth on the team).
In 2010, he posted 20 tackles, 2 sacks, 4 quarterback pressures, one forced fumble and 10 special teams tackles (seventh on the team). The next year, he had 16 tackles (one for loss), 3 sacks, 9 quarterback pressures and 14 special teams tackles. In 2012, he made 23 tackles, 3 sacks, 3 passes defensed, one forced fumble, one fumble recovery and 4 special teams tackles.
During his time with the team he played behind Ware and Anthony Spencer, making it difficult to earn playing time. He was a productive pass rusher, but was not consistent defending the run. The Cowboys didn't re-sign him at the end of the 2012 season.
On March 28, 2013, Butler signed a two-year contract with the New Orleans Saints, reuniting with his former defensive coordinator Rob Ryan. On June 12, 2013, Butler suffered a torn ACL during training camp, after a collision with teammate Mark Ingram.
On August 27, he was assigned to the reserve/physically unable to perform list, before being placed on injured reserve on December 11. He was waived on August 25, 2014.
Butler was signed by the Arizona Cardinals on September 16, 2014. He was released on September 30.
He signed as a free agent with the Indianapolis Colts on October 6, 2014. He was cut on November 18 and eventually re-signed on November 24. Butler was released again on November 26 to make room for Shaun Phillips.
On January 5, 2015, the New York Giants signed him to a reserve/futures contract. On April 10, he was suspended four games for violating the NFL's policy on performance-enhancing drugs. On August 31, Butler's contract was terminated to make room for safety Stevie Brown.
On February 1, 2017, he signed with the Toronto Argonauts of the Canadian Football League after being out of football for a year.