HYROX Cape Town 2025: Open Men results

781 finishers on 19 Jul 2025. Typical finish 1:35:32, fastest 10% under 1:15:09. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Janco Lotter 🇿🇦 RSA1st of 99 aged 16-24 16-24 1:02:25 33:00 25:21 4:09 3:55 2:02 3:32 2:43 4:08 1:28 3:10 4:23
2 Simon Goldsbrough 🇿🇦 RSA1st of 169 aged 30-34 30-34 1:02:29 0:04 31:36 27:05 3:52 4:09 2:14 3:12 3:19 4:25 1:27 3:36 4:43
3 Elijah Polydorou 🇿🇦 RSA1st of 156 aged 25-29 25-29 1:02:44 0:19 31:20 27:37 3:52 4:01 2:59 2:54 3:43 4:13 1:26 3:53 4:28
4 Charles Nel 🇿🇦 RSA2nd of 169 aged 30-34 30-34 1:02:52 0:27 30:35 28:17 4:03 4:02 2:00 4:01 3:35 4:21 1:56 3:16 5:06
5 Dean Berndt 🇿🇦 RSA1st of 145 aged 35-39 35-39 1:03:35 1:10 32:18 27:19 4:02 4:08 1:58 3:43 3:21 4:13 1:37 3:38 4:41
6 Heinrich Kamffer 🇿🇦 RSA3rd of 169 aged 30-34 30-34 1:04:06 1:41 28:36 31:24 4:11 4:05 2:37 4:11 4:04 4:24 1:49 3:53 6:21
7 Adam Gorin 🇿🇦 RSA2nd of 156 aged 25-29 25-29 1:04:23 1:58 30:53 29:41 3:54 4:01 2:35 3:53 4:19 4:22 1:43 3:47 5:01
8 Jonathan Deane 🇿🇦 RSA2nd of 145 aged 35-39 35-39 1:04:26 2:01 32:20 28:02 4:08 4:04 2:51 3:37 3:25 4:20 1:33 3:41 4:31
9 David Rose 🇿🇦 RSA4th of 169 aged 30-34 30-34 1:05:07 2:42 32:44 27:53 4:34 3:57 2:41 3:25 3:19 4:23 1:52 4:12 4:04
10 Pieter du Plessis 🇿🇦 RSA3rd of 145 aged 35-39 35-39 1:05:11 2:46 34:00 27:07 4:10 4:00 2:16 3:20 3:30 4:32 1:51 3:47 3:51
11 James Ingham 🇬🇧 GBR1st of 48 aged 45-49 45-49 1:05:19 2:54 32:33 28:50 4:00 4:04 2:35 3:46 4:31 4:14 1:27 3:49 4:24
12 Ethan Gouws 🇿🇦 RSA5th of 169 aged 30-34 30-34 1:05:31 3:06 33:10 28:24 4:01 4:09 3:11 4:13 3:02 4:16 1:57 3:50 3:46
13 Johan Cronje 🇿🇦 RSA1st of 115 aged 40-44 40-44 1:06:34 4:09 35:30 27:14 3:55 4:31 2:10 3:37 3:06 4:32 1:28 2:55 4:55
14 Ryan (Double Quote)Ry(Double Q Steer 🇿🇦 RSA3rd of 156 aged 25-29 25-29 1:06:39 4:14 32:38 29:43 4:22 4:14 3:01 4:18 2:38 4:55 1:57 3:51 4:49
15 Clinton Panther 🇿🇦 RSA6th of 169 aged 30-34 30-34 1:07:00 4:35 32:46 29:32 4:47 4:08 2:38 6:17 2:41 4:20 1:21 3:42 4:25
16 Lance Stevens 🇿🇦 RSA4th of 145 aged 35-39 35-39 1:07:07 4:42 34:00 29:09 4:02 3:59 2:08 3:27 4:56 4:16 1:40 3:51 4:52
17 Antoine van Heerden 🇿🇦 RSA7th of 169 aged 30-34 30-34 1:07:24 4:59 33:58 29:23 4:08 3:59 2:51 3:48 4:18 4:19 1:41 4:13 4:14
18 Devon Usher 🇿🇦 RSA8th of 169 aged 30-34 30-34 1:07:37 5:12 32:49 30:08 4:46 4:04 1:51 4:38 3:40 4:29 1:52 4:28 5:06
19 Willem-Pierre Viljoen 🇿🇦 RSA2nd of 99 aged 16-24 16-24 1:07:41 5:16 35:41 26:41 5:25 3:50 2:00 4:03 3:19 4:23 1:24 2:57 4:45
20 Simon Levin 🇿🇦 RSA5th of 145 aged 35-39 35-39 1:07:53 5:28 37:35 25:57 4:25 4:16 2:19 4:07 2:28 4:25 1:32 3:12 3:38
21 Alex Blumberg 🇿🇦 RSA9th of 169 aged 30-34 30-34 1:07:56 5:31 35:18 28:36 4:06 4:13 2:33 4:02 3:25 4:29 2:01 3:34 4:19
22 Dalton April 🇿🇦 RSA10th of 169 aged 30-34 30-34 1:08:16 5:51 34:33 29:39 4:10 4:04 2:32 4:06 4:00 4:32 1:38 3:15 5:32
23 Robbie Alexander 🇿🇦 RSA11th of 169 aged 30-34 30-34 1:09:04 6:39 34:41 29:55 4:31 4:08 2:34 3:53 4:14 4:29 1:42 4:17 4:38
24 Christiaan Greeff 🇿🇦 RSA4th of 156 aged 25-29 25-29 1:09:18 6:53 35:56 28:30 4:59 3:55 1:55 3:16 3:53 4:27 1:29 4:57 4:38
25 Jaydin Williams 🇿🇦 RSA3rd of 99 aged 16-24 16-24 1:09:36 7:11 35:25 30:14 4:03 4:27 3:12 3:54 3:28 4:39 1:49 3:33 5:12
26 Leonardo Mesquita da Cruz 🇧🇷 BRA2nd of 48 aged 45-49 45-49 1:09:48 7:23 36:24 28:43 4:44 4:04 3:11 3:49 3:20 4:45 1:55 3:23 4:16
27 James Pilkington 🇿🇦 RSA5th of 156 aged 25-29 25-29 1:09:51 7:26 35:44 29:43 4:28 4:16 2:35 3:55 3:36 4:39 1:42 4:49 4:11
28 Louw Jordaan 🇿🇦 RSA6th of 156 aged 25-29 25-29 1:09:53 7:28 35:06 30:24 4:27 4:07 3:08 3:39 3:53 4:32 1:53 4:29 4:43
29 Phil Hulse 🇿🇦 RSA6th of 145 aged 35-39 35-39 1:09:59 7:34 36:34 28:44 4:45 4:05 1:48 3:30 3:55 4:22 1:55 4:01 5:08
30 Tristan Evan Hewlett 🇿🇦 RSA7th of 156 aged 25-29 25-29 1:10:02 7:37 34:38 30:56 4:34 4:04 2:16 4:12 3:50 4:22 1:29 4:04 6:39
31 Wynand Pienaar 🇿🇦 RSA7th of 145 aged 35-39 35-39 1:10:05 7:40 38:04 26:53 5:13 4:06 1:47 2:54 3:37 4:11 1:36 3:38 5:04
32 Jaysen Golding 🇿🇦 RSA1st of 23 aged 50-54 50-54 1:10:05 7:40 34:30 30:59 4:39 4:24 1:46 4:23 4:33 4:31 1:38 3:29 6:15
33 Jamie Smuts 🇿🇦 RSA4th of 99 aged 16-24 16-24 1:10:09 7:44 35:17 30:16 4:39 4:24 2:03 4:07 4:16 4:45 1:22 3:18 6:01
34 Jan de Beer 🇿🇦 RSA12th of 169 aged 30-34 30-34 1:10:18 7:53 35:13 31:00 4:11 4:14 2:36 3:31 3:56 4:21 1:34 3:48 7:00
35 James Dillon 🇿🇦 RSA8th of 145 aged 35-39 35-39 1:10:19 7:54 35:46 29:36 5:02 3:54 2:23 4:01 4:16 4:27 1:30 4:07 4:58
36 Lenel van Niekerk 🇿🇦 RSA8th of 156 aged 25-29 25-29 1:10:28 8:03 38:36 27:04 4:51 4:01 2:10 3:25 2:46 4:18 1:33 3:04 5:47
37 Bertus Strauss 🇿🇦 RSA5th of 99 aged 16-24 16-24 1:10:34 8:09 39:17 26:12 5:09 3:58 1:52 3:39 2:26 4:28 1:36 3:44 4:29
38 Mauritz Henderson 🇿🇦 RSA9th of 145 aged 35-39 35-39 1:10:56 8:31 36:46 29:50 4:25 3:56 2:26 3:15 4:48 4:14 1:47 3:52 5:32
39 Jonny Brown 🇿🇦 RSA6th of 99 aged 16-24 16-24 1:11:01 8:36 35:32 30:29 5:05 4:04 2:38 3:35 4:10 4:34 1:43 4:11 5:34
40 Wium Hattingh 🇿🇦 RSA13th of 169 aged 30-34 30-34 1:11:05 8:40 37:12 29:22 4:36 4:15 2:27 3:36 4:12 4:29 1:43 3:34 5:06
41 Ryan Potgieter 🇿🇦 RSA7th of 99 aged 16-24 16-24 1:11:07 8:42 35:24 30:04 5:44 3:52 2:08 3:33 4:10 4:20 1:48 4:39 5:34
42 Alexander Genser 🇦🇹 AUT3rd of 48 aged 45-49 45-49 1:11:08 8:43 35:38 30:59 4:35 4:07 2:16 4:14 4:22 4:23 1:55 4:02 5:40
43 Jd Mac Millan 🇿🇦 RSA14th of 169 aged 30-34 30-34 1:11:21 8:56 37:34 29:01 4:49 4:00 2:17 3:38 4:51 4:24 1:34 3:30 4:47
44 Zeo Solomons 🇿🇦 RSA9th of 156 aged 25-29 25-29 1:11:26 9:01 34:22 32:58 4:09 4:17 3:32 4:37 3:44 4:48 2:24 3:56 5:40
45 Johan de Kock 🇿🇦 RSA10th of 145 aged 35-39 35-39 1:11:30 9:05 37:31 29:24 4:39 3:47 2:16 3:31 4:20 4:23 1:39 3:39 5:49
46 Ryan Basson 🇿🇦 RSA8th of 99 aged 16-24 16-24 1:11:30 9:05 35:13 31:57 4:24 3:59 3:07 4:06 4:11 4:22 1:48 4:09 6:15
47 Andrew Manson 🇿🇦 RSA15th of 169 aged 30-34 30-34 1:11:42 9:17 34:55 32:35 4:18 4:11 2:12 4:52 4:04 4:29 1:38 3:35 7:34
48 Alistair Taylor 🇬🇧 GBR16th of 169 aged 30-34 30-34 1:11:44 9:19 34:15 31:40 5:54 4:11 2:11 3:27 3:20 4:29 1:37 3:24 9:01
49 Schalk Klopper 🇿🇦 RSA11th of 145 aged 35-39 35-39 1:12:00 9:35 36:14 31:33 4:20 4:05 3:08 4:28 4:58 4:45 2:07 4:07 3:55
50 Johan Wicht 🇿🇦 RSA17th of 169 aged 30-34 30-34 1:12:19 9:54 39:06 28:11 5:06 3:56 2:27 3:29 4:36 4:15 1:45 3:37 4:06
51 Teko Khetsi 🇿🇦 RSA10th of 156 aged 25-29 25-29 1:12:20 9:55 36:44 31:14 4:26 4:03 3:02 4:13 3:13 4:57 2:33 4:30 4:43
52 Daniel Kuhlmann 🇳🇦 NAM11th of 156 aged 25-29 25-29 1:12:34 10:09 34:40 33:27 4:32 4:10 3:05 4:43 4:12 4:43 2:28 4:28 5:38
53 Kevin Malaba 🇨🇩 COD12th of 156 aged 25-29 25-29 1:12:39 10:14 34:26 33:45 4:32 4:13 3:18 4:20 3:55 4:38 2:16 3:51 7:14
54 Petri Louw 🇿🇦 RSA18th of 169 aged 30-34 30-34 1:12:40 10:15 38:28 29:36 4:41 4:02 1:38 4:07 3:13 4:40 1:57 4:28 5:31
55 Ashley(Comma) William Robinson 🇿🇦 RSA19th of 169 aged 30-34 30-34 1:12:43 10:18 39:51 26:55 6:01 3:54 1:58 3:18 3:23 4:28 1:35 4:07 4:12
56 Ryan Doubell 🇿🇦 RSA13th of 156 aged 25-29 25-29 1:12:48 10:23 37:30 30:16 5:06 4:00 2:02 3:19 3:18 4:16 1:50 6:54 4:37
57 Tristan Blewett 🇿🇦 RSA14th of 156 aged 25-29 25-29 1:13:02 10:37 39:52 27:55 5:19 3:54 2:15 3:12 4:08 4:18 1:41 3:30 4:57
58 Wesley Turkington 🇿🇦 RSA15th of 156 aged 25-29 25-29 1:13:03 10:38 37:20 28:50 6:57 3:50 1:52 4:15 3:30 4:16 2:15 3:51 5:01
59 Waldo Abrahams 🇿🇦 RSA16th of 156 aged 25-29 25-29 1:13:09 10:44 33:56 35:05 4:13 4:22 1:57 5:04 5:34 4:19 1:56 4:04 7:49
60 Jonathan Bigham 🇿🇦 RSA2nd of 115 aged 40-44 40-44 1:13:22 10:57 42:37 25:22 5:28 3:59 2:16 3:11 3:03 4:13 1:43 3:16 3:41
61 Lehan Hefer 🇿🇦 RSA17th of 156 aged 25-29 25-29 1:13:30 11:05 40:15 28:24 4:55 4:10 1:48 3:30 4:20 4:20 1:33 3:47 4:56
62 Dean Rees-Gibbs 🇿🇦 RSA20th of 169 aged 30-34 30-34 1:13:33 11:08 40:11 27:58 5:29 4:08 1:46 4:13 3:05 4:26 1:50 3:46 4:44
63 Gerhard Beeslaar 🇿🇦 RSA12th of 145 aged 35-39 35-39 1:13:35 11:10 37:49 30:24 5:27 4:02 2:20 3:52 4:26 4:30 2:00 3:45 5:29
64 Caleb Dokwani 🇿🇼 ZIM18th of 156 aged 25-29 25-29 1:13:35 11:10 32:36 36:17 4:46 4:38 2:56 5:16 4:42 4:43 1:44 5:21 6:57
65 Matthew Duncan 🇿🇦 RSA21st of 169 aged 30-34 30-34 1:13:44 11:19 37:40 31:43 4:26 4:26 2:51 3:37 4:28 4:43 1:44 4:02 5:52
66 Justin Willard 🇿🇦 RSA3rd of 115 aged 40-44 40-44 1:14:02 11:37 36:21 32:03 5:41 4:14 2:49 3:49 4:19 4:34 2:19 4:24 5:35
67 Rex Walker 🇿🇦 RSA19th of 156 aged 25-29 25-29 1:14:13 11:48 38:33 31:43 4:02 4:14 3:05 4:14 2:52 4:46 2:07 4:49 5:36
68 Quintin de Jongh 🇿🇦 RSA20th of 156 aged 25-29 25-29 1:14:15 11:50 33:01 36:04 5:14 4:29 3:00 5:07 5:10 5:10 1:56 5:36 5:36
69 Karim Bazerbachi 🇿🇦 RSA21st of 156 aged 25-29 25-29 1:14:16 11:51 37:25 30:28 6:27 4:09 2:31 4:22 4:31 4:43 1:40 4:38 3:54
70 Nico Marais 🇿🇦 RSA22nd of 156 aged 25-29 25-29 1:14:20 11:55 35:44 34:09 4:31 3:58 2:09 4:06 5:02 4:34 1:51 4:58 7:31
71 Nic Grobler 🇿🇦 RSA23rd of 156 aged 25-29 25-29 1:14:25 12:00 39:38 29:46 5:05 4:26 2:15 4:08 4:27 4:38 1:32 4:20 4:00
72 Jonathan Hunter-Parsonage 🇿🇦 RSA4th of 115 aged 40-44 40-44 1:14:26 12:01 39:31 29:55 5:04 4:04 1:55 4:18 5:00 4:28 2:02 3:38 4:30
73 Ignus van Rooy 🇿🇦 RSA13th of 145 aged 35-39 35-39 1:14:32 12:07 36:37 33:02 4:58 4:19 2:48 4:38 4:20 4:44 2:03 5:07 5:03
74 Llewellyn Human-Reto 🇿🇦 RSA5th of 115 aged 40-44 40-44 1:14:35 12:10 38:45 30:49 5:05 3:59 2:33 3:53 4:37 4:25 1:33 4:31 5:18
75 Mosa Hlophe 🇿🇦 RSA22nd of 169 aged 30-34 30-34 1:14:37 12:12 38:08 30:48 5:45 3:59 2:58 4:16 4:18 4:20 2:10 3:43 5:04
76 Michael Dassie 🇿🇦 RSA14th of 145 aged 35-39 35-39 1:14:50 12:25 38:03 30:50 6:01 4:16 2:21 4:18 4:09 4:37 1:49 3:40 5:40
77 Mbuso(Musa) Manyathi 🇿🇦 RSA24th of 156 aged 25-29 25-29 1:14:57 12:32 39:13 31:05 4:42 4:20 3:11 4:01 3:17 4:41 1:42 4:38 5:15
78 Dante Nel 🇿🇦 RSA15th of 145 aged 35-39 35-39 1:14:59 12:34 37:28 32:59 4:38 4:44 2:53 3:58 4:03 4:56 1:53 4:27 6:05
79 Nathan Broom 🇿🇦 RSA25th of 156 aged 25-29 25-29 1:15:09 12:44 37:55 32:38 4:42 4:15 2:38 4:23 4:16 4:36 1:35 5:07 5:48
80 Hedley Gerhardt 🇿🇦 RSA6th of 115 aged 40-44 40-44 1:15:17 12:52 39:37 30:05 5:39 4:30 2:19 3:53 4:20 4:28 1:53 4:23 4:19
81 Johan Pretorius 🇿🇦 RSA7th of 115 aged 40-44 40-44 1:15:29 13:04 37:36 32:27 5:30 4:06 2:37 4:07 4:45 4:32 1:55 5:13 5:12
82 Frans van der Merwe 🇿🇦 RSA9th of 99 aged 16-24 16-24 1:15:50 13:25 34:44 35:57 5:14 3:53 1:45 9:24 3:36 4:58 1:52 3:19 7:10
83 Vincent Abendanon 🇿🇦 RSA8th of 115 aged 40-44 40-44 1:15:57 13:32 38:28 31:45 5:49 4:13 2:40 3:44 4:26 4:29 2:01 4:29 5:43
84 Paul Cyrille Gillingham 🇿🇦 RSA2nd of 23 aged 50-54 50-54 1:15:57 13:32 37:09 33:30 5:20 4:13 3:10 4:44 4:25 4:38 1:51 4:54 5:35
85 Christopher Muller 🇿🇦 RSA16th of 145 aged 35-39 35-39 1:16:06 13:41 33:46 37:39 4:46 4:13 3:21 5:48 5:05 4:46 2:19 5:18 6:49
86 Anver Alexander 🇿🇦 RSA17th of 145 aged 35-39 35-39 1:16:15 13:50 38:58 31:56 5:24 4:09 2:28 4:40 4:25 4:31 2:02 4:28 5:13
87 Joshua Gibson 🇿🇦 RSA9th of 115 aged 40-44 40-44 1:16:18 13:53 40:05 30:23 5:55 4:24 2:36 3:47 4:37 4:39 1:44 3:24 5:12
88 Andre van Blerk 🇿🇦 RSA23rd of 169 aged 30-34 30-34 1:16:26 14:01 38:41 31:47 6:03 4:14 2:32 4:28 4:01 4:47 1:54 4:38 5:13
89 Brandon Stewart 🇿🇦 RSA10th of 115 aged 40-44 40-44 1:16:30 14:05 35:57 35:02 5:36 3:56 3:21 4:45 3:45 4:44 1:39 5:50 7:02
90 Clint Fredericks 🇿🇦 RSA26th of 156 aged 25-29 25-29 1:16:31 14:06 36:55 34:32 5:08 4:39 3:54 4:44 4:53 4:50 2:05 3:58 5:29
91 Edwin Kruger 🇿🇦 RSA27th of 156 aged 25-29 25-29 1:16:41 14:16 40:46 30:17 5:42 4:12 2:10 3:50 4:36 4:18 1:40 4:24 5:07
92 Ash Thixton 🇿🇼 ZIM24th of 169 aged 30-34 30-34 1:16:44 14:19 38:59 32:33 5:18 3:52 2:33 3:40 5:22 4:20 2:32 5:02 5:12
93 Jonty Low 🇿🇦 RSA11th of 115 aged 40-44 40-44 1:17:01 14:36 34:02 38:25 4:38 4:19 2:43 5:13 5:38 4:38 2:37 5:03 8:14
94 Tim Mumba 🇿🇦 RSA12th of 115 aged 40-44 40-44 1:17:15 14:50 34:44 37:34 4:59 4:21 2:58 4:12 6:12 4:40 2:18 3:43 9:10
95 Calen Hastie 🇿🇦 RSA28th of 156 aged 25-29 25-29 1:17:17 14:52 36:37 35:47 4:57 4:16 3:24 4:40 5:03 4:37 2:06 3:53 7:48
96 Conrad Heydenrych 🇿🇦 RSA4th of 48 aged 45-49 45-49 1:17:24 14:59 37:42 34:34 5:11 4:13 2:53 4:21 5:19 4:34 2:01 4:45 6:28
97 Duane Joaquim 🇿🇦 RSA13th of 115 aged 40-44 40-44 1:17:25 15:00 37:56 33:17 6:18 3:56 2:26 4:27 3:53 4:48 1:43 4:55 7:09
98 Corrie Breydenbach 🇿🇦 RSA3rd of 23 aged 50-54 50-54 1:17:25 15:00 37:21 34:56 5:11 4:11 3:02 5:04 5:17 4:46 1:46 4:41 6:09
99 Gabriel Hugo 🇿🇦 RSA14th of 115 aged 40-44 40-44 1:17:26 15:01 38:33 33:25 5:33 4:20 2:26 5:44 4:48 4:50 1:46 4:40 4:51
100 Pieter Aucamp 🇿🇦 RSA18th of 145 aged 35-39 35-39 1:17:37 15:12 41:01 31:11 5:29 4:11 2:01 3:40 6:03 4:33 1:36 4:05 5:02
How to read

The place is among timed finishers in Open Men; the line under the name is the place in the age group. Behind 1st is the gap to the winning time. Tap a time for that race's full report, or a name for every race of that athlete.

The RoxHype app

Found your result? Beat it at your next race.

The RoxHype app is your training plan to race day: built from your splits, your kit and your race date, and adjusted every week.

  • A week-by-week plan that counts down to your race
  • Extra work on your slowest stations
  • Adjusts every week to what you actually did

Free to download. Used by more than 40,000 HYROX athletes.

RoxHype app home: days to your HYROX, your expected finish range and this week's sessions RoxHype workout player guiding a sled push, with the next exercise lined up
Find my result