Perry Ng
Career snapshot
Career highs
Born the same day
Shares 1996-06-24 · 6 players total
| Full name | Perry Ng |
|---|---|
| Name in home country | Perry Tian Hee Ng |
| Date of birth | 1996-06-24 (29 yrs) |
| Place of birth | Liverpool, England |
| Citizenship | England Singapore |
| Position | Defender - Right-Back (main: Defender) |
| Foot | right |
| Height | 180.00 m |
| Current club | Cardiff City |
| Joined | 2021-01-19 |
| Contract expires | 2026-06-30 |
| Agent | Sports Invest UK ltd |
| Club | Seasons | First | Last | Matches | Goals | Assists | Minutes |
|---|---|---|---|---|---|---|---|
| Cardiff City | 6 | 20/21 | 25/26 | 185 | 9 | 14 | 5,218 |
| Crewe Alexandra | 7 | 14/15 | 20/21 | 183 | 7 | 15 | 3,762 |
| Hyde FC | 1 | 14/15 | 14/15 | 13 | 1 | 0 | 1,170 |
Career trajectory — goals, assists & market value
Goals by season
Assists by season
| Season | Competition | Club | Matches | Goals | Assists | YC | RC | Minutes |
|---|---|---|---|---|---|---|---|---|
| 25/26 | EFL Cup | Cardiff City | 1 | 0 | 0 | 1 | 0 | 0 |
| 25/26 | League One | Cardiff City | 1 | 0 | 0 | 0 | 0 | 0 |
| 24/25 | Championship | Cardiff City | 35 | 1 | 1 | 9 | 0 | 2,790 |
| 24/25 | FA Cup | Cardiff City | 2 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | Championship | Cardiff City | 39 | 6 | 4 | 9 | 0 | 568 |
| 23/24 | EFL Cup | Cardiff City | 1 | 0 | 0 | 0 | 0 | 0 |
| 23/24 | FA Cup | Cardiff City | 1 | 0 | 0 | 0 | 0 | 0 |
| 22/23 | Championship | Cardiff City | 43 | 2 | 2 | 6 | 0 | 1,860 |
| 22/23 | FA Cup | Cardiff City | 1 | 0 | 0 | 0 | 0 | 0 |
| 21/22 | Championship | Cardiff City | 39 | 0 | 3 | 10 | 0 | 0 |
| 21/22 | EFL Cup | Cardiff City | 1 | 0 | 0 | 0 | 0 | 0 |
| 21/22 | FA Cup | Cardiff City | 2 | 0 | 0 | 1 | 0 | 0 |
| 20/21 | Championship | Cardiff City | 19 | 0 | 4 | 3 | 0 | 0 |
| 20/21 | EFL Cup | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 20/21 | EFL Trophy | Crewe Alexandra | 2 | 0 | 0 | 0 | 0 | 0 |
| 20/21 | FA Cup | Crewe Alexandra | 2 | 0 | 0 | 0 | 0 | 0 |
| 20/21 | League One | Crewe Alexandra | 15 | 1 | 0 | 3 | 0 | 1,350 |
| 19/20 | EFL Cup | Crewe Alexandra | 2 | 0 | 0 | 1 | 0 | 0 |
| 19/20 | EFL Trophy | Crewe Alexandra | 3 | 0 | 0 | 0 | 0 | 0 |
| 19/20 | FA Cup | Crewe Alexandra | 4 | 0 | 1 | 1 | 0 | 0 |
| 19/20 | League Two | Crewe Alexandra | 36 | 2 | 5 | 3 | 0 | 1,610 |
| 18/19 | EFL Cup | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | EFL Trophy | Crewe Alexandra | 3 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | FA Cup | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 18/19 | League Two | Crewe Alexandra | 44 | 0 | 8 | 10 | 0 | 0 |
| 17/18 | EFL Cup | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | EFL Trophy | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 17/18 | FA Cup | Crewe Alexandra | 3 | 0 | 0 | 1 | 0 | 0 |
| 17/18 | League Two | Crewe Alexandra | 38 | 4 | 1 | 8 | 0 | 802 |
| 16/17 | EFL Cup | Crewe Alexandra | 1 | 0 | 0 | 0 | 0 | 0 |
| 16/17 | EFL Trophy | Crewe Alexandra | 1 | 0 | 0 | 1 | 0 | 0 |
| 16/17 | FA Cup | Crewe Alexandra | 2 | 0 | 0 | 0 | 0 | 0 |
| 16/17 | League Two | Crewe Alexandra | 16 | 0 | 0 | 1 | 0 | 0 |
| 15/16 | League One | Crewe Alexandra | 6 | 0 | 0 | 1 | 0 | 0 |
| 14/15 | FA Cup | Crewe Alexandra | 0 | 0 | 0 | 0 | 0 | 0 |
| 14/15 | League One | Crewe Alexandra | 0 | 0 | 0 | 0 | 0 | 0 |
| 14/15 | National League North | Hyde FC | 13 | 1 | 0 | 0 | 0 | 1,170 |
| Season | Date | From | To | Type | Market value | Fee |
|---|---|---|---|---|---|---|
| 14/15 | 2014-07-01 | Crewe U18 | Crewe Alexandra | Transfer | 0 | — |
| 14/15 | 2015-01-30 | Crewe Alexandra | Hyde FC | Loan | 0 | — |
| 14/15 | 2015-04-01 | Hyde FC | Crewe Alexandra | Return from loan | 0 | — |
| 20/21 | 2021-01-19 | Crewe Alexandra | Cardiff | Transfer | 50000 | €300k |
No recorded injuries.
| Date | Value |
|---|---|
| Jan 1, 1970 | €3.00m |
| Jan 1, 1970 | €3.80m |
| Jan 1, 1970 | €3.50m |
| Jan 1, 1970 | €3.80m |
| Jan 1, 1970 | €3.80m |
| Jan 1, 1970 | €3.50m |
| Jan 1, 1970 | €2.00m |
| Jan 1, 1970 | €2.50m |
| Jan 1, 1970 | €1.50m |
| Jan 1, 1970 | €600k |
| Jan 1, 1970 | €1.50m |
| Jan 1, 1970 | €50k |
| Jan 1, 1970 | €50k |
No national team data.
| Teammate | PPG played with | Joint goals | Minutes |
|---|---|---|---|
| Callum Ainley | 1 | 2 | 0 |
| Charlie Kirk | 1 | 4 | 0 |
| Harry Pickering | 1 | 1 | 0 |
| Tom Lowery | 2 | 1 | 0 |
| James Jones | 2 | 1 | 0 |
| Ben Garratt | 1 | 0 | 0 |
| Jordan Bowery | 1 | 2 | 0 |
| Callum O'Dowda | 1 | 1 | 0 |
| Mark McGuinness | 1 | 0 | 0 |
| Owen Dale | 2 | 0 | 0 |
| Dimitrios Goutas | 1 | 0 | 0 |
| Mark Harris | 1 | 0 | 0 |
| Oli Finney | 2 | 0 | 0 |
| Yakou Méïté | 1 | 0 | 0 |
| Will Jääskeläinen | 2 | 0 | 0 |
Single-season peaks across competitions in this player's career.
Top goalscoring seasons
| Season | Competition | Club | Goals | Matches |
|---|---|---|---|---|
| 23/24 | Championship | Cardiff City | 6 | 39 |
| 17/18 | League Two | Crewe Alexandra | 4 | 38 |
| 22/23 | Championship | Cardiff City | 2 | 43 |
Top assist seasons
| Season | Competition | Club | Assists | Matches |
|---|---|---|---|---|
| 18/19 | League Two | Crewe Alexandra | 8 | 44 |
| 19/20 | League Two | Crewe Alexandra | 5 | 36 |
| 20/21 | Championship | Cardiff City | 4 | 19 |
Every loan spell across this player's career.
| Season | Date | From | To | Type | Fee | Value at transfer |
|---|---|---|---|---|---|---|
| 14/15 | 2015-04-01 | Hyde FC | Crewe Alexandra | Return from loan | — | — |
| 14/15 | 2015-01-30 | Crewe Alexandra | Hyde FC | Loan | — | — |
Last 50 matches for Cardiff City The Availability column cross-references our injury database — matches inside a known injury window are flagged INJURED. Per-match goal attribution requires a paid feed (FBref/Sofascore) and isn't wired up yet.
| Date | Comp | Home | Score | Away | Availability |
|---|---|---|---|---|---|
| 2026-02-07 | GB3 |
Rotherham United | 0–3 | Cardiff City | Available |
| 2026-01-31 | GB3 |
Burton Albion | 2–2 | Cardiff City | Available |
| 2026-01-27 | GB3 |
Cardiff City | 4–0 | Barnsley FC | Available |
| 2026-01-24 | GB3 |
Cardiff City | 1–1 | Stockport County | Available |
| 2026-01-17 | GB3 |
Bradford City | 1–2 | Cardiff City | Available |
| 2026-01-10 | GB3 |
Leyton Orient | 1–1 | Cardiff City | Available |
| 2026-01-04 | GB3 |
Cardiff City | 1–0 | Wigan Athletic | Available |
| 2026-01-01 | GB3 |
Wycombe Wanderers | 1–1 | Cardiff City | Available |
| 2025-12-29 | GB3 |
Cardiff City | 3–0 | Stevenage FC | Available |
| 2025-12-26 | GB3 |
Cardiff City | 3–0 | Exeter City | Available |
| 2025-12-20 | GB3 |
Lincoln City | 0–1 | Cardiff City | Available |
| 2025-12-13 | GB3 |
Cardiff City | 4–0 | Doncaster Rovers | Available |
| 2025-12-09 | GB3 |
Stevenage FC | 0–2 | Cardiff City | Available |
| 2025-11-29 | GB3 |
Cardiff City | 3–0 | Mansfield Town | Available |
| 2025-11-22 | GB3 |
Northampton Town | 0–2 | Cardiff City | Available |
| 2025-11-15 | GB3 |
Cardiff City | 2–1 | Huddersfield Town | Available |
| 2025-11-08 | GB3 |
Blackpool FC | 0–2 | Cardiff City | Available |
| 2025-10-25 | GB3 |
Bolton Wanderers | 1–0 | Cardiff City | Available |
| 2025-10-18 | GB3 |
Cardiff City | 2–1 | Reading FC | Available |
| 2025-10-04 | GB3 |
Cardiff City | 4–3 | Leyton Orient | Available |
| 2025-09-30 | GB3 |
Cardiff City | 0–1 | Burton Albion | Available |
| 2025-09-27 | GB3 |
Wigan Athletic | 0–2 | Cardiff City | Available |
| 2025-09-20 | GB3 |
Cardiff City | 1–3 | Bradford City | Available |
| 2025-09-13 | GB3 |
Stockport County | 1–1 | Cardiff City | Available |
| 2025-08-30 | GB3 |
Cardiff City | 4–0 | Plymouth Argyle | Available |
| 2025-08-23 | GB3 |
Luton Town | 0–1 | Cardiff City | Available |
| 2025-08-19 | GB3 |
AFC Wimbledon | 0–1 | Cardiff City | Available |
| 2025-08-16 | GB3 |
Cardiff City | 3–0 | Rotherham United | Available |
| 2025-08-07 | GB3 |
Port Vale FC | 0–0 | Cardiff City | Available |
| 2025-08-02 | GB3 |
Cardiff City | 2–1 | Peterborough United | Available |
| 2025-02-28 | GB1 |
Aston Villa | 2–0 | Cardiff City | Available |
| 2024-08-28 | CGB |
Cardiff City | 3–5 | Southampton FC | Available |
| 2024-08-13 | CGB |
Cardiff City | 2–0 | Bristol Rovers | Available |
| 2023-09-27 | CGB |
Blackburn Rovers | 5–2 | Cardiff City | Available |
| 2023-08-29 | CGB |
Birmingham City | 1–3 | Cardiff City | Available |
| 2023-08-09 | CGB |
Cardiff City | 3–0 | Colchester United | Available |
| 2022-08-09 | CGB |
Cardiff City | 0–3 | Portsmouth FC | Available |
| 2021-08-24 | CGB |
Cardiff City | 0–2 | Brighton & Hove Albion | Available |
| 2021-08-10 | CGB |
Cardiff City | 3–2 | Sutton United | Available |
| 2020-09-05 | CGB |
Northampton Town | 3–0 | Cardiff City | Available |
| 2020-06-30 | GB2 |
Cardiff City | 0–0 | Charlton Athletic | Available |
| 2020-06-27 | GB2 |
Preston North End | 1–3 | Cardiff City | Available |
| 2020-06-21 | GB2 |
Cardiff City | 2–0 | Leeds United | Available |
| 2020-03-07 | GB2 |
Barnsley FC | 0–2 | Cardiff City | Available |
| 2020-02-29 | GB2 |
Cardiff City | 2–2 | Brentford FC | Available |
| 2020-02-25 | GB2 |
Cardiff City | 0–1 | Nottingham Forest | Available |
| 2020-02-22 | GB2 |
Stoke City | 2–0 | Cardiff City | Available |
| 2020-02-15 | GB2 |
Cardiff City | 2–2 | Wigan Athletic | Available |
| 2020-02-12 | GB2 |
Huddersfield Town | 0–3 | Cardiff City | Available |
| 2020-02-08 | GB2 |
Luton Town | 0–1 | Cardiff City | Available |
Teams faced most often by Perry Ng'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 % |
|---|---|---|---|---|---|---|---|---|
| Swindon Town | 14 | 5 | 4 | 5 | 19 | 21 | -2 | 36% |
| Colchester United | 12 | 5 | 4 | 3 | 12 | 14 | -2 | 42% |
| Doncaster Rovers | 10 | 4 | 4 | 2 | 13 | 11 | +2 | 40% |
| Crawley Town | 10 | 7 | 3 | 0 | 18 | 8 | +10 | 70% |
| Gillingham FC | 10 | 3 | 3 | 4 | 10 | 11 | -1 | 30% |
| Walsall FC | 10 | 4 | 4 | 2 | 10 | 8 | +2 | 40% |
| Grimsby Town | 10 | 4 | 0 | 6 | 9 | 15 | -6 | 40% |
| Newport County | 9 | 2 | 3 | 4 | 12 | 15 | -3 | 22% |
| Bradford City | 9 | 3 | 2 | 4 | 7 | 10 | -3 | 33% |
| Accrington Stanley | 8 | 2 | 2 | 4 | 6 | 8 | -2 | 25% |
| Notts County | 8 | 4 | 1 | 3 | 10 | 10 | 0 | 50% |
| Port Vale FC | 8 | 3 | 2 | 3 | 7 | 8 | -1 | 38% |
Auto-detected milestones based on cumulative career totals.
| Season / Year | Milestone | Date |
|---|---|---|
| 14/15 | Senior debut season | |
| 14/15 | First senior goal |
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 | 2 | 0 | 1 | 0 | 0 | 0 |
| 24/25 | 37 | 2,790 | 9 | 0 | 0 | 0.29 |
| 23/24 | 41 | 568 | 9 | 0 | 0 | 1.43 |
| 22/23 | 44 | 1,860 | 6 | 1 | 0 | 0.34 |
| 21/22 | 42 | 0 | 11 | 0 | 0 | 0 |
| 20/21 | 39 | 1,350 | 6 | 0 | 0 | 0.4 |
| 19/20 | 45 | 1,610 | 5 | 1 | 0 | 0.34 |
| 18/19 | 49 | 0 | 10 | 0 | 0 | 0 |
| 17/18 | 43 | 802 | 9 | 1 | 0 | 1.12 |
| 16/17 | 20 | 0 | 2 | 0 | 0 | 0 |
| 15/16 | 6 | 0 | 1 | 0 | 0 | 0 |
Output by competition
Career goals and assists broken down by tournament.
More on Perry Ng
Explore this player's career through different angles.
Similar players
Same position, similar age, sorted by market value.
Frequently asked about Perry Ng
Who is Perry Ng?
Perry Ng is an England professional footballer who plays as a right-back for Cardiff City.
How old is Perry Ng?
Perry Ng is 29 years old. He was born on June 24, 1996 in Liverpool.
What position does Perry Ng play?
Perry Ng plays as a right-back (Defender - Right-Back).
What club does Perry Ng play for?
Perry Ng currently plays for Cardiff City.
How many career goals has Perry Ng scored?
Across all senior club competitions in our dataset, Perry Ng has scored 17 goals in 381 appearances.
What is Perry Ng's market value?
Perry Ng's most recent reported market value is €3.00m.