FULL RESULTS
HYROX Oslo 2025 Results – Open Men
695 finishers. Winner Joe Vatcher in 56:45; median 1:22:47.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Joe Vatcher | 16-24 | 56:45 | 30:30 | 22:44 | |
| 2 | Steven Beattie | 30-34 | 58:08 | 29:06 | 25:16 | |
| 3 | Alessandro Alonzi | 16-24 | 59:07 | 30:46 | 24:44 | |
| 4 | Ben Whyte | 25-29 | 59:18 | 29:21 | 25:58 | |
| 5 | Rayane Kara | 16-24 | 1:00:14 | 31:08 | 25:22 | |
| 6 | Ben Strong | 30-34 | 1:00:18 | 30:47 | 25:38 | |
| 7 | Felix Bierwirth | 30-34 | 1:00:39 | 31:45 | 25:08 | |
| 8 | Matthew Quinn | 40-44 | 1:00:49 | 31:07 | 25:59 | |
| 9 | Rob Whittaker | 35-39 | 1:01:27 | 31:08 | 26:26 | |
| 10 | Karl Peers | 40-44 | 1:01:36 | 32:26 | 25:03 | |
| 11 | Stephan Eriksson | 30-34 | 1:01:41 | 32:00 | 25:43 | |
| 12 | Callum Davis | 25-29 | 1:01:43 | 30:41 | 26:49 | |
| 13 | Liam White | 30-34 | 1:01:44 | 31:46 | 26:00 | |
| 14 | Simon Day | 40-44 | 1:02:18 | 32:58 | 25:21 | |
| 15 | Johnnatan Rivera | 30-34 | 1:02:35 | 32:31 | 26:09 | |
| 16 | Daniel Friberg | 35-39 | 1:02:37 | 32:32 | 26:06 | |
| 17 | Leo Lendvorsky | 30-34 | 1:02:52 | 31:35 | 27:14 | |
| 18 | Rokas Guscinas | 30-34 | 1:03:00 | 33:39 | 25:18 | |
| 19 | Mike Garside | 35-39 | 1:03:05 | 33:40 | 25:10 | |
| 20 | Aaron McPhee | 40-44 | 1:03:08 | 32:49 | 26:03 | |
| 21 | Simon Courtney | 40-44 | 1:03:13 | 31:23 | 27:47 | |
| 22 | Andrew Duchart | 30-34 | 1:03:24 | 31:03 | 28:31 | |
| 23 | Patharawut Teeranumpongwanich | 25-29 | 1:03:29 | 33:13 | 26:07 | |
| 24 | Vytautas Jazepcikas | 35-39 | 1:03:30 | 30:37 | 28:49 | |
| 25 | Blevins Mayulu | 25-29 | 1:03:38 | 30:14 | 29:20 | |
| 26 | Cian Galvin | 25-29 | 1:03:50 | 33:04 | 26:35 | |
| 27 | Vinzent Torstensson | 25-29 | 1:03:54 | 34:58 | 24:41 | |
| 28 | Mattias Malchau | 30-34 | 1:04:23 | 35:00 | 24:50 | |
| 29 | Anders Borggaard | 35-39 | 1:04:24 | 33:02 | 27:18 | |
| 30 | Simon Frääs | 30-34 | 1:04:32 | 32:33 | 27:51 | |
| 31 | Augustin Tonnel | 25-29 | 1:04:54 | 33:55 | 26:37 | |
| 32 | Liam Scott | 25-29 | 1:04:56 | 33:22 | 27:19 | |
| 33 | Jordan Swift | 30-34 | 1:05:03 | 33:40 | 27:14 | |
| 34 | Lars Kåre Helgesen | 25-29 | 1:05:04 | 33:18 | 27:24 | |
| 35 | Tom Race | 16-24 | 1:05:14 | 31:23 | 29:55 | |
| 36 | Louis Bettis | 25-29 | 1:05:15 | 32:16 | 28:18 | |
| 37 | Markus Johansen Westgaard | 30-34 | 1:05:16 | 33:07 | 27:44 | |
| 38 | Alistair Gordon | 30-34 | 1:05:20 | 31:13 | 30:06 | |
| 39 | Jonathan Gunnarsson | 25-29 | 1:05:21 | 30:59 | 30:23 | |
| 40 | Jan Agertoft Nielsen | 40-44 | 1:05:33 | 32:59 | 28:11 | |
| 41 | Aaron Feeney | 25-29 | 1:05:54 | 34:10 | 27:34 | |
| 42 | James Wilson | 45-49 | 1:05:57 | 32:56 | 28:33 | |
| 43 | Steve Acarregui | 35-39 | 1:05:58 | 33:14 | 28:22 | |
| 44 | Joseph Kemp | 35-39 | 1:05:59 | 32:22 | 29:00 | |
| 45 | Sam Hart | 35-39 | 1:05:59 | 34:02 | 27:46 | |
| 46 | Henry Johnson | 16-24 | 1:06:07 | 34:11 | 27:21 | |
| 47 | Pawel Palenik | 40-44 | 1:06:13 | 34:08 | 27:58 | |
| 48 | Hippolyte Goueslain | 16-24 | 1:06:19 | 32:56 | 29:17 | |
| 49 | Dennis Musche | 16-24 | 1:06:23 | 33:29 | 28:34 | |
| 50 | Joshua Chilvers | 35-39 | 1:06:24 | 34:08 | 27:34 | |
| 51 | Sindre Wold | 25-29 | 1:06:28 | 37:06 | 24:38 | |
| 52 | Graeme Murdoch | 45-49 | 1:06:30 | 32:32 | 29:45 | |
| 53 | Jason Knight | 25-29 | 1:06:30 | 33:34 | 28:43 | |
| 54 | Alastair Mckie | 35-39 | 1:06:30 | 32:10 | 30:16 | |
| 55 | Jad Cherqaoui | 16-24 | 1:06:37 | 33:32 | 28:43 | |
| 56 | Michael Abildgaard Haladyn | 45-49 | 1:06:39 | 33:27 | 28:47 | |
| 57 | Michael Scott | 30-34 | 1:06:44 | 34:13 | 28:19 | |
| 58 | Phillip Nielsen | 25-29 | 1:06:55 | 35:15 | 27:28 | |
| 59 | Jakob Sande | 35-39 | 1:06:59 | 33:51 | 28:33 | |
| 60 | Martin Puumalainen | 50-54 | 1:07:00 | 34:41 | 27:03 | |
| 61 | Kieran Matthew | 30-34 | 1:07:01 | 32:52 | 30:04 | |
| 62 | Johan Andersson | 40-44 | 1:07:05 | 34:05 | 28:15 | |
| 63 | Adam Clark | 30-34 | 1:07:06 | 34:47 | 27:43 | |
| 64 | Søren Sandager Petersen | 35-39 | 1:07:12 | 35:46 | 26:35 | |
| 65 | Stefan Denic | 30-34 | 1:07:15 | 35:51 | 27:00 | |
| 66 | James Borrill | 30-34 | 1:07:21 | 34:06 | 28:54 | |
| 67 | Nick Steenbergen | 35-39 | 1:07:32 | 33:40 | 29:08 | |
| 68 | Christian Poppe | 35-39 | 1:07:44 | 35:02 | 28:08 | |
| 69 | Oskars Liepins | 40-44 | 1:07:47 | 38:08 | 24:52 | |
| 70 | Harrison Tricker | 30-34 | 1:07:52 | 34:41 | 29:03 | |
| 71 | Mikel Ayani | 40-44 | 1:07:54 | 33:50 | 29:45 | |
| 72 | Luke Finn | 30-34 | 1:07:58 | 34:22 | 28:47 | |
| 73 | Rafael Böhm | 30-34 | 1:08:02 | 35:49 | 27:39 | |
| 74 | Adrian Ribe | 30-34 | 1:08:04 | 34:38 | 28:56 | |
| 75 | Simon Wrafter | 35-39 | 1:08:06 | 33:27 | 30:32 | |
| 76 | Brandon Thorpe | 25-29 | 1:08:07 | 32:42 | 31:06 | |
| 77 | Christian Remo Nicolaisen | 30-34 | 1:08:14 | 34:31 | 28:51 | |
| 78 | Konstantinos Chouvardas | 45-49 | 1:08:20 | 33:54 | 30:06 | |
| 79 | Sindre Sognefest | 35-39 | 1:08:20 | 34:47 | 28:49 | |
| 80 | Matthew Killeen | 30-34 | 1:08:23 | 35:00 | 28:38 | |
| 81 | Cody Leovic | 30-34 | 1:08:27 | 35:20 | 28:25 | |
| 82 | Markus Norberg Väyrynen | 25-29 | 1:08:27 | 36:12 | 26:23 | |
| 83 | Sebastian Karlsson | 30-34 | 1:08:29 | 34:19 | 29:58 | |
| 84 | Jack Kitchener | 25-29 | 1:08:31 | 33:53 | 30:10 | |
| 85 | Ludvig Nilheim | 45-49 | 1:08:32 | 34:39 | 29:09 | |
| 86 | Mattias Vorbau | 30-34 | 1:08:36 | 36:26 | 27:23 | |
| 87 | Oddvar Inge Valøen | 50-54 | 1:08:38 | 35:15 | 28:36 | |
| 88 | Steven Rickli | 30-34 | 1:08:40 | 34:54 | 29:28 | |
| 89 | Lorenz Fuchs | 30-34 | 1:08:52 | 36:56 | 27:06 | |
| 90 | Jamie Mcallister | 35-39 | 1:08:59 | 34:23 | 30:18 | |
| 91 | Clem Ruiz-Holen | 35-39 | 1:09:04 | 36:30 | 27:41 | |
| 92 | Adam Marshall | 25-29 | 1:09:07 | 34:58 | 29:41 | |
| 93 | Adam Knowles | 30-34 | 1:09:07 | 35:21 | 28:53 | |
| 94 | Tuomas Vainio | 40-44 | 1:09:12 | 40:06 | 24:38 | |
| 95 | Austin Horan | 40-44 | 1:09:14 | 34:34 | 29:39 | |
| 96 | Manuel Ituarte | 30-34 | 1:09:16 | 34:34 | 29:56 | |
| 97 | João Araújo | 40-44 | 1:09:18 | 35:05 | 29:31 | |
| 98 | Albin Öst Sandström | 30-34 | 1:09:22 | 33:19 | 31:22 | |
| 99 | Luke Ellis | 35-39 | 1:09:25 | 34:45 | 30:08 | |
| 100 | Maximilian Neureuter | 30-34 | 1:09:27 | 35:59 | 28:57 | |
| 101 | Danny Johnson | 25-29 | 1:09:27 | 34:27 | 30:21 | |
| 102 | Stan Schofield | 25-29 | 1:09:36 | 36:31 | 28:41 | |
| 103 | Lewis Paton | 25-29 | 1:09:41 | 38:13 | 26:57 | |
| 104 | Harry Wellstead | 25-29 | 1:09:44 | 34:16 | 30:56 | |
| 105 | Rune Rummel | 40-44 | 1:09:44 | 32:35 | 32:31 | |
| 106 | Morgan Wiklund | 35-39 | 1:09:47 | 33:47 | 31:41 | |
| 107 | Sam Baker | 35-39 | 1:09:47 | 36:29 | 28:20 | |
| 108 | Conrad Jones | 40-44 | 1:09:48 | 35:44 | 29:07 | |
| 109 | Birger Langebro | 30-34 | 1:09:51 | 35:49 | 28:43 | |
| 110 | Richard Hardley | 30-34 | 1:09:55 | 36:24 | 28:42 | |
| 111 | Owen Lumsden | 16-24 | 1:09:57 | 34:28 | 30:58 | |
| 112 | Macauley Geddes | 25-29 | 1:09:58 | 35:06 | 31:00 | |
| 113 | Dariell Heim | 16-24 | 1:09:59 | 35:59 | 29:20 | |
| 114 | Lewis Brayshaw | 25-29 | 1:10:01 | 35:17 | 30:12 | |
| 115 | Rory Piers Spicer | 40-44 | 1:10:10 | 33:15 | 32:29 | |
| 116 | Anton Lorenz Bondesen | 35-39 | 1:10:11 | 36:26 | 29:16 | |
| 117 | Torstein Lunde | 30-34 | 1:10:12 | 35:47 | 29:29 | |
| 118 | David Gill | 30-34 | 1:10:13 | 36:17 | 29:10 | |
| 119 | Stuart Morgan | 30-34 | 1:10:13 | 35:26 | 30:31 | |
| 120 | Geoffrey Triboulet | 35-39 | 1:10:27 | 35:09 | 30:41 | |
| 121 | Eric Friedlander | 25-29 | 1:10:27 | 39:27 | 25:52 | |
| 122 | Luke Kinsey | 30-34 | 1:10:30 | 35:44 | 30:26 | |
| 123 | Andreas Krapp | 45-49 | 1:10:37 | 36:45 | 29:09 | |
| 124 | David Mayoh | 50-54 | 1:10:37 | 33:46 | 32:15 | |
| 125 | Fredrik Laanemets | 45-49 | 1:10:38 | 36:59 | 28:55 | |
| 126 | Thomas Lange | 40-44 | 1:10:45 | 38:14 | 27:07 | |
| 127 | William Davies | 16-24 | 1:10:48 | 36:54 | 29:17 | |
| 128 | Danny Jagger | 25-29 | 1:10:49 | 34:26 | 31:08 | |
| 129 | Oliver Cedenheim | 30-34 | 1:10:52 | 38:05 | 27:46 | |
| 130 | Charlie Melvoin | 35-39 | 1:10:53 | 35:57 | 30:04 | |
| 131 | Anders Kjellen | 45-49 | 1:11:02 | 37:00 | 29:23 | |
| 132 | Andreas Söderström | 50-54 | 1:11:02 | 37:33 | 28:08 | |
| 133 | Liam Irschlinger | 25-29 | 1:11:06 | 38:01 | 28:18 | |
| 134 | Emil Winterstø-Ivarsson | 35-39 | 1:11:16 | 34:17 | 32:44 | |
| 135 | Mikkel Ortved | 16-24 | 1:11:19 | 38:13 | 28:09 | |
| 136 | Nikolai Pihl | 25-29 | 1:11:21 | 34:39 | 31:19 | |
| 137 | Marcus Krischel | 40-44 | 1:11:22 | 36:11 | 30:24 | |
| 138 | Damian Kenning | 35-39 | 1:11:26 | 33:40 | 33:17 | |
| 139 | Lloyd Saint | 25-29 | 1:11:45 | 35:26 | 31:49 | |
| 140 | Filip Sidó | 25-29 | 1:11:48 | 36:33 | 30:05 | |
| 141 | Stefan Hallberg | 40-44 | 1:11:54 | 36:17 | 30:48 | |
| 142 | Paul Romieu | 25-29 | 1:12:02 | 35:07 | 31:59 | |
| 143 | Alex Percival | 45-49 | 1:12:05 | 38:21 | 29:05 | |
| 144 | Vincent Roy | 25-29 | 1:12:06 | 34:31 | 33:07 | |
| 145 | Mitchell Johnston | 16-24 | 1:12:08 | 34:30 | 32:50 | |
| 146 | Tore Tjørnhom | 55-59 | 1:12:08 | 33:42 | 34:00 | |
| 147 | Anders Linnet | 40-44 | 1:12:11 | 36:30 | 31:06 | |
| 148 | Tellef Dønnestad | 55-59 | 1:12:11 | 35:27 | 31:47 | |
| 149 | Robin Sosnowski | 16-24 | 1:12:13 | 37:41 | 29:24 | |
| 150 | Federico Bachiller | 45-49 | 1:12:13 | 37:27 | 29:29 | |
| 151 | Philip Majlund Jensen | 30-34 | 1:12:15 | 37:15 | 29:47 | |
| 152 | Pontus Kumlin | 25-29 | 1:12:29 | 38:28 | 29:13 | |
| 153 | Jeppe Støckler | 35-39 | 1:12:30 | 36:47 | 30:41 | |
| 154 | André Moen Nilsen | 30-34 | 1:12:31 | 38:49 | 28:52 | |
| 155 | Daniel Gilbert | 40-44 | 1:12:31 | 36:09 | 31:27 | |
| 156 | Fynn Fawzi | 16-24 | 1:12:33 | 35:52 | 32:10 | |
| 157 | Michael Davis | 30-34 | 1:12:36 | 36:05 | 31:51 | |
| 158 | Tomas Nordlander | 55-59 | 1:12:38 | 37:32 | 30:07 | |
| 159 | Elliot Berry | 30-34 | 1:12:39 | 36:48 | 30:58 | |
| 160 | Rune Kvikstad | 50-54 | 1:12:44 | 34:13 | 33:54 | |
| 161 | Riki Alba | 30-34 | 1:12:50 | 35:39 | 32:29 | |
| 162 | Theo Wallace | 25-29 | 1:12:51 | 36:27 | 31:47 | |
| 163 | Johan Selleby | 25-29 | 1:12:51 | 38:24 | 29:35 | |
| 164 | Erik Blom | 35-39 | 1:12:54 | 39:46 | 28:03 | |
| 165 | Andreas Just Petersen | 25-29 | 1:13:04 | 39:47 | 27:34 | |
| 166 | Eivind Bakke | 30-34 | 1:13:09 | 38:24 | 29:24 | |
| 167 | Mads-Henrik Hafsmo | 30-34 | 1:13:10 | 37:09 | 30:29 | |
| 168 | Facundo Altamirano | 30-34 | 1:13:10 | 37:07 | 30:15 | |
| 169 | Christer Espetvedt | 35-39 | 1:13:22 | 37:45 | 30:51 | |
| 170 | Diego Paz Cuenca | 25-29 | 1:13:22 | 36:56 | 30:14 | |
| 171 | Martin Dahlman | 45-49 | 1:13:26 | 38:01 | 30:35 | |
| 172 | Tomáš Posker | 45-49 | 1:13:27 | 38:40 | 29:47 | |
| 173 | Morten Fryland | 40-44 | 1:13:27 | 35:55 | 32:55 | |
| 174 | Matthew Fergusson | 25-29 | 1:13:28 | 37:12 | 31:13 | |
| 175 | Cian Cosgrave | 25-29 | 1:13:29 | 37:24 | 30:36 | |
| 176 | Sam Vagg | 30-34 | 1:13:29 | 37:20 | 31:41 | |
| 177 | Pierre-Alexandre Marange | 30-34 | 1:13:32 | 37:11 | 31:18 | |
| 178 | Alireza Rahimizadeh | 30-34 | 1:13:37 | 38:50 | 30:07 | |
| 179 | Finn Breslin | 16-24 | 1:13:38 | 36:11 | 32:30 | |
| 180 | Arno Peek | 50-54 | 1:13:42 | 36:01 | 32:27 | |
| 181 | Jorge Weatherall | 25-29 | 1:13:47 | 37:26 | 29:24 | |
| 182 | Modibo Sacko | 16-24 | 1:13:53 | 34:48 | 33:13 | |
| 183 | Olivier Chappaz | 50-54 | 1:13:53 | 38:50 | 30:14 | |
| 184 | Peter Neville | 35-39 | 1:13:54 | 34:33 | 34:36 | |
| 185 | Carlos Mourelle | 35-39 | 1:13:58 | 39:05 | 30:02 | |
| 186 | Alex Sanders | 30-34 | 1:14:09 | 37:55 | 31:34 | |
| 187 | Josh Gain | 25-29 | 1:14:11 | 37:56 | 30:56 | |
| 188 | Martin Biseth | 30-34 | 1:14:21 | 36:53 | 32:30 | |
| 189 | Dan Lock | 45-49 | 1:14:22 | 36:50 | 32:34 | |
| 190 | Thomas Phillips | 16-24 | 1:14:24 | 35:22 | 33:48 | |
| 191 | Nigel Halpern | 50-54 | 1:14:30 | 36:59 | 32:47 | |
| 192 | Thomas Mujica | 30-34 | 1:14:33 | 38:59 | 30:54 | |
| 193 | Ben Craft | 40-44 | 1:14:33 | 36:37 | 31:20 | |
| 194 | Peter Fryland | 35-39 | 1:14:36 | 36:04 | 33:49 | |
| 195 | Joshua Kriesel | 30-34 | 1:14:39 | 37:23 | 32:23 | |
| 196 | Adam Galley | 30-34 | 1:14:44 | 34:07 | 34:38 | |
| 197 | Darryl Mcguire | 40-44 | 1:14:49 | 38:20 | 31:30 | |
| 198 | Erik Eriksson | 40-44 | 1:14:56 | 40:59 | 28:51 | |
| 199 | Andreas Öhlund | 45-49 | 1:14:57 | 39:15 | 30:50 | |
| 200 | Frederik Bille | 50-54 | 1:14:57 | 38:25 | 31:48 |