FULL RESULTS
HYROX Johannesburg 2025 Results – Open Men
951 finishers. Winner Kyle Schoonbee in 1:00:22; median 1:39:40.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Kyle Schoonbee | 30-34 | 1:00:22 | 32:30 | 23:28 | |
| 2 | Jacques Badenhorst | — | 16-24 | 1:06:59 | 32:39 | 30:01 |
| 3 | Jacques Badenhorst | 16-24 | 1:06:59 | 32:39 | 30:01 | |
| 4 | Karim Hegazy | — | 35-39 | 1:07:39 | 33:49 | 29:37 |
| 5 | Karim Hegazy | 35-39 | 1:07:39 | 33:49 | 29:37 | |
| 6 | Neale Lucas-Bull | — | 35-39 | 1:07:57 | 36:09 | 27:20 |
| 7 | Neale Lucas-Bull | 35-39 | 1:07:57 | 36:09 | 27:20 | |
| 8 | Chris Greeff | 25-29 | 1:08:08 | 34:13 | 28:47 | |
| 9 | Adam Gorin | — | 25-29 | 1:09:27 | 32:14 | 33:11 |
| 10 | Adam Gorin | 25-29 | 1:09:27 | 32:14 | 33:11 | |
| 11 | Tobi Petit | — | 16-24 | 1:09:55 | 35:04 | 30:01 |
| 12 | Tobi Petit | 16-24 | 1:09:55 | 35:04 | 30:01 | |
| 13 | Derron Thomson | — | 30-34 | 1:10:23 | 33:15 | 31:46 |
| 14 | Derron Thomson | 30-34 | 1:10:23 | 33:15 | 31:46 | |
| 15 | Simon Levin | — | 35-39 | 1:10:39 | 36:48 | 29:01 |
| 16 | Simon Levin | 35-39 | 1:10:39 | 36:48 | 29:01 | |
| 17 | David Rose | 30-34 | 1:10:46 | 33:50 | 31:18 | |
| 18 | Dean Battersby | — | 30-34 | 1:10:51 | 34:49 | 31:28 |
| 19 | Dean Battersby | 30-34 | 1:10:51 | 34:49 | 31:28 | |
| 20 | Andrew Cronje | — | 40-44 | 1:10:57 | 36:38 | 29:17 |
| 21 | Andrew Cronje | 40-44 | 1:10:57 | 36:38 | 29:17 | |
| 22 | Dirk Herbst | 16-24 | 1:11:59 | 36:31 | 30:07 | |
| 23 | Andrey Kalinin | HYROX | 45-49 | 1:12:13 | 33:33 | 32:15 |
| 24 | Ethan Gouws | — | 25-29 | 1:12:17 | 36:43 | 30:53 |
| 25 | Ethan Gouws | 25-29 | 1:12:17 | 36:43 | 30:53 | |
| 26 | Ethan Gouws | 30-34 | 1:12:24 | 35:35 | 31:50 | |
| 27 | Aston Silver | 25-29 | 1:12:47 | 34:40 | 32:25 | |
| 28 | Hillary Arries | 40-44 | 1:13:06 | 35:00 | 32:53 | |
| 29 | Neal Stevenson | — | 30-34 | 1:13:07 | 38:54 | 29:00 |
| 30 | Neal Stevenson | 30-34 | 1:13:07 | 38:54 | 29:00 | |
| 31 | David Rose | — | 30-34 | 1:13:23 | 36:33 | 31:14 |
| 32 | Bongani Mkhwanazi | 30-34 | 1:13:31 | 34:25 | 33:13 | |
| 33 | Owen Hannie | — | 45-49 | 1:13:33 | 35:08 | 33:09 |
| 34 | Owen Hannie | 45-49 | 1:13:33 | 35:08 | 33:09 | |
| 35 | Marnitz Olivier | 35-39 | 1:13:38 | 36:27 | 32:12 | |
| 36 | Robbie Alexander | — | 25-29 | 1:13:56 | 36:49 | 31:37 |
| 37 | Robbie Alexander | 25-29 | 1:13:56 | 36:49 | 31:37 | |
| 38 | Keegan Ritchie | — | 30-34 | 1:14:28 | 38:23 | 30:49 |
| 39 | Keegan Ritchie | 30-34 | 1:14:28 | 38:23 | 30:49 | |
| 40 | Cebolenkosi Mchunu | 25-29 | 1:15:31 | 37:31 | 32:35 | |
| 41 | Ryan Steer | — | 25-29 | 1:15:39 | 38:11 | 31:29 |
| 42 | Ryan Steer | 25-29 | 1:15:39 | 38:11 | 31:29 | |
| 43 | Thomas Lee | 35-39 | 1:15:47 | 35:57 | 34:32 | |
| 44 | Luc Durandt | — | 35-39 | 1:15:49 | 39:14 | 32:12 |
| 45 | Luc Durandt | 35-39 | 1:15:49 | 39:14 | 32:12 | |
| 46 | Jon Hunter-Parsonage | — | 40-44 | 1:15:54 | 40:30 | 30:25 |
| 47 | Jon Hunter-Parsonage | 40-44 | 1:15:54 | 40:30 | 30:25 | |
| 48 | Robert Young | 25-29 | 1:16:02 | 34:29 | 36:47 | |
| 49 | Marcio Pinheiro | 35-39 | 1:16:13 | 40:13 | 30:41 | |
| 50 | Kieran Woest | 16-24 | 1:16:32 | 36:08 | 34:27 | |
| 51 | Dean Berndt | — | 35-39 | 1:16:33 | 35:23 | 35:10 |
| 52 | Dean Berndt | 35-39 | 1:16:33 | 35:23 | 35:10 | |
| 53 | Clinton panther | — | 30-34 | 1:16:43 | 39:07 | 31:41 |
| 54 | Clinton panther | 30-34 | 1:16:43 | 39:07 | 31:41 | |
| 55 | Herman Maré | — | 45-49 | 1:17:09 | 38:25 | 33:49 |
| 56 | Herman Maré | 45-49 | 1:17:09 | 38:25 | 33:49 | |
| 57 | Ulrich Carshagen | — | 30-34 | 1:17:18 | 36:14 | 34:38 |
| 58 | Ulrich Carshagen | 30-34 | 1:17:18 | 36:14 | 34:38 | |
| 59 | Trevor Crouse | — | 45-49 | 1:17:19 | 38:20 | 33:14 |
| 60 | Trevor Crouse | 45-49 | 1:17:19 | 38:20 | 33:14 | |
| 61 | Jonny Brown | 16-24 | 1:17:20 | 36:04 | 35:10 | |
| 62 | Yanga Masiza | — | 30-34 | 1:17:22 | 38:54 | 33:22 |
| 63 | Yanga Masiza | 30-34 | 1:17:22 | 38:54 | 33:22 | |
| 64 | Graham Maguire | — | 30-34 | 1:17:24 | 38:26 | 33:24 |
| 65 | Graham Maguire | 30-34 | 1:17:24 | 38:26 | 33:24 | |
| 66 | Bradley Love | 30-34 | 1:17:27 | 40:26 | 31:31 | |
| 67 | Briarley Klassen | 25-29 | 1:17:35 | 38:34 | 32:42 | |
| 68 | Patrick Smythe | 35-39 | 1:17:46 | 36:08 | 36:14 | |
| 69 | Ziyaad Patel | — | 30-34 | 1:17:48 | 39:43 | 32:03 |
| 70 | Ziyaad Patel | 30-34 | 1:17:48 | 39:43 | 32:03 | |
| 71 | Adriaan Lombard | — | 30-34 | 1:17:52 | 41:18 | 30:47 |
| 72 | Adriaan Lombard | 30-34 | 1:17:52 | 41:18 | 30:47 | |
| 73 | Jean-Claude Fernandes | 25-29 | 1:17:53 | 40:28 | 31:42 | |
| 74 | Jamie Gotz | — | 30-34 | 1:17:54 | 40:35 | 31:23 |
| 75 | Jamie Gotz | 30-34 | 1:17:54 | 40:35 | 31:23 | |
| 76 | Chris Fox | — | 30-34 | 1:17:56 | 37:59 | 36:12 |
| 77 | Chris Fox | 30-34 | 1:17:56 | 37:59 | 36:12 | |
| 78 | Chris Everts | — | 30-34 | 1:18:03 | 40:05 | 32:28 |
| 79 | Chris Everts | 30-34 | 1:18:03 | 40:05 | 32:28 | |
| 80 | Dean Jackson | 60-64 | 1:18:12 | 38:38 | 33:11 | |
| 81 | Luke Walker | 25-29 | 1:18:14 | 36:57 | 35:01 | |
| 82 | Briarley Klassen | — | 25-29 | 1:18:27 | 40:58 | 31:44 |
| 83 | Dylan Heubner | 25-29 | 1:18:38 | 35:47 | 37:44 | |
| 84 | Brandon Stewart | — | 40-44 | 1:18:42 | 37:55 | 35:02 |
| 85 | Brandon Stewart | 40-44 | 1:18:42 | 37:55 | 35:02 | |
| 86 | Zander Joubert | — | 25-29 | 1:18:48 | 38:43 | 34:01 |
| 87 | Zander Joubert | 25-29 | 1:18:48 | 38:43 | 34:01 | |
| 88 | Anthony Mofsowitz | — | 30-34 | 1:19:00 | 39:22 | 33:47 |
| 89 | Anthony Mofsowitz | 30-34 | 1:19:00 | 39:22 | 33:47 | |
| 90 | Dylan Heubner | — | 25-29 | 1:19:01 | 40:05 | 34:02 |
| 91 | Jordaan Bruwer | 35-39 | 1:19:20 | 39:22 | 33:42 | |
| 92 | Kenneth Badenhorst | 50-54 | 1:19:30 | 43:51 | 28:16 | |
| 93 | Armand du Toit | — | 35-39 | 1:19:34 | 39:12 | 33:39 |
| 94 | Armand du Toit | 35-39 | 1:19:34 | 39:12 | 33:39 | |
| 95 | Aston Silver | — | 25-29 | 1:19:39 | 39:15 | 35:05 |
| 96 | Stefan Stofberg | — | 25-29 | 1:19:40 | 41:24 | 32:06 |
| 97 | Stefan Stofberg | 25-29 | 1:19:40 | 41:24 | 32:06 | |
| 98 | Zimbali Mncube | — | 25-29 | 1:19:42 | 35:15 | 38:44 |
| 99 | Zimbali Mncube | 25-29 | 1:19:42 | 35:15 | 38:44 | |
| 100 | Bernard Smit | 35-39 | 1:19:46 | 39:24 | 33:54 | |
| 101 | Mosa Hlophe | 30-34 | 1:20:12 | 40:07 | 32:27 | |
| 102 | Reegan Clark | — | 16-24 | 1:20:12 | 37:41 | 37:50 |
| 103 | Reegan Clark | 16-24 | 1:20:12 | 37:41 | 37:50 | |
| 104 | Victor Hechter | — | 30-34 | 1:20:28 | 39:19 | 33:37 |
| 105 | Victor Hechter | 30-34 | 1:20:28 | 39:19 | 33:37 | |
| 106 | Tristan Evan Hewlett | 25-29 | 1:20:32 | 38:58 | 35:39 | |
| 107 | Alex Blumberg | — | 30-34 | 1:20:42 | 41:22 | 34:18 |
| 108 | Alex Blumberg | 30-34 | 1:20:42 | 41:22 | 34:18 | |
| 109 | Jack Dwyer | — | 35-39 | 1:20:44 | 42:07 | 33:04 |
| 110 | Jack Dwyer | 35-39 | 1:20:44 | 42:07 | 33:04 | |
| 111 | Conrad Heydenrych | — | 45-49 | 1:20:53 | 38:15 | 37:00 |
| 112 | Conrad Heydenrych | 45-49 | 1:20:53 | 38:15 | 37:00 | |
| 113 | Shane Berkowitz | 40-44 | 1:21:02 | 42:16 | 32:08 | |
| 114 | Llewellyn Human-reto | — | 40-44 | 1:21:02 | 40:27 | 35:09 |
| 115 | Llewellyn Human-reto | 40-44 | 1:21:02 | 40:27 | 35:09 | |
| 116 | Justin de Oliveira | — | 40-44 | 1:21:14 | 40:47 | 31:47 |
| 117 | Justin de Oliveira | 40-44 | 1:21:14 | 40:47 | 31:47 | |
| 118 | Ryan de Villiers | — | 35-39 | 1:21:18 | 43:33 | 31:48 |
| 119 | Ryan de Villiers | 35-39 | 1:21:18 | 43:33 | 31:48 | |
| 120 | Keegan Brummer | — | 35-39 | 1:21:24 | 40:08 | 35:11 |
| 121 | Keegan Brummer | 35-39 | 1:21:24 | 40:08 | 35:11 | |
| 122 | Aiden Bradfield | — | 16-24 | 1:21:32 | 42:36 | 32:44 |
| 123 | Aiden Bradfield | 16-24 | 1:21:32 | 42:36 | 32:44 | |
| 124 | Kevin Eagleton | 35-39 | 1:21:34 | 38:15 | 35:07 | |
| 125 | Ross Mclean | — | 30-34 | 1:21:38 | 42:19 | 34:09 |
| 126 | Ross Mclean | 30-34 | 1:21:38 | 42:19 | 34:09 | |
| 127 | Nato Boshoff | — | 30-34 | 1:21:40 | 41:13 | 34:07 |
| 128 | Nato Boshoff | 30-34 | 1:21:40 | 41:13 | 34:07 | |
| 129 | Dirk Potgieter | — | 45-49 | 1:21:46 | 37:05 | 38:08 |
| 130 | Dirk Potgieter | 45-49 | 1:21:46 | 37:05 | 38:08 | |
| 131 | Jayden Friedlander | — | 25-29 | 1:21:53 | 42:13 | 34:20 |
| 132 | Jayden Friedlander | 25-29 | 1:21:53 | 42:13 | 34:20 | |
| 133 | Tate Orpen | 16-24 | 1:21:57 | 38:22 | 36:37 | |
| 134 | James Rowson | — | 30-34 | 1:21:58 | 39:56 | 36:05 |
| 135 | James Rowson | 30-34 | 1:21:58 | 39:56 | 36:05 | |
| 136 | David Schmidt | — | 35-39 | 1:22:04 | 40:47 | 35:33 |
| 137 | David Schmidt | 35-39 | 1:22:04 | 40:47 | 35:33 | |
| 138 | Gilad Janet | — | 16-24 | 1:22:18 | 40:25 | 37:01 |
| 139 | Gilad Janet | 16-24 | 1:22:18 | 40:25 | 37:01 | |
| 140 | Shane Joubert | — | 30-34 | 1:22:23 | 42:45 | 34:15 |
| 141 | Shane Joubert | 30-34 | 1:22:23 | 42:45 | 34:15 | |
| 142 | Helder Fernandes | 25-29 | 1:22:48 | 42:04 | 33:43 | |
| 143 | Stuart Hofmeyr | 30-34 | 1:22:48 | 42:50 | 33:08 | |
| 144 | Karim Bazerbachi | — | 25-29 | 1:22:48 | 42:27 | 32:41 |
| 145 | Karim Bazerbachi | 25-29 | 1:22:48 | 42:27 | 32:41 | |
| 146 | Thomas Lee | — | 35-39 | 1:23:03 | 40:42 | 37:07 |
| 147 | Daniel Smit | — | 30-34 | 1:23:11 | 42:01 | 34:09 |
| 148 | Daniel Smit | 30-34 | 1:23:11 | 42:01 | 34:09 | |
| 149 | Awanda Madlala | 25-29 | 1:23:13 | 41:58 | 34:49 | |
| 150 | Dylan Terblanche | 25-29 | 1:23:25 | 43:15 | 33:52 | |
| 151 | Dirk Herbst | — | 16-24 | 1:23:31 | 41:13 | 36:21 |
| 152 | Tyron Sussman | 30-34 | 1:23:37 | 39:59 | 37:03 | |
| 153 | Philip Krugel | — | 25-29 | 1:23:42 | 41:24 | 35:28 |
| 154 | Philip Krugel | 25-29 | 1:23:42 | 41:24 | 35:28 | |
| 155 | Thomas King | — | 16-24 | 1:23:46 | 39:31 | 39:56 |
| 156 | Thomas King | 16-24 | 1:23:46 | 39:31 | 39:56 | |
| 157 | Haydn Corke | — | 30-34 | 1:23:47 | 36:44 | 41:35 |
| 158 | Haydn Corke | 30-34 | 1:23:47 | 36:44 | 41:35 | |
| 159 | WOJCIECH TATAR | 40-44 | 1:23:48 | 40:40 | 36:33 | |
| 160 | Imraan Mia | 40-44 | 1:23:58 | 44:15 | 32:50 | |
| 161 | Ben Collins | 25-29 | 1:24:12 | 41:55 | 36:03 | |
| 162 | Brendon Warne | — | 16-24 | 1:24:14 | 44:22 | 31:42 |
| 163 | Brendon Warne | 16-24 | 1:24:14 | 44:22 | 31:42 | |
| 164 | Edward Schoeman | — | 45-49 | 1:24:21 | 42:20 | 36:00 |
| 165 | Edward Schoeman | 45-49 | 1:24:21 | 42:20 | 36:00 | |
| 166 | Ignus van Rooy | — | 35-39 | 1:24:23 | 43:54 | 34:15 |
| 167 | Ignus van Rooy | 35-39 | 1:24:23 | 43:54 | 34:15 | |
| 168 | Michael Miller | 40-44 | 1:24:29 | 41:37 | 36:53 | |
| 169 | Teagen Keenan | — | 25-29 | 1:24:35 | 42:49 | 35:10 |
| 170 | Teagen Keenan | 25-29 | 1:24:35 | 42:49 | 35:10 | |
| 171 | Siyabonga Buthelezi | — | 30-34 | 1:24:37 | 44:51 | 32:27 |
| 172 | Siyabonga Buthelezi | 30-34 | 1:24:37 | 44:51 | 32:27 | |
| 173 | Vincent Abendanon | — | 40-44 | 1:24:42 | 44:03 | 34:38 |
| 174 | Vincent Abendanon | 40-44 | 1:24:42 | 44:03 | 34:38 | |
| 175 | Anthony Van Aswegen | 30-34 | 1:24:45 | 44:06 | 33:11 | |
| 176 | Quintin de Jongh | — | 25-29 | 1:25:04 | 38:29 | 40:38 |
| 177 | Quintin de Jongh | 25-29 | 1:25:04 | 38:29 | 40:38 | |
| 178 | James Pilkington | — | 25-29 | 1:25:08 | 43:55 | 33:56 |
| 179 | James Pilkington | 25-29 | 1:25:08 | 43:55 | 33:56 | |
| 180 | Neo Matloga | — | 30-34 | 1:25:14 | 38:00 | 39:41 |
| 181 | Neo Matloga | 30-34 | 1:25:14 | 38:00 | 39:41 | |
| 182 | Peter-Jon Gaddin | — | 45-49 | 1:25:14 | 44:34 | 32:47 |
| 183 | Peter-Jon Gaddin | 45-49 | 1:25:14 | 44:34 | 32:47 | |
| 184 | Steve Goeieman | — | 40-44 | 1:25:31 | 43:04 | 37:33 |
| 185 | Steve Goeieman | 40-44 | 1:25:31 | 43:04 | 37:33 | |
| 186 | Sulvito Chissano | — | 30-34 | 1:25:37 | 24:29 | 30:54 |
| 187 | Sulvito Chissano | 30-34 | 1:25:37 | 24:29 | 30:54 | |
| 188 | Craig Stewart | 40-44 | 1:25:38 | 40:30 | 39:14 | |
| 189 | Sibusiso Makhanya | — | 35-39 | 1:25:44 | 42:08 | 36:30 |
| 190 | Sibusiso Makhanya | 35-39 | 1:25:44 | 42:08 | 36:30 | |
| 191 | Nduduzo Khawula | 30-34 | 1:25:55 | 40:38 | 37:02 | |
| 192 | Janko Kotze | 40-44 | 1:26:06 | 41:57 | 36:24 | |
| 193 | Michael Tindall | — | 35-39 | 1:26:06 | 41:53 | 38:11 |
| 194 | Michael Tindall | 35-39 | 1:26:06 | 41:53 | 38:11 | |
| 195 | Tyrone Jooste | — | 30-34 | 1:26:12 | 38:53 | 41:35 |
| 196 | Tyrone Jooste | 30-34 | 1:26:12 | 38:53 | 41:35 | |
| 197 | Tafadzwa Mugodi | — | 25-29 | 1:26:16 | 39:08 | 40:57 |
| 198 | Tafadzwa Mugodi | 25-29 | 1:26:16 | 39:08 | 40:57 | |
| 199 | Chase Hutchinson | 35-39 | 1:26:20 | 44:39 | 35:44 | |
| 200 | Charles Castle | — | 35-39 | 1:26:20 | 43:15 | 37:09 |