David Odogu 19
The DNA strand needs 270 minutes for Toulouse in this window — 0 so far.
The DNA strand needs 270 minutes for Toulouse in this window — 0 so far; it appears once the sample is there.
The DNA strand needs 270 minutes for AC Milan in this window — 5 so far.
Also at AC Milan (2 apps, 5′, 0+0) in the last 365 days.
Started record · Toulouse results by his involvement
No matches for this selection.
"Not in squad" counts the club's matches with lineup coverage while he was listed at the club. A record, not an effect.
Last 2 appearances anywhere, newest first · includes matches for AC Milan.
| Date | Match | Pos | Min | G | A | xG | Sh | KP | Rating |
|---|---|---|---|---|---|---|---|---|---|
| 2026-03-21 | W 3–2 v Torino for AC Milan · Serie A | Defender sub | 1 | 0.0 | 0.0 | 0.0 | – | ||
| 2025-12-28 | W 3–0 v Hellas Verona for AC Milan · Serie A | Defender sub | 4 | 0.0 | 0.0 | 0.0 | – |
xG and shots need detailed match coverage; a dash means the match had none.
Toulouse
| Season | Apps | Starts | Min | G | A | xG | Rating | Top scorers | Assists |
|---|---|---|---|---|---|---|---|---|---|
| 2026/2027 · Ligue 1 current On loan · from AC Milan | 0 | 0 | 0 0% | 0 | 0 | – | – | – | – |
AC Milan · also in the window
| Season | Apps | Starts | Min | G | A | xG | Rating | Top scorers | Assists |
|---|---|---|---|---|---|---|---|---|---|
| 2026/2027 · Europa League current | 0 | 0 | 0 | 0 | 0 | – | – | – | – |
| 2026/2027 · Serie A current | 0 | 0 | 0 | 0 | 0 | – | – | – | – |
| 2025/2026 · Serie A | 2 | 0 | 5 0% | 0 | 0 | 0.0 | – | – | – |
Rating percentile is within the domestic league and position for that season. Top-scorer and assist ranks come from the provider's season leaderboards where the competition publishes them.
Transfers · 2 moves · €7m in fees · 1 unconfirmed not shown
-
18 Aug 2026
Loan
AC Milan →
Toulouse
Centre Back
-
1 Sep 2025
Transfer
VfL Wolfsburg →
AC Milan
€7m
Centre Back
Injuries and suspensions · 0 spells
No spells recorded.
Compare David Odogu with any player in a current squad. The overall block is always mirrored; the positional strand and radar are mirrored when the declared position groups match.
Germany