Tan started playing football when he was six. Between 1994 and 2004, he studied academics and played football at the Zhongshan School in his hometown Dalian before moving to Shanghai to further his career. He subsequently played for Shanghai United's youth team before joining second tier club Pudong Zobon in 2008 in the China League One division. He made his senior debut and scored his first professional goal on April 29, 2007, in a 2–1 home defeat to Beijing Institute of Technology. Tan relocated to the United States in late 2008, and played for the Atlanta Blackhawks in the USL Premier Development League in 2009, scoring 7 goals in 12 appearances. He attended open tryouts for MLS’s Philadelphia Union, but did not get called back after the first round of workouts, and eventually signed with FC Tampa Bay of the new USSF Division 2 Professional League in January 2010. Tan's rights were traded to Vancouver Whitecaps FC as part of the deal taking Jonny Steele and Ricardo Sánchez to Tampa Bay on July 20, 2010. He went on trial with the club in November 2010 in view of signing with the club following their move up to Major League Soccer. Tan signed a contract with the club on March 11, 2011. He made his debut for the club on March 26, 2011 in a 1–0 loss to Philadelphia Union, and in doing so became the first Chinese-born player to play for a Major League Soccer club. On October 12, 2011, Tan become the first Chinese-born player to score a goal in the league, against D.C. United. Whitecaps FC traded Tan to D.C. United on June 28, 2012 in exchange for a third-round 2015 MLS SuperDraft pick. He scored his first goal against the Chicago Fire in a 4–2 win for D.C. United. Tan was later released after the end of the season. Tan then signed with USL Professional Division club Orlando City on February 6, 2013. On April 6, 2013, Tan scored a goal and assisted on another during his debut for Orlando in a 3–1 victory over Phoenix FC. In the fourth round of the 2013 U.S. Open Cup, he scored in the second minute in a 1–0 victory against defending champions Sporting Kansas City to bring his club to the next round. His contract was not renewed at the end of the 2013 season and he was released. On February 21, 2014, Tan returned to China and joined Chinese Super League newcomer Harbin Yiteng. He received a ban of four matches at the beginning of 2014 season when he was registered at the Chinese Football Association for age falsification which he changed his age from April 1, 1988 to February 2, 1989. Tan played seven matches for Harbin before he was released by the club on July 5, 2014. Tan returned to the United States and signed with USL Pro club Arizona United SC on July 11, 2014. In only 12 league appearances for Arizona, Tan scored five goals, tying with Jonathan Top as the team's leading scorer and led the team with 32 shots. After signing Tan, Arizona nearly doubled its goals-per-game average, going from 0.88 to 1.58. Tan was named to the All-League Second Team for his efforts. On October 21, 2014, it was announced that Tan had signed a multi-year contract for the club before the 2015 USL season. He again led United with 14 goals in 27 games and was tied for fourth in league play along with Luke Vercollone of Colorado Springs. He also was selected for the All-League First Team. Tan was loaned to the Tampa Bay Rowdies after the end of the USL season on September 22, 2015. Tan played for Arizona United in 2016. On January 22, 2017, Tan transferred to Chinese Super League side Changchun Yatai. He made his debut for Changchun on March 4, 2017, in a 5–1 away defeat against Shanghai SIPG, coming on as a substitute for Zhou Dadi in the half time. His first goal in the Chinese Super League came in a 1–0 win against Henan Jianye on April 23, 2017, when he scored the winning goal as Changchun Yatai secured their first win of the season.