Career snapshot
Position rank · 23/24
Among 3,380 Goalkeepers · ≥200 mins
Career highs
Born the same day
Shares 1998-02-23 · 6 players total
| Full name | Joao Castanheira |
|---|---|
| Name in home country | João Paulo Castanheira Pires |
| Date of birth | 1998-02-23 (28 yrs) |
| Place of birth | Leytron VS, Switzerland |
| Citizenship | Switzerland Portugal |
| Position | Goalkeeper |
| Foot | left |
| Height | 181.00 m |
| Current club | FC Leytron |
| Joined | 2024-07-01 |
| Contract expires | — |
Percentile rank vs 2820 other Goalkeepers with ≥500 minutes in 23/24. Higher = better (except cards, where lower = better — inverted automatically).
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| FC Naters Oberwallis | 1 | 23/24 | 23/24 | 11 | 0 | 0 | 907 |
| CS Chênois | 1 | 21/22 | 21/22 | 25 | 0 | 0 | 2,280 |
| Etoile Carouge FC | 1 | 20/21 | 20/21 | 5 | 0 | 0 | 450 |
| Servette FC | 3 | 17/18 | 19/20 | 0 | 0 | 0 | 0 |
| Servette FC U21 | 3 | 17/18 | 19/20 | 33 | 0 | 0 | 2,818 |
| FC Sion | 2 | 15/16 | 16/17 | 0 | 0 | 0 | 0 |
| FC Sion U21 | 3 | 14/15 | 16/17 | 19 | 0 | 0 | 1,710 |
| FC Sierre | 1 | 16/17 | 16/17 | 12 | 0 | 0 | 1,021 |
| FC Sion U18 | 2 | 14/15 | 15/16 | 21 | 0 | 0 | 1,863 |
Career trajectory — goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 23/24 | 1. Liga gr. 1 | FC Naters Oberwallis | 9 | 0 | 0 | 0 | 0 | 727 |
| 23/24 | Swiss Cup qualifiers | FC Naters Oberwallis | 2 | 0 | 0 | 0 | 0 | 180 |
| 21/22 | 1. Liga Gr. 1 | CS Chênois | 22 | 0 | 0 | 1 | 0 | 1,980 |
| 21/22 | Swiss Cup | CS Chênois | 2 | 0 | 0 | 0 | 0 | 210 |
| 21/22 | Swiss Cup qualifiers | CS Chênois | 1 | 0 | 0 | 0 | 0 | 90 |
| 20/21 | Promotion League | Etoile Carouge FC | 5 | 0 | 0 | 0 | 0 | 450 |
| 20/21 | Promotion League - Aufstiegsr. | Etoile Carouge FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 20/21 | Swiss Cup qualifiers | Etoile Carouge FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | 2. Liga Inter - Gr. 1 | Servette FC U21 | 6 | 0 | 0 | 0 | 0 | 540 |
| 19/20 | Super League | Servette FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | 2. Liga Inter - Gr. 1 | Servette FC U21 | 10 | 0 | 0 | 0 | 0 | 900 |
| 18/19 | Challenge League | Servette FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | Schweizer Cup | Servette FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | 2. Liga Inter - Gr. 1 | Servette FC U21 | 17 | 0 | 0 | 1 | 0 | 1,378 |
| 17/18 | Schweizer Cup | Servette FC | 0 | 0 | 0 | 0 | 0 | 0 |
| 16/17 | 2. Liga Inter - Gr. 1 | FC Sierre | 12 | 0 | 0 | 1 | 0 | 1,021 |
| 16/17 | Promotion League | FC Sion U21 | 4 | 0 | 0 | 0 | 0 | 360 |
| 16/17 | Super League | FC Sion | 0 | 0 | 0 | 0 | 0 | 0 |
| 15/16 | Promotion League | FC Sion U21 | 15 | 0 | 0 | 0 | 0 | 1,350 |
| 15/16 | Schweizer Cup | FC Sion | 0 | 0 | 0 | 0 | 0 | 0 |
| 15/16 | Schweizer Cup U18 | FC Sion U18 | 1 | 0 | 0 | 0 | 0 | 90 |
| 15/16 | U18 Elite League | FC Sion U18 | 6 | 0 | 0 | 0 | 0 | 540 |
| 14/15 | Promotion League | FC Sion U21 | 0 | 0 | 0 | 0 | 0 | 0 |
| 14/15 | Schweizer Cup U18 | FC Sion U18 | 1 | 0 | 0 | 0 | 0 | 90 |
| 14/15 | U18 Elite League | FC Sion U18 | 13 | 0 | 0 | 0 | 0 | 1,143 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 14/15 | 2014-07-01 | FC Sion Yth. | FC Sion U18 | Transfer | 0 | — |
| 15/16 | 2015-07-01 | FC Sion U18 | FC Sion U21 | Transfer | 0 | — |
| 16/17 | 2016-07-01 | FC Sion U21 | FC Sion | Transfer | 25000 | — |
| 16/17 | 2017-01-05 | FC Sion | FC Sierre | Loan | 100000 | — |
| 16/17 | 2017-06-30 | FC Sierre | FC Sion | Return from loan | 100000 | — |
| 17/18 | 2017-07-01 | FC Sion | Servette FC | Transfer | 100000 | — |
| 20/21 | 2020-08-04 | Servette FC | Etoile Carouge | Transfer | 100000 | — |
| 21/22 | 2021-07-01 | Etoile Carouge | CS Chênois | Transfer | 100000 | — |
| 22/23 | 2022-07-01 | CS Chênois | FC Savièse | Transfer | 0 | — |
| 23/24 | 2023-07-01 | FC Savièse | FC Naters | Transfer | 0 | — |
| 24/25 | 2024-07-01 | FC Naters | FC Leytron | Transfer | 0 | — |
No recorded injuries.
| Date | Value |
|---|---|
| Jan 1, 1970 | — |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €100k |
| Jan 1, 1970 | €25k |
| Team | Shirt | Matches | Goals | Debut | Age at debut | Status |
|---|---|---|---|---|---|---|
| Team #28436 | — | 1 | 0 | — | — | former national player |
| Team #28155 | #1 | 2 | 0 | — | — | former national player |
| Team #23140 | #1 | 1 | 0 | — | — | former national player |
| Team #22998 | — | 0 | 0 | — | — | former national player |
| Team #19429 | — | 2 | 0 | — | — | former national player |
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Kapinga Ntongo | 2 | 0 | 829 |
| Betim Bilalli | 2 | 0 | 0 |
| Diogo Matos | 1 | 0 | 0 |
| Stefane Rauti | 1 | 0 | 0 |
| Vincent Thétaz | 1 | 0 | 0 |
| Jan Bamert | 1 | 0 | 0 |
| Mirza Mujdzic | 1 | 0 | 0 |
| Rafik Khelil | 1 | 0 | 0 |
| Bruno Morgado | 1 | 0 | 0 |
| Tiago Vilaranda | 2 | 0 | 0 |
| Berkan Kutlu | 1 | 0 | 0 |
| Alban Ajdini | 2 | 0 | 0 |
| Timo Ribeiro | 1 | 0 | 0 |
| Hajdar Munishi | 1 | 0 | 0 |
| Maurizio Palermo | 1 | 0 | 0 |
| Jocelyn Mboso | 1 | 0 | 0 |
| Dilan Shala | 2 | 0 | 0 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 16/17 | 2017-06-30 | FC Sierre | FC Sion | Return from loan | — | €100k |
| 16/17 | 2017-01-05 | FC Sion | FC Sierre | Loan | — | €100k |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 14/15 | Senior debut season |
Yellow / second-yellow / red cards per season. Only seasons with at least one card are shown.
| Season | Matches | Mins | YC | 2nd YC | RC | Cards / 90′ |
|---|---|---|---|---|---|---|
| 21/22 | 25 | 2,280 | 1 | 0 | 0 | 0.04 |
| 17/18 | 17 | 1,378 | 1 | 0 | 0 | 0.07 |
| 16/17 | 16 | 1,381 | 1 | 0 | 0 | 0.07 |
Goalkeeper-specific aggregates: clean sheets and goals conceded by season.
| Season | Matches | Mins | Clean sheets | CS % | Goals conceded | GC / 90′ |
|---|---|---|---|---|---|---|
| 23/24 | 11 | 907 | 0 | 0% | 20 | 1.98 |
| 21/22 | 25 | 2,280 | 6 | 24% | 50 | 1.97 |
| 20/21 | 5 | 450 | 1 | 20% | 5 | 1 |
| 19/20 | 6 | 540 | 4 | 67% | 2 | 0.33 |
| 18/19 | 10 | 900 | 2 | 20% | 18 | 1.8 |
| 17/18 | 17 | 1,378 | 4 | 24% | 25 | 1.63 |
| 16/17 | 16 | 1,381 | 3 | 19% | 45 | 2.93 |
| 15/16 | 22 | 1,980 | 4 | 18% | 32 | 1.45 |
| 14/15 | 14 | 1,233 | 3 | 21% | 25 | 1.82 |
Output by competition
Career goals and assists broken down by tournament.
More on Joao Castanheira
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about Joao Castanheira
Who is Joao Castanheira?
Joao Castanheira is a Switzerland professional footballer who plays as a goalkeeper for FC Leytron.
How old is Joao Castanheira?
Joao Castanheira is 28 years old. He was born on February 23, 1998 in Leytron VS.
What position does Joao Castanheira play?
Joao Castanheira plays as a goalkeeper (Goalkeeper).
What club does Joao Castanheira play for?
Joao Castanheira currently plays for FC Leytron.