Fábio in 2009 | |||
| Personal information | |||
|---|---|---|---|
| Full name | Fábio Deivson Lopes Maciel[1] | ||
| Date of birth | (1980-09-30)30 September 1980 (age 45)[1] | ||
| Place of birth | Nobres,Mato Grosso, Brazil | ||
| Height | 1.89 m (6 ft 2 in)[1] | ||
| Position | Goalkeeper | ||
| Team information | |||
Current team | Fluminense | ||
| Number | 1 | ||
| Youth career | |||
| 1993–1997 | União Bandeirante | ||
| Senior career* | |||
| Years | Team | Apps | (Gls) |
| 1997–2000 | União Bandeirante | 30 | (0) |
| 1998 | →Atlético Paranaense (loan) | 0 | (0) |
| 1999–2000 | →Cruzeiro (loan) | 0 | (0) |
| 2000–2004 | Vasco da Gama | 130 | (0) |
| 2005–2021 | Cruzeiro | 789 | (0) |
| 2022– | Fluminense | 181 | (0) |
| International career | |||
| 1995–1997 | Brazil U17[i] | 13 | (0) |
| 1998–1999 | Brazil U20[ii] | 9 | (0) |
| 1998 | Brazil U23[9][10] | 3 | (0) |
| * Club domestic league appearances and goals as of 23 November 2025 (UTC) | |||
Fábio Deivson Lopes Maciel (born 30 September 1980), simply known asFábio, is a Brazilian professionalfootballer who plays as agoalkeeper forFluminense. He has themost official appearances ever for a professional football player, with over 1,390, and the most official appearances at club level.
Born inNobres,Mato Grosso, Fábio began his career withUnião Bandeirante-PR before moving toAtlético-PR on loan, where he won theCampeonato Paranaense in 1998. However, his 16 appearances at the club were considered at youth level.[11]
Fábio joinedCruzeiro on another loan in 1999, but only played a friendly match in March 2000. A backup option, he won theCopa do Brasil.[12]
In 2000, Fábio joinedVasco da Gama, where he won theCampeonato Brasileiro and theCopa Mercosur in the same year. He later won theCampeonato Carioca in 2003.[12]
Fábio returned toCruzeiro in 2005 in an exchange for the strikerAlex Dias.[13] A year later, he achieved theCampeonato Mineiro with the club.[14]
In the first half of 2007, Fabio's performance on the field was inconsistent with consequential mistakes, most notably in the first leg of the state championship against rivalsAtlético, which ended in a 4–0 loss, with Atlético scoring the fourth goal by sliding the ball into an empty net after Fábio had turned his back to the field.[15] Cruzeiro supporters asked for his removal from the starting squad, and likewise, Fábio was out for three months for an alleged injury, even though he had played the whole match against Atlético, during which he did not show any sign of severe pain. Returning to his starting position in July, he went on to finish the season with the best save percentage in Brazil.[15]
In November 2007, after speculation mounted on a possible move in the January 2008 transfer period, it was announced Fabio would extend his Cruzeiro contract until December 2009.[16] In April 2008, it was reported that he would move toFiorentina, subject to application on obtaining an EU passport as under descendant status, but the move never happened.[17]
On 2 June 2010, Fábio became only the third goalkeeper to have his hands engraved on the stadium's Walk of Fame.[18] Later that year, on 5 December, he was awarded theBola de Prata as the best goalkeeper ofSérie A.[19] On 27 July 2011, Fábio made his 400th appearance for Cruzeiro in a Série A match againstAtlético Goianiense.[20] On 7 February 2012, he was awarded theTroféu Telê Santana, given to the best starting eleven in Minas Gerais, thus becoming the outright all-time winner of this award with nine victories in eleven participations.[21]

