Ehsan Hajsafi
Career snapshot
Career highs
Born the same day
Shares 1990-02-25 · 4 players total
| Full name | Ehsan Hajsafi |
|---|---|
| Name in home country | احسان حاجصفی |
| Date of birth | 1990-02-25 (36 yrs) |
| Place of birth | Kashan, Isfahan, Iran |
| Citizenship | Iran |
| Position | Defender - Left-Back (main: Defender) |
| Foot | left |
| Height | 178.00 m |
| Current club | Sepahan FC |
| Joined | 2025-07-19 |
| Contract expires | 2026-06-30 |
| Agent | SA Sport Agency |
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| Sepahan FC | 13 | 06/07 | 25/26 | 312 | 38 | 25 | 7,512 |
| AEK Athens | 4 | 21/22 | 24/25 | 118 | 4 | 10 | 2,812 |
| Tractor FC | 2 | 19/20 | 20/21 | 49 | 7 | 7 | 1,794 |
| Olympiacos Piraeus | 2 | 17/18 | 18/19 | 7 | 1 | 1 | 526 |
| Tractor Sazi FC | 3 | 11/12 | 18/19 | 69 | 9 | 12 | 786 |
| Panionios Athens | 1 | 17/18 | 17/18 | 20 | 2 | 3 | 1,441 |
| FSV Frankfurt | 1 | 15/16 | 15/16 | 28 | 2 | 1 | 1,115 |
Career trajectory — goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 25/26 | AFC CL Elite Qualif. | Sepahan FC | 1 | 0 | 0 | 0 | 0 | 0 |
| 25/26 | Persian Gulf League | Sepahan FC | 2 | 0 | 0 | 1 | 0 | 0 |
| 24/25 | Kypello Elladas | AEK Athens | 4 | 0 | 0 | 1 | 0 | 0 |
| 24/25 | SL1 Play-off | AEK Athens | 1 | 0 | 0 | 1 | 0 | 0 |
| 24/25 | Super League 1 | AEK Athens | 14 | 1 | 1 | 1 | 0 | 934 |
| 24/25 | UECL Qualifiers | AEK Athens | 4 | 0 | 1 | 1 | 0 | 0 |
| 23/24 | Champions League Qu. | AEK Athens | 4 | 0 | 0 | 1 | 0 | 0 |
| 23/24 | Europa League | AEK Athens | 6 | 0 | 1 | 0 | 0 | 0 |
| 23/24 | SL1 Play-off | AEK Athens | 10 | 0 | 1 | 0 | 0 | 0 |
| 23/24 | Super League 1 | AEK Athens | 9 | 0 | 1 | 2 | 0 | 0 |
| 22/23 | Kypello Elladas | AEK Athens | 5 | 0 | 1 | 1 | 0 | 0 |
| 22/23 | SL1 Play-off | AEK Athens | 9 | 0 | 1 | 0 | 0 | 0 |
| 22/23 | Super League 1 | AEK Athens | 20 | 0 | 1 | 3 | 0 | 0 |
| 21/22 | Kypello Elladas | AEK Athens | 4 | 1 | 0 | 0 | 0 | 191 |
| 21/22 | SL1 Play-off | AEK Athens | 9 | 1 | 2 | 1 | 0 | 661 |
| 21/22 | Super League 1 | AEK Athens | 19 | 1 | 0 | 2 | 0 | 1,026 |
| 2008 | Club World Cup | Sepahan FC | 2 | 0 | 0 | 1 | 0 | 0 |
| 20/21 | Hazfi Cup | Sepahan FC | 2 | 0 | 0 | 0 | 0 | 0 |
| 20/21 | Persian Gulf League | Sepahan FC | 13 | 2 | 3 | 1 | 0 | 535 |
| 20/21 | Persian Gulf League | Tractor FC | 16 | 1 | 1 | 3 | 0 | 1,359 |
| 19/20 | Hazfi Cup | Tractor FC | 4 | 0 | 2 | 1 | 0 | 0 |
| 19/20 | Persian Gulf League | Tractor FC | 29 | 6 | 4 | 6 | 0 | 435 |
| 18/19 | Europa League Qualifying | Olympiacos Piraeus | 0 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | Persian Gulf League | Tractor Sazi FC | 24 | 0 | 4 | 1 | 0 | 0 |
| 17/18 | Europa League Qualifying | Panionios Athens | 3 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | Kypello Elladas | Olympiacos Piraeus | 1 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | Kypello Elladas | Panionios Athens | 3 | 1 | 1 | 1 | 0 | 191 |
| 17/18 | Super League 1 | Olympiacos Piraeus | 6 | 1 | 1 | 0 | 0 | 526 |
| 17/18 | Super League 1 | Panionios Athens | 14 | 1 | 2 | 1 | 0 | 1,250 |
| 16/17 | Hazfi Cup | Sepahan FC | 4 | 1 | 1 | 0 | 0 | 390 |
| 16/17 | Persian Gulf League | Sepahan FC | 25 | 5 | 8 | 4 | 0 | 450 |
| 15/16 | 2. Bundesliga | FSV Frankfurt | 27 | 2 | 1 | 3 | 0 | 1,115 |
| 15/16 | DFB-Pokal | FSV Frankfurt | 1 | 0 | 0 | 0 | 0 | 0 |
| 15/16 | Persian Gulf League | Sepahan FC | 5 | 3 | 2 | 1 | 0 | 150 |
| 14/15 | Hazfi Cup | Sepahan FC | 1 | 0 | 0 | 0 | 0 | 0 |
| 14/15 | Persian Gulf League | Sepahan FC | 25 | 2 | 2 | 4 | 1 | 1,083 |
| 13/14 | AFC Champions League | Sepahan FC | 6 | 0 | 0 | 1 | 0 | 0 |
| 13/14 | Persian Gulf League | Sepahan FC | 29 | 2 | 6 | 1 | 0 | 1,295 |
| 12/13 | AFC Champions League | Sepahan FC | 5 | 0 | 0 | 1 | 0 | 0 |
| 12/13 | Hazfi Cup | Sepahan FC | 3 | 0 | 0 | 0 | 0 | 0 |
| 12/13 | Persian Gulf League | Sepahan FC | 16 | 2 | 1 | 2 | 1 | 674 |
| 12/13 | Persian Gulf League | Tractor Sazi FC | 13 | 4 | 0 | 2 | 0 | 238 |
| 11/12 | Persian Gulf League | Tractor Sazi FC | 32 | 5 | 8 | 3 | 1 | 548 |
| 10/11 | AFC Champions League | Sepahan FC | 7 | 0 | 0 | 1 | 0 | 0 |
| 10/11 | Hazfi Cup | Sepahan FC | 2 | 0 | 0 | 2 | 0 | 0 |
| 10/11 | Persian Gulf League | Sepahan FC | 28 | 2 | 0 | 3 | 1 | 1,065 |
| 09/10 | AFC Champions League | Sepahan FC | 6 | 0 | 0 | 1 | 0 | 0 |
| 09/10 | Hazfi Cup | Sepahan FC | 2 | 0 | 0 | 0 | 0 | 0 |
| 09/10 | Persian Gulf League | Sepahan FC | 32 | 4 | 1 | 7 | 0 | 668 |
| 08/09 | AFC Champions League | Sepahan FC | 6 | 0 | 0 | 0 | 0 | 0 |
| 08/09 | Hazfi Cup | Sepahan FC | 2 | 2 | 0 | 0 | 0 | 90 |
| 08/09 | Persian Gulf League | Sepahan FC | 30 | 6 | 0 | 5 | 0 | 402 |
| 07/08 | AFC Champions League | Sepahan FC | 5 | 0 | 0 | 1 | 0 | 0 |
| 07/08 | Hazfi Cup | Sepahan FC | 3 | 1 | 1 | 0 | 0 | 300 |
| 07/08 | Persian Gulf League | Sepahan FC | 31 | 6 | 0 | 6 | 0 | 410 |
| 06/07 | AFC Champions League | Sepahan FC | 8 | 0 | 0 | 1 | 0 | 0 |
| 06/07 | Hazfi Cup | Sepahan FC | 2 | 0 | 0 | 2 | 0 | 0 |
| 06/07 | Persian Gulf League | Sepahan FC | 9 | 0 | 0 | 0 | 0 | 0 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 04/05 | 2004-07-01 | Zob Ahan Youth | Sepahan FC U17 | Transfer | 0 | — |
| 05/06 | 2005-07-01 | Sepahan FC U17 | Sepahan FC U19 | Transfer | 0 | — |
| 06/07 | 2006-07-01 | Sepahan FC U19 | Sepahan | Transfer | 0 | — |
| 11/12 | 2011-07-01 | Sepahan | Tractor Sazi | Loan | 1000000 | — |
| 12/13 | 2012-12-31 | Tractor Sazi | Sepahan | Return from loan | 1000000 | — |
| 15/16 | 2015-08-31 | Sepahan | FSV Frankfurt | Transfer | 1500000 | — |
| 16/17 | 2016-07-31 | FSV Frankfurt | Sepahan | Transfer | 750000 | — |
| 17/18 | 2017-07-08 | Sepahan | Panionios | Transfer | 1000000 | — |
| 17/18 | 2018-01-02 | Panionios | Olympiacos | Transfer | 1250000 | €600k |
| 18/19 | 2018-09-02 | Olympiacos | Tractor Sazi | Transfer | 1500000 | — |
| 20/21 | 2021-03-13 | Tractor | Sepahan | Transfer | 1100000 | — |
| 21/22 | 2021-08-02 | Sepahan | AEK Athens | Transfer | 950000 | — |
| 25/26 | 2025-07-19 | AEK Athens | Sepahan | Transfer | 300000 | — |
| Season | Injury | From | To | Days missed | Games missed |
|---|---|---|---|---|---|
| 21/22 | Thigh problems | 2021-08-19 | 2021-09-09 | 22 | 2 |
| 21/22 | Corona virus | 2022-01-24 | 2022-01-26 | 3 | 0 |
| 23/24 | concussion | 2023-09-21 | 2023-09-26 | 6 | 2 |
| 23/24 | Muscle injury | 2023-10-26 | 2023-11-06 | 12 | 3 |
| 23/24 | unknown injury | 2023-11-11 | 2023-11-14 | 4 | 1 |
| Date | Value |
|---|---|
| Jan 1, 1970 | €300k |
| Jan 1, 1970 | €500k |
| Jan 1, 1970 | €600k |
| Jan 1, 1970 | €400k |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €1.10m |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €950k |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €1.30m |
| Jan 1, 1970 | €1.30m |
| Jan 1, 1970 | €1.50m |
| Jan 1, 1970 | €1.25m |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €750k |
| Jan 1, 1970 | €900k |
| Jan 1, 1970 | €1.50m |
| Jan 1, 1970 | €1.50m |
| Jan 1, 1970 | €1.20m |
| Jan 1, 1970 | €1.20m |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €650k |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €250k |
No national team data.
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Omid Ebrahimi | 2 | 0 | 0 |
| Shoja Khalilzadeh | 2 | 0 | 0 |
| Damian Szymanski | 2 | 0 | 0 |
| Levi García | 2 | 6 | 0 |
| Nordin Amrabat | 2 | 0 | 0 |
| Petros Mantalos | 2 | 0 | 0 |
| Lazaros Rota | 2 | 0 | 0 |
| Steven Zuber | 2 | 2 | 0 |
| Orbelín Pineda | 2 | 0 | 0 |
Single-season peaks across competitions in this player's career.
Top goalscoring seasons
| Season | Competition | Club | Goals | Matches |
|---|---|---|---|---|
| 08/09 | Persian Gulf League | Sepahan FC | 6 | 30 |
| 12/13 | Persian Gulf League | Tractor Sazi FC | 6 | 29 |
| 07/08 | Persian Gulf League | Sepahan FC | 6 | 31 |
Top assist seasons
| Season | Competition | Club | Assists | Matches |
|---|---|---|---|---|
| 11/12 | Persian Gulf League | Tractor Sazi FC | 8 | 32 |
| 16/17 | Persian Gulf League | Sepahan FC | 8 | 25 |
| 13/14 | Persian Gulf League | Sepahan FC | 6 | 29 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 12/13 | 2012-12-31 | Tractor Sazi | Sepahan | Return from loan | — | €1.00m |
| 11/12 | 2011-07-01 | Sepahan | Tractor Sazi | Loan | — | €1.00m |
Teams faced most often by Ehsan Hajsafi's clubs during seasons he played in those competitions (team-level results, not personal head-to-head goals — see disclaimer above).
| Opponent | P | W | D | L | GF | GA | GD | Win % |
|---|---|---|---|---|---|---|---|---|
| VfL Bochum | 8 | 5 | 1 | 2 | 16 | 17 | -1 | 63% |
| 1. FC Union Berlin | 8 | 2 | 1 | 5 | 9 | 15 | -6 | 25% |
| SV Sandhausen | 8 | 2 | 2 | 4 | 8 | 10 | -2 | 25% |
| TSV 1860 München | 8 | 4 | 1 | 3 | 10 | 8 | +2 | 50% |
| 1. FC Kaiserslautern | 8 | 1 | 1 | 6 | 7 | 18 | -11 | 13% |
| SC Paderborn 07 | 8 | 1 | 2 | 5 | 8 | 17 | -9 | 13% |
| VfR Aalen | 8 | 3 | 2 | 3 | 11 | 10 | +1 | 38% |
| FC St. Pauli | 8 | 4 | 2 | 2 | 12 | 11 | +1 | 50% |
| Karlsruher SC | 6 | 0 | 2 | 4 | 8 | 14 | -6 | 0% |
| MSV Duisburg | 6 | 2 | 3 | 1 | 9 | 8 | +1 | 33% |
| Fortuna Düsseldorf | 6 | 1 | 2 | 3 | 4 | 7 | -3 | 17% |
| Eintracht Braunschweig | 6 | 0 | 2 | 4 | 3 | 12 | -9 | 0% |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 06/07 | Senior debut season | |
| 07/08 | First senior goal | |
| 17/18 | Goal #50 (career) |
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′ |
|---|---|---|---|---|---|---|
| 25/26 | 3 | 0 | 1 | 0 | 0 | 0 |
| 24/25 | 23 | 934 | 4 | 0 | 0 | 0.39 |
| 23/24 | 29 | 0 | 3 | 0 | 0 | 0 |
| 22/23 | 34 | 0 | 4 | 0 | 0 | 0 |
| 21/22 | 32 | 1,878 | 3 | 0 | 0 | 0.14 |
| 2008 | 2 | 0 | 1 | 0 | 0 | 0 |
| 20/21 | 31 | 1,894 | 4 | 0 | 0 | 0.19 |
| 19/20 | 33 | 435 | 7 | 0 | 0 | 1.45 |
| 18/19 | 24 | 0 | 1 | 0 | 0 | 0 |
| 17/18 | 27 | 1,967 | 2 | 0 | 0 | 0.09 |
| 16/17 | 29 | 840 | 4 | 0 | 0 | 0.43 |
| 15/16 | 33 | 1,265 | 4 | 1 | 0 | 0.36 |
| 14/15 | 26 | 1,083 | 4 | 0 | 1 | 0.42 |
| 13/14 | 35 | 1,295 | 2 | 0 | 0 | 0.14 |
| 12/13 | 37 | 912 | 5 | 0 | 1 | 0.59 |
| 11/12 | 32 | 548 | 3 | 0 | 1 | 0.66 |
| 10/11 | 37 | 1,065 | 6 | 0 | 1 | 0.59 |
| 09/10 | 40 | 668 | 8 | 0 | 0 | 1.08 |
| 08/09 | 38 | 492 | 5 | 0 | 0 | 0.91 |
| 07/08 | 39 | 710 | 7 | 0 | 0 | 0.89 |
| 06/07 | 19 | 0 | 3 | 0 | 0 | 0 |
Output by competition
Career goals and assists broken down by tournament.
More on Ehsan Hajsafi
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about Ehsan Hajsafi
Who is Ehsan Hajsafi?
Ehsan Hajsafi is an Iran professional footballer who plays as a left-back for Sepahan FC.
How old is Ehsan Hajsafi?
Ehsan Hajsafi is 36 years old. He was born on February 25, 1990 in Kashan, Isfahan.
What position does Ehsan Hajsafi play?
Ehsan Hajsafi plays as a left-back (Defender - Left-Back).
What club does Ehsan Hajsafi play for?
Ehsan Hajsafi currently plays for Sepahan FC.
How many career goals has Ehsan Hajsafi scored?
Across all senior club competitions in our dataset, Ehsan Hajsafi has scored 63 goals in 603 appearances.
What is Ehsan Hajsafi's market value?
Ehsan Hajsafi's most recent reported market value is €300k.
Iran