David Otto
Career snapshot
Position rank · 25/26
Among 573 Attack - Centre-Forwards · ≥200 mins
Career highs
Born the same day
Shares 1999-03-03 · 6 players total
| Full name | David Otto |
|---|---|
| Date of birth | 1999-03-03 (27 yrs) |
| Place of birth | Pforzheim, Germany |
| Citizenship | Germany |
| Position | Attack - Centre-Forward (main: Attack) |
| Foot | right |
| Height | 185.00 m |
| Current club | FC Viktoria Köln |
| Joined | 2025-07-01 |
| Contract expires | 2027-06-30 |
| Agent | Unique Sports Group |
Percentile rank vs 49 other Attack - Centre-Forwards with ≥500 minutes in 25/26. Higher = better (except cards, where lower = better — inverted automatically).
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| FC Viktoria Köln | 1 | 25/26 | 25/26 | 5 | 2 | 1 | 420 |
| SV Sandhausen | 2 | 23/24 | 24/25 | 83 | 19 | 10 | 969 |
| FC St. Pauli | 1 | 22/23 | 22/23 | 29 | 3 | 0 | 393 |
| SSV Jahn Regensburg | 2 | 20/21 | 21/22 | 41 | 4 | 4 | 1,145 |
| SSV Jahn Regensburg II | 1 | 21/22 | 21/22 | 1 | 0 | 0 | 0 |
| 1.FC Heidenheim 1846 | 2 | 19/20 | 20/21 | 34 | 1 | 6 | 1,062 |
| TSG 1899 Hoffenheim | 2 | 17/18 | 18/19 | 4 | 0 | 0 | 0 |
| TSG 1899 Hoffenheim II | 2 | 17/18 | 18/19 | 10 | 1 | 1 | 633 |
| TSG 1899 Hoffenheim UEFA U19 | 1 | 18/19 | 18/19 | 8 | 2 | 3 | 360 |
| TSG 1899 Hoffenheim U19 | 3 | 15/16 | 17/18 | 59 | 42 | 25 | 812 |
| TSG 1899 Hoffenheim U17 | 1 | 15/16 | 15/16 | 22 | 17 | 3 | 109 |
Career trajectory — goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 25/26 | 3. Liga | FC Viktoria Köln | 4 | 1 | 1 | 1 | 0 | 330 |
| 25/26 | DFB-Pokal | FC Viktoria Köln | 1 | 1 | 0 | 0 | 0 | 90 |
| 25/26 | Mittelrheinpokal | FC Viktoria Köln | 0 | 0 | 0 | 0 | 0 | 0 |
| 24/25 | 3. Liga | SV Sandhausen | 35 | 5 | 6 | 2 | 0 | 487 |
| 24/25 | Badenpokal | SV Sandhausen | 3 | 2 | 0 | 0 | 0 | 98 |
| 24/25 | DFB-Pokal | SV Sandhausen | 1 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | 3. Liga | SV Sandhausen | 38 | 8 | 3 | 1 | 0 | 320 |
| 23/24 | Badenpokal | SV Sandhausen | 4 | 4 | 0 | 0 | 0 | 64 |
| 23/24 | DFB-Pokal | SV Sandhausen | 2 | 0 | 1 | 0 | 0 | 0 |
| 22/23 | 2. Bundesliga | FC St. Pauli | 27 | 2 | 0 | 3 | 0 | 332 |
| 22/23 | DFB-Pokal | FC St. Pauli | 2 | 1 | 0 | 0 | 0 | 61 |
| 21/22 | 2. Bundesliga | SSV Jahn Regensburg | 20 | 3 | 2 | 1 | 1 | 305 |
| 21/22 | Bayernliga Süd | SSV Jahn Regensburg II | 1 | 0 | 0 | 1 | 0 | 0 |
| 21/22 | DFB-Pokal | SSV Jahn Regensburg | 2 | 0 | 1 | 1 | 0 | 0 |
| 20/21 | 2. Bundesliga | 1.FC Heidenheim 1846 | 5 | 0 | 0 | 1 | 0 | 0 |
| 20/21 | 2. Bundesliga | SSV Jahn Regensburg | 17 | 1 | 1 | 2 | 0 | 840 |
| 20/21 | DFB-Pokal | SSV Jahn Regensburg | 2 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | 2. Bundesliga | 1.FC Heidenheim 1846 | 25 | 1 | 5 | 2 | 0 | 1,062 |
| 19/20 | Bundesliga Playoffs | 1.FC Heidenheim 1846 | 2 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | DFB-Pokal | 1.FC Heidenheim 1846 | 2 | 0 | 1 | 0 | 0 | 0 |
| 18/19 | Bundesliga | TSG 1899 Hoffenheim | 3 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | DFB-Pokal | TSG 1899 Hoffenheim | 0 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | Regionalliga Südwest | TSG 1899 Hoffenheim II | 8 | 1 | 1 | 2 | 0 | 633 |
| 18/19 | UEFA Youth League | TSG 1899 Hoffenheim UEFA U19 | 8 | 2 | 3 | 2 | 0 | 360 |
| 17/18 | DFB-Jun.-Pokal | TSG 1899 Hoffenheim U19 | 3 | 1 | 1 | 0 | 0 | 270 |
| 17/18 | Europa League | TSG 1899 Hoffenheim | 1 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | Regionalliga Südwest | TSG 1899 Hoffenheim II | 2 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | U19-BL Finals | TSG 1899 Hoffenheim U19 | 2 | 0 | 0 | 1 | 0 | 0 |
| 17/18 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 22 | 27 | 14 | 7 | 0 | 73 |
| 16/17 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 21 | 10 | 9 | 3 | 0 | 163 |
| 15/16 | U17-Bundesliga South/Southwest | TSG 1899 Hoffenheim U17 | 22 | 17 | 3 | 2 | 0 | 109 |
| 15/16 | U19-BL Finals | TSG 1899 Hoffenheim U19 | 3 | 2 | 0 | 0 | 0 | 111 |
| 15/16 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 8 | 2 | 1 | 0 | 0 | 195 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 12/13 | 2012-07-01 | Birkenfeld Yth. | Hoffenheim Yth. | Transfer | 0 | — |
| 15/16 | 2015-07-01 | Hoffenheim Yth. | Hoffenheim U17 | Transfer | 0 | — |
| 16/17 | 2016-07-01 | Hoffenheim U17 | Hoffenheim U19 | Transfer | 0 | — |
| 17/18 | 2018-01-17 | Hoffenheim U19 | TSG Hoffenheim | Transfer | 0 | — |
| 19/20 | 2019-07-01 | TSG Hoffenheim | Heidenheim | Loan | 1000000 | — |
| 20/21 | 2021-01-19 | Heidenheim | TSG Hoffenheim | Return from loan | 800000 | — |
| 20/21 | 2021-01-20 | TSG Hoffenheim | J. Regensburg | Loan | 800000 | — |
| 21/22 | 2022-06-30 | J. Regensburg | TSG Hoffenheim | Return from loan | 500000 | — |
| 22/23 | 2022-07-01 | TSG Hoffenheim | FC St. Pauli | Transfer | 500000 | €250k |
| 23/24 | 2023-07-25 | FC St. Pauli | SV Sandhausen | Transfer | 500000 | — |
| 25/26 | 2025-07-01 | SV Sandhausen | Viktoria Köln | Transfer | 350000 | — |
| Season | Injury | From | To | Days missed | Games missed |
|---|---|---|---|---|---|
| 17/18 | Knock | 2018-02-05 | 2018-02-19 | 15 | 2 |
| 17/18 | Knock | 2018-03-05 | 2018-03-26 | 22 | 2 |
| 18/19 | Knee problems | 2018-08-28 | 2018-09-03 | 7 | 1 |
| 18/19 | Bone edema | 2018-11-29 | 2018-12-24 | 26 | 6 |
| 20/21 | Hip injury | 2020-12-15 | 2021-01-18 | 35 | 5 |
| 21/22 | Ankle injury | 2021-08-24 | 2021-10-06 | 44 | 5 |
| 23/24 | Muscle injury | 2023-12-20 | 2024-01-03 | 15 | 0 |
| Date | Value |
|---|---|
| Jan 1, 1970 | €350k |
| Jan 1, 1970 | €400k |
| Jan 1, 1970 | €400k |
| Jan 1, 1970 | €500k |
| Jan 1, 1970 | €500k |
| Jan 1, 1970 | €500k |
| Jan 1, 1970 | €600k |
| Jan 1, 1970 | €500k |
| Jan 1, 1970 | €700k |
| Jan 1, 1970 | €700k |
| Jan 1, 1970 | €700k |
| Jan 1, 1970 | €800k |
| Jan 1, 1970 | €900k |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €1.00m |
| Jan 1, 1970 | €600k |
| Jan 1, 1970 | €600k |
| Jan 1, 1970 | €200k |
No national team data.
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Samuel Lengle | 2 | 1 | 0 |
| Marco Schikora | 1 | 0 | 0 |
| Jakob Lewald | 1 | 0 | 0 |
| Yassin Ben Balla | 2 | 0 | 0 |
| Erik Wekesser | 1 | 0 | 0 |
| Max Geschwill | 2 | 0 | 0 |
| Patrick Greil | 1 | 2 | 0 |
| Benedikt Gimber | 1 | 0 | 0 |
| Stefan Drljaca | 2 | 0 | 0 |
| Max Besuschkow | 1 | 0 | 0 |
| Alexander Meyer | 1 | 0 | 0 |
| Alfons Amade | 2 | 6 | 0 |
| Noah Schorn | 2 | 2 | 0 |
| Steffen Foshag | 2 | 3 | 0 |
| Tim Wöhrle | 2 | 0 | 0 |
| Luca Zander | 1 | 0 | 0 |
| Lennart Grimmer | 2 | 2 | 0 |
| Alexander Mühling | 2 | 0 | 0 |
| Emilian Lässig | 2 | 5 | 0 |
| Domenico Alberico | 2 | 7 | 0 |
Single-season peaks across competitions in this player's career.
Top goalscoring seasons
| Season | Competition | Club | Goals | Matches |
|---|---|---|---|---|
| 17/18 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 27 | 22 |
| 15/16 | U17-Bundesliga South/Southwest | TSG 1899 Hoffenheim U17 | 17 | 22 |
| 16/17 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 10 | 21 |
Top assist seasons
| Season | Competition | Club | Assists | Matches |
|---|---|---|---|---|
| 17/18 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 14 | 22 |
| 16/17 | U19-Bundesliga S/SW | TSG 1899 Hoffenheim U19 | 9 | 21 |
| 24/25 | 3. Liga | SV Sandhausen | 6 | 35 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 21/22 | 2022-06-30 | J. Regensburg | TSG Hoffenheim | Return from loan | — | €500k |
| 20/21 | 2021-01-20 | TSG Hoffenheim | J. Regensburg | Loan | — | €800k |
| 20/21 | 2021-01-19 | Heidenheim | TSG Hoffenheim | Return from loan | — | €800k |
| 19/20 | 2019-07-01 | TSG Hoffenheim | Heidenheim | Loan | — | €1.00m |
Teams faced most often by David Otto'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 % |
|---|---|---|---|---|---|---|---|---|
| 1. FC Heidenheim 1846 | 32 | 11 | 8 | 13 | 41 | 42 | -1 | 34% |
| 1. FC Nürnberg | 30 | 13 | 5 | 12 | 39 | 37 | +2 | 43% |
| SpVgg Greuther Fürth | 30 | 10 | 9 | 11 | 39 | 46 | -7 | 33% |
| Erzgebirge Aue | 28 | 8 | 6 | 14 | 38 | 49 | -11 | 29% |
| Arminia Bielefeld | 28 | 9 | 12 | 7 | 28 | 33 | -5 | 32% |
| Fortuna Düsseldorf | 27 | 9 | 7 | 11 | 27 | 27 | 0 | 33% |
| Karlsruher SC | 26 | 9 | 7 | 10 | 42 | 40 | +2 | 35% |
| Holstein Kiel | 26 | 10 | 7 | 9 | 43 | 42 | +1 | 38% |
| Jahn Regensburg | 26 | 10 | 6 | 10 | 38 | 41 | -3 | 38% |
| Dynamo Dresden | 24 | 11 | 6 | 7 | 36 | 26 | +10 | 46% |
| SV Darmstadt 98 | 24 | 6 | 6 | 12 | 26 | 44 | -18 | 25% |
| VfL Bochum | 24 | 6 | 11 | 7 | 35 | 34 | +1 | 25% |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 15/16 | Senior debut season | |
| 15/16 | 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 | 5 | 420 | 1 | 0 | 0 | 0.21 |
| 24/25 | 39 | 585 | 2 | 0 | 0 | 0.31 |
| 23/24 | 44 | 384 | 1 | 0 | 0 | 0.23 |
| 22/23 | 29 | 393 | 3 | 0 | 0 | 0.69 |
| 21/22 | 23 | 305 | 3 | 0 | 1 | 1.18 |
| 20/21 | 24 | 840 | 3 | 0 | 0 | 0.32 |
| 19/20 | 29 | 1,062 | 2 | 0 | 0 | 0.17 |
| 18/19 | 19 | 993 | 4 | 0 | 0 | 0.36 |
| 17/18 | 30 | 343 | 8 | 0 | 0 | 2.1 |
| 16/17 | 21 | 163 | 3 | 0 | 0 | 1.66 |
| 15/16 | 33 | 415 | 2 | 0 | 0 | 0.43 |
Output by competition
Career goals and assists broken down by tournament.
More on David Otto
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about David Otto
Who is David Otto?
David Otto is a Germany professional footballer who plays as a centre-forward for FC Viktoria Köln.
How old is David Otto?
David Otto is 27 years old. He was born on March 3, 1999 in Pforzheim.
What position does David Otto play?
David Otto plays as a centre-forward (Attack - Centre-Forward).
What club does David Otto play for?
David Otto currently plays for FC Viktoria Köln.
How many career goals has David Otto scored?
Across all senior club competitions in our dataset, David Otto has scored 91 goals in 296 appearances.
What is David Otto's market value?
David Otto's most recent reported market value is €350k.
Germany