During both the2013 and2014 Campeonato Brasileiro Série A winning campaigns, Fábio served as Cruzeiro'scaptain and thus lifted theBrasileirão trophy twice in a row. Therefore, he was selected in 2013 as the best goalkeeper in Brazil, winning the prestigiousBola de Prata trophy for the position for the second time.[22]
On 7 November 2014, Fábio made his 600th appearance for Cruzeiro in a Série A match againstCriciúma.[23] On 13 June 2015, he became Cruzeiro's all-time record appearance holder, playing his 634th match for the club in a 3–1 away victory over Vasco da Gama, surpassing the previous mark set byZé Carlos.[24] A year later, on 16 July 2016, he made his 700th appearance for Cruzeiro in a Série A match against his future club Fluminense, jokingly stating that he would "trade 100 games for ten points".[25] The following month, on 14 August, in a Série A match againstCoritiba, he sustained a sprained knee during a tackle from Turkish strikerKazim, and even though he managed to push through for over 20 minutes, he soon asked to be replaced byLucas França.[26] On 9 April 2017, after eight months away, Fábio made his return to the field in aCampeonato Mineiro match againstDemocrata, having to now dispute the starting goalkeeper spot withRafael.[27]
Later that year, Fábio played a crucial role in helping Cruzeiro win the2017 Copa do Brasil, saving one penalty in theshoot-out againstGrêmio in the semi-finals[28] and saving another penalty in the shoot-out againstFlamengo in thefinals.[29] The following year, he once again played a crucial role in helping Cruzeiro win the2018 Copa do Brasil, saving all three penalties in the shoot-out againstSantos in the quarter-finals, which allowed him to reach a total of 24 penalty saves, despite having only three in 2008, aged 28.[30] He then started in both legs of thefinals, which ended in a 3–1 aggregate victory overCorinthians.[31] Four days after the final, on 21 October, he made his 800th appearance for Cruzeiro in a Série A match againstChapecoense, keeping a clean-sheet in a 3–0 victory.[32]
On 1 September 2019, Fábio saved a penalty in his 575th Série A appearance, a 1–0 win over Vasco, matchingRogério Ceni's record to become the joint player with the most appearances in Série A.[33] On 8 October 2020, he made his 900th appearance for Cruzeiro in a Mineirão match againstSampaio Corrêa, thus becoming only the fifth Brazilian player to do so for a single club, after São Paulo's Rogério Ceni (1.238), Santos'Pelé (1.116), Vasco'sRoberto Dinamite (1.110), and Palmeiras'Ademir da Guia (901).[34][iii]
On 5 January 2022, Fábio announced on his Instagram account that he would leave the club after 17 seasons, because the club was not willing to renew his contract until December 2022, as it had been previously verbally agreed with the club's president Sérgio Santos Rodrigues, but instead for only three more months, which Fábio did not accept as he felt that he was still in "great physical and technical condition to continue playing at a highest level".[35] The goalkeeper left Cruzeiro with twelve titles won and 976 games played, thus ending his dream of reaching 1,000 matches for Cruzeiro.[36] During his time there, he survived ten coaches and three presidential coups, as well as his embarrassment blunder against Atlético Mineiro in 2007.[15]
Having joinedFluminense on 21 January 2022,[37] Fábio made his debut for the club two weeks later, on 4 February, in a game againstAudax Rio, becoming, at the age of 41 years and 120 days, the oldest footballer in the club's history, surpassing the record ofMagno Alves (40 years and 312 days).[38] On 1 May 2022, he made his 600th Série A appearance against Coritiba, becoming the first-ever player to do so.[39] During the 2022 season, the 42-year-old Fábio played in 86% of Fluminense's matches, even though his contract only demanded 60%, including all 38 rounds of the Série A, repeating a feat he had already achieved with Cruzeiro in 2008.[40]
On 12 April 2023, Fábio become the first-ever player to make 100th appearances in the Copa do Brasil, keeping a clean-sheet in a 3–0 win overPaysandu.[41] The following month, on 25 May, he made his 91st appearance in the Copa Libertadores, a 1–0 loss toThe Strongest, overtaking Rogério Ceni to become the Brazilian with the most games in the history of the Copa Libertadores.[42] On 25 July 2023, he made his 100th appearance for Fluminense in a Série A match against Coritiba.[43]
Later that year, on 4 November, Fábio became the first Brazilian to reach a 3-digit tally of participations in the Copa Libertadores by starting in thefinal againstBoca Juniors, helping his side to a 2–1 victory inextra-time.[44][45][46] In doing so at the age of 43, he also became the oldest player to play in and win a Copa Libertadores final, surpassingEver Almeida's record from 1990, aged 42.[47][48] This victory qualified the club for the2023 FIFA Club World Cup, where he kept a clean-sheet in the semifinals againstAl Ahly (2–0), becoming, at the age of 43, the second-oldest player in the history of the Club World Cup, only behindÓscar Pérez, aged 44 years and 10 months in the2017 edition.[49] In thefinal on 22 December, Fluminense lost 4–0 to the European treble winnersManchester City, becoming, at the age of 43 years and 83 days, the oldest player to compete in a Club World Cup or Intercontinental Cup final, surpassing Ever Almeida's record from 1990, aged 42.[50]
In February 2024, Fábio started in both legs of the2024 Recopa Sudamericana against Ecuadorian sideLDU Quito, keeping a clean-sheet in the second leg on 29 February to help Fluminense win its first-everRecopa Sudamericana title.[51] In doing so at the age of 43, he became the oldest player to play in and win the Recopa Sudamericana. On 13 April, Fábio started in the opening matchday of the2024 Série A againstBragantino, becoming, at the age of 43 years and 6 months, the oldest player in the history of Série A, surpassingZé Roberto's record from 2017, aged 43 years and 4 months.[47] On 1 May, he overtook Peter Shilton to become the player with the most domestic matches in the history of football (1089).[52]
On 20 August 2024, Fábio made his 108th appearance in the Copa Libertadores, a 2–1 win over Grêmio in the second leg of the round of 16, overtakingSergio Aquino to become the player with the second most games in the competition's history, only behind Ever Almeida (113).[53] Having lost the first leg 2–1, the tie was decided on penalties, in which he saved two of them to help Fluminense reach the quarter-finals.[54] In 2024, he saved his 38th penalty, thus becoming the joint-fourth Brazilian goalkeeper (alongsideTiago Volpi) with the most penalty saves in history, only behindDiego Alves (40),Dida (42), and Rogério Ceni (51).[55]
On 25 September 2024, just five days shy of his 44th birthday, Fábio became the second-oldest player in the history of the Copa Libertadores, overtakingJosé Francisco Nieto by six days; Fluminense lost the match 2–0 toAtlético Mineiro, thus being knocked out from the competition.[56] On 26 October, he made his 700th Série A appearance againstVitória, becoming the first-ever player to do so.[57] At the age of 44 years and 69 days, Fábio was the second-oldest player in the world to feature in a top-tier national league match in 2024, only behind the Bangladeshi defenderNasiruddin Chowdhury, who appeared in aBangladesh Premier League match at the age of 44 years and 219 days.[58]
On 13 March 2025, Fábio made his 200th appearance for Fluminense in the first leg of the2025 Campeonato Carioca final against Flamengo, which ended in a 1–2 loss.[59] Throughout these 200 matches, the 40-year-old Fábio kept 78 clean-sheets, made over 600 saves, including four penalties.[59] On 13 April, following a 1–0 win over Santos in Série A, he became the second goalkeeper in men's association football to keep 500 clean-sheets, only afterGianluigi Buffon.[60]
Fábio was a member of the Fluminense team that competed in the2025 FIFA Club World Cup, extending his record for the longest time playing in FIFA tournaments to 28 years, having first played one at the1997 FIFA U-17 World Championship.[61] In the club's opening match on 17 June, he kept a clean-sheet in a goalless draw with European sideBorussia Dortmund, becoming, at the age of 44 years and 260 days, the oldest player in the tournament, being four full years older than the next closest, his teammateThiago Silva (40y and 268d).[62] This match also marked his 1,375th official appearance, which caused the American newspaperThe Athletic to wrongly claim that he had surpassedPeter Shilton to become the outright all-time record holder for the most competitive appearances in world football.[iv][63][64] On 25 June, Fábio made two one-on-one saves to keep his 507th clean-sheet in a goalless draw withMamelodi Sundowns, surpassing Buffon to become the goalkeeper with the most clean-sheets in football history.[64][65] In the round of 16 on 30 June, he made four saves to keep yet another clean-sheet in a 2–0 victory over theUEFA Champions League runners-upInter Milan.[64][65]
On 20 August 2025, Fábio made his 1,391st career appearance across all competitions, a tally including friendlies that brought his Cruzeiro total to 976 matches, in Fluminense's 2–0 win overAmérica de Cali in theCopa Sudamericana round of 16, thereby surpassing Peter Shilton's record for the most matches played by a professional footballer.[66][67]
Fábio was the starting goalkeeper in Brazil's winning campaigns at the 1997U-17 South American Youth Championship andFIFA U-17 World Cup, where he featured alongside the likes ofRonaldinho. In the latter tournament, he kept a clean sheet against bothArgentina andGermany in the knockout stages, and conceded only two goals in six games, fromOman andGhana.[68] He was also a member of the Brazil team that competed in the1999 FIFA World Youth Championship, keeping a clean-sheet against the eventual championsSpain (2–0) in the group stage and againstCroatia (4–0) in the Round of 16, but was unable to save a penalty fromFabián Canobbio that gave a 2–1 win toUruguay in the quarter-finals.[68]
Along with that, Fábio was an unused substitute in Brazil's squad in the2003 FIFA Confederations Cup[69] and in the winning side in the2004 Copa América, inPeru.[70] In August and September 2006, Fábio was called up byBrazilian head coachDunga for a friendly againstNorway in Oslo on 16 August 2006, which he did not play (1–1). Two weeks later, he remained an unused substitute againstArgentina andWales on 3 and 5 September, respectively, asGomes remained 's number 1 under Dunga at that time.
He was included in one of Brazil's teams in September, but knew exactly where he stood and understood what his role in the team was, and stated he was happy to be part of the squad.
Brazil has great keepers as the level has really gone up over the past few years and we have goalies of the calibre ofRogério Ceni (São Paulo),Fábio Costa (Santos) andJúlio César (Internazionale). I just want to calmly do what I can to help theseleção.
After more than four years, Fábio was called up to the national team in 2011 for the friendly matches againstNetherlands andRomania,[72] failing to make his international debut in any of the matches. A few weeks later, he was included in the preliminary squad for the 2011 Copa América by coach Mano Menezes, but was eventually cut from the final squad of 23.
In 2013, he publicly complained about not having an opportunity to play for the national side and claimed that "it has no criteria in the goalkeepers selection".[73] He made the same complaints in 2014, prior to theWorld Cup.[74] In 2020, he stated that the national coaches selected the goalkeepers out of friendship and not merit.[75] Some journalists as well as the Brazilian football fans criticize his exclusion from the national team even with the alternance of coaches in the past few years (Scolari, Dunga, Tite).[76]
It was only at Fluminense, under the command ofFernando Diniz, that Fábio began playing a leading role in passing, improving his footwork considerably in order to fit in Diniz's possession-based approach.[48][77] In his latter years, Fábio began avoiding the gym and weight trainings in order to maximize his rest, prioritizing his sleep instead, which although short, was enough for his recovery.[48]
| Club | Season | League | State league[a] | Continental | Copa do Brasil | Other | Total | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Division | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | ||
| União Bandeirante | 1997[79] | Série C | 10 | 0 | 20 | 0 | — | — | — | 30 | 0 | |||
| Vasco da Gama | 2000 | Copa João Havelange | 3 | 0 | 0 | 0 | — | 0 | 0 | — | 3 | 0 | ||
| 2001 | Série A | 2 | 0 | 8 | 0 | 3[b] | 0 | — | — | 13 | 0 | |||
| 2002 | 21 | 0 | 2 | 0 | — | 3 | 0 | 1[c] | 0 | 27 | 0 | |||
| 2003 | 44 | 0 | 15 | 0 | 2[d] | 0 | 7 | 0 | — | 68 | 0 | |||
| 2004 | 19 | 0 | 16 | 0 | — | 4 | 0 | — | 39 | 0 | ||||
| Total | 89 | 0 | 41 | 0 | 5 | 0 | 14 | 0 | 1 | 0 | 150 | 0 | ||
| Cruzeiro | 2005[80] | Série A | 40 | 0 | 15 | 0 | 3[d] | 0 | 9 | 0 | — | 67 | 0 | |
| 2006[81] | 36 | 0 | 15 | 0 | 1[d] | 0 | 6 | 0 | — | 58 | 0 | |||
| 2007[82] | 28 | 0 | 13 | 0 | 2[d] | 0 | 6 | 0 | — | 49 | 0 | |||
| 2008[83] | 38 | 0 | 14 | 0 | 10[b] | 0 | — | — | 62 | 0 | ||||
| 2009[84] | 34 | 0 | 13 | 0 | 14[b] | 0 | — | — | 61 | 0 | ||||
| 2010[85] | 36 | 0 | 12 | 0 | 12[b] | 0 | — | — | 60 | 0 | ||||
| 2011[86] | 33 | 0 | 14 | 0 | 8[b] | 0 | — | — | 55 | 0 | ||||
| 2012[87] | 37 | 0 | 12 | 0 | — | 5 | 0 | — | 54 | 0 | ||||
| 2013[88] | 36 | 0 | 13 | 0 | — | 7 | 0 | — | 56 | 0 | ||||
| 2014 | 36 | 0 | 13 | 0 | 10[b] | 0 | 8 | 0 | — | 67 | 0 | |||
| 2015 | 36 | 0 | 11 | 0 | 10[b] | 0 | 2 | 0 | — | 59 | 0 | |||
| 2016 | 19 | 0 | 12 | 0 | — | 5 | 0 | 2[e] | 0 | 38 | 0 | |||
| 2017 | 32 | 0 | 1 | 0 | — | 7 | 0 | — | 40 | 0 | ||||
| 2018 | 30 | 0 | 13 | 0 | 9[b] | 0 | 8 | 0 | — | 60 | 0 | |||
| 2019 | 35 | 0 | 15 | 0 | 8[b] | 0 | 6 | 0 | — | 64 | 0 | |||
| 2020 | Série B | 36 | 0 | 11 | 0 | — | 4 | 0 | — | 51 | 0 | |||
| 2021 | 37 | 0 | 13 | 0 | — | 4 | 0 | — | 54 | 0 | ||||
| Total | 579 | 0 | 210 | 0 | 87 | 0 | 77 | 0 | 2 | 0 | 955 | 0 | ||
| Fluminense | 2022 | Série A | 38 | 0 | 5 | 0 | 10[d] | 0 | 8 | 0 | — | 61 | 0 | |
| 2023 | 35 | 0 | 13 | 0 | 13[b] | 0 | 4 | 0 | 2[f] | 0 | 67 | 0 | ||
| 2024 | 37 | 0 | 6 | 0 | 10[b] | 0 | 4 | 0 | 2[g] | 0 | 59 | 0 | ||
| 2025 | 35 | 0 | 12 | 0 | 8[d] | 0 | 8 | 0 | 6[f] | 0 | 69 | 0 | ||
| Total | 145 | 0 | 36 | 0 | 41 | 0 | 24 | 0 | 10 | 0 | 256 | 0 | ||
| Career total | 823 | 0 | 307 | 0 | 133 | 0 | 115 | 0 | 13 | 0 | 1,391 | 0 | ||
Atlético Paranaense
Vasco da Gama
Cruzeiro
Fluminense
Brazil U17
Brazil
Individual
{{cite web}}: CS1 maint: bot: original URL status unknown (link){{cite web}}: CS1 maint: bot: original URL status unknown (link)