Born in
Lagos,
Algarve, Viana spent six years as a youth at
Sporting CP. In June 2008 the 18-year-old was transferred to
FC Porto as part of a deal involving
Hélder Postiga, with the
northerners receiving
€2.5 million whereas the
Lisbon club retained 50% of his rights. In the
2008–09 season, whilst still a junior, he made his debut with the first team, playing four
Taça da Liga matches and totalling 55 minutes in two wins and two losses. His first appearance was against
Vitória de Setúbal (
2–1 home victory), on 8 January 2009. On 17 June 2009, Viana moved on loan to
VVV-Venlo in the
Netherlands. He appeared in 23
Eredivisie games in his
first year, helping the
Limburg side finish in 12th position. In January 2011, he returned to Portugal and joined
C.D. Aves of the
Segunda Liga also on loan. After two years with
F.C. Penafiel in the second tier, Viana joined
Gil Vicente F.C. of the top flight in 2013. In November that year, he agreed to a new contract to keep him there until 2016, and with a
buyout clause of €5 million. Viana signed with
First Professional Football League (Bulgaria) club
PFC Litex Lovech in June 2015, after two years in the
Primeira Liga with
Gil Vicente FC. In the summer of 2016 he joined
PFC CSKA Sofia on a
free transfer, after the former
merged with the latter. On 31 January 2017, Viana moved to
C.F. Os Belenenses for an undisclosed fee. He scored once for the reorganised
B-SAD on 11 March 2019, as they came from behind to hold leaders
S.L. Benfica to a 2–2 away draw. After his deal expired, Viana was confirmed as a player for
S.C. Braga on 25 June 2019, on a two-year contract. After eight competitive matches, both parties agreed to end his link on 5 October 2020. Viana signed with
C.D. Feirense on 1 February 2021, for free. On 25 June, he moved abroad again, with compatriot
João Miguel to
FC Argeș Pitești in the Romanian
Liga I. His first goal came on the third matchday, earning a 2–2 draw at
CS Gaz Metan Mediaș in added time. On 30 August 2022, Viana returned to his country's second division, on a contract of undisclosed length at
S.C. Farense. He played six games in their
promotion-winning season, plus three more in cups, before leaving in June. ==References==