FULL RESULTS
HYROX Oslo 2025 Results – Pro Men
214 finishers. Winner Sebastian Ifversen in 58:17; median 1:14:40.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Sebastian Ifversen | 25-29 | 58:17 | 28:44 | 25:48 | |
| 2 | Gustav Cordua | 16-24 | 58:51 | 29:00 | 26:17 | |
| 3 | Kenny Steger | 25-29 | 59:42 | 29:30 | 26:38 | |
| 4 | Lars Rudi | 30-34 | 1:00:04 | 31:37 | 24:41 | |
| 5 | Erik Woodward | 30-34 | 1:00:09 | 30:27 | 25:56 | |
| 6 | Harvey Williams | 16-24 | 1:00:59 | 28:40 | 28:17 | |
| 7 | George Burton | 25-29 | 1:01:39 | 31:01 | 26:39 | |
| 8 | Franz Löschke | 35-39 | 1:01:50 | 29:38 | 28:04 | |
| 9 | Olivier Jouve | 30-34 | 1:02:12 | 31:27 | 26:46 | |
| 10 | Mohamed Redaoui | 25-29 | 1:02:24 | 30:39 | 27:57 | |
| 11 | Lloyd Mulholland | 30-34 | 1:02:27 | 30:09 | 28:31 | |
| 12 | Simon Buus Jensen | 35-39 | 1:02:39 | 32:01 | 26:31 | |
| 13 | Graham Halliday | 30-34 | 1:02:42 | 29:44 | 24:46 | |
| 14 | Oscar Petersen | 30-34 | 1:03:01 | 32:01 | 26:54 | |
| 15 | Erik Oscar Bøe | 25-29 | 1:03:24 | 31:16 | 28:08 | |
| 16 | Travis Brown | 30-34 | 1:03:36 | 30:51 | 28:51 | |
| 17 | David Kallebäck | 35-39 | 1:03:51 | 32:32 | 27:28 | |
| 18 | Stephen Harold | 35-39 | 1:03:51 | 32:18 | 27:23 | |
| 19 | Freddie Abrahams | 40-44 | 1:04:01 | 31:25 | 28:26 | |
| 20 | Sam Knowles | 30-34 | 1:04:33 | 32:20 | 28:09 | |
| 21 | Craig Murphy | 30-34 | 1:04:42 | 30:51 | 30:00 | |
| 22 | Ričards Matuzevičs | 30-34 | 1:04:46 | 32:49 | 27:21 | |
| 23 | Steffen Blekkan | 30-34 | 1:04:54 | 32:52 | 27:23 | |
| 24 | Kieron White | 25-29 | 1:05:25 | 30:47 | 30:23 | |
| 25 | Mathias Gislason | 25-29 | 1:05:25 | 34:09 | 26:45 | |
| 26 | Jordan Hanson | 35-39 | 1:05:34 | 31:43 | 29:55 | |
| 27 | Anders Næstholdt | 30-34 | 1:05:38 | 32:19 | 29:07 | |
| 28 | Markus Knudsen Tveit | 30-34 | 1:05:41 | 32:46 | 28:30 | |
| 29 | John Arvidsson | 30-34 | 1:05:48 | 32:54 | 28:37 | |
| 30 | Jaydon Emmott | 16-24 | 1:05:59 | 31:22 | 30:16 | |
| 31 | Kalev Ermits | 30-34 | 1:06:03 | 32:58 | 28:42 | |
| 32 | Viktor Munck Larsson | 25-29 | 1:06:07 | 33:44 | 28:07 | |
| 33 | David Balsgaard | 40-44 | 1:06:09 | 33:52 | 27:50 | |
| 34 | Stephen Reynolds | 45-49 | 1:06:11 | 31:52 | 29:46 | |
| 35 | Andrew Langley | 40-44 | 1:06:13 | 30:48 | 30:47 | |
| 36 | Oscar Olsson | 40-44 | 1:06:29 | 32:14 | 29:58 | |
| 37 | Luca Jumabhoy | 16-24 | 1:06:31 | 31:38 | 30:29 | |
| 38 | Toby Wilson | 16-24 | 1:06:36 | 34:13 | 28:08 | |
| 39 | Jeff Woodward | 30-34 | 1:06:48 | 30:38 | 32:19 | |
| 40 | Berthel Jakobsen | 16-24 | 1:06:50 | 31:58 | 30:40 | |
| 41 | Marcus Mollison | 30-34 | 1:06:55 | 33:00 | 29:48 | |
| 42 | Robert James | 35-39 | 1:06:58 | 31:05 | 31:48 | |
| 43 | William Anderson | 30-34 | 1:07:07 | 32:12 | 30:23 | |
| 44 | Oscar Adrian Melheim | 16-24 | 1:07:38 | 32:26 | 30:33 | |
| 45 | Florian Brennecke | 35-39 | 1:07:43 | 32:01 | 30:48 | |
| 46 | Daniel Moran | 16-24 | 1:07:53 | 33:29 | 30:10 | |
| 47 | Cary Tanner | 40-44 | 1:08:06 | 32:57 | 31:00 | |
| 48 | Lasse Teigen | 30-34 | 1:08:14 | 33:19 | 30:09 | |
| 49 | Felix Möller | 16-24 | 1:08:23 | 32:56 | 31:00 | |
| 50 | Scott Walker | 35-39 | 1:08:28 | 33:12 | 31:08 | |
| 51 | Dylan Thomson | 25-29 | 1:08:36 | 32:51 | 31:42 | |
| 52 | Jack Murphy | 30-34 | 1:08:39 | 32:19 | 31:43 | |
| 53 | Jonas Togo | 30-34 | 1:08:39 | 33:45 | 30:20 | |
| 54 | Mathias Ramberg | 30-34 | 1:08:48 | 33:41 | 30:35 | |
| 55 | Sindre Hoff | 40-44 | 1:08:53 | 31:42 | 32:56 | |
| 56 | Fredrik Nylén | 50-54 | 1:08:54 | 33:43 | 30:59 | |
| 57 | Jacob Vagg | 35-39 | 1:09:02 | 34:10 | 30:47 | |
| 58 | Monzer Taha | 30-34 | 1:09:20 | 32:57 | 32:14 | |
| 59 | Dylan Gruson | 30-34 | 1:09:32 | 30:54 | 33:59 | |
| 60 | Murray Richardson | 25-29 | 1:10:07 | 33:45 | 32:03 | |
| 61 | Jacopo Gadani | 30-34 | 1:10:18 | 36:53 | 28:49 | |
| 62 | Eirik Årseth | 30-34 | 1:10:24 | 35:33 | 30:27 | |
| 63 | Andreas Wik | 30-34 | 1:10:34 | 36:21 | 29:28 | |
| 64 | Fábio Ribeiro | 30-34 | 1:10:36 | 32:31 | 33:50 | |
| 65 | Lasse Slengesol | 35-39 | 1:10:41 | 37:00 | 29:06 | |
| 66 | Cameron Steele | 25-29 | 1:10:53 | 34:08 | 32:24 | |
| 67 | Ten Takeda | 16-24 | 1:11:20 | 34:34 | 32:24 | |
| 68 | Jacob Werner | 50-54 | 1:11:25 | 37:15 | 29:10 | |
| 69 | Svante Engberg | 25-29 | 1:11:29 | 35:21 | 31:21 | |
| 70 | Bradley Woodward | 35-39 | 1:11:32 | 32:03 | 34:55 | |
| 71 | Mattias Damm | 25-29 | 1:11:33 | 34:33 | 32:33 | |
| 72 | Milan Konopásek | 16-24 | 1:11:33 | 34:10 | 33:08 | |
| 73 | David Piva | 35-39 | 1:11:38 | 33:26 | 33:12 | |
| 74 | Daniele Asietti | 30-34 | 1:11:45 | 33:17 | 33:51 | |
| 75 | Petter Tufte | 30-34 | 1:11:58 | 37:06 | 29:45 | |
| 76 | David Guy | 45-49 | 1:12:01 | 37:29 | 29:38 | |
| 77 | Łukasz Żolik | 40-44 | 1:12:04 | 36:00 | 31:32 | |
| 78 | Tom Jansen | 30-34 | 1:12:25 | 34:21 | 33:35 | |
| 79 | Audun Lervik | 35-39 | 1:12:33 | 37:18 | 30:31 | |
| 80 | Radosław Koczwara | 45-49 | 1:12:38 | 35:31 | 32:15 | |
| 81 | Eskil Dynna | 25-29 | 1:12:41 | 37:04 | 31:05 | |
| 82 | Massimiliano Dalla Fior | 35-39 | 1:12:46 | 35:11 | 32:38 | |
| 83 | Fraser Anderson | 16-24 | 1:12:47 | 34:31 | 33:53 | |
| 84 | Yassine Laafar | 35-39 | 1:12:49 | 32:51 | 35:16 | |
| 85 | Alexandre Brun | 35-39 | 1:13:00 | 34:40 | 33:32 | |
| 86 | Hugo Dos Santos | 30-34 | 1:13:00 | 33:22 | 35:10 | |
| 87 | Johan Ingemarsson | 35-39 | 1:13:04 | 33:16 | 35:12 | |
| 88 | Emil Gulin Drakenberg | 16-24 | 1:13:05 | 31:57 | 36:09 | |
| 89 | Mounir Hadir | 30-34 | 1:13:07 | 34:24 | 34:04 | |
| 90 | Luca Persiani | 25-29 | 1:13:11 | 33:10 | 34:57 | |
| 91 | Blake Beckman | 16-24 | 1:13:13 | 31:06 | 37:50 | |
| 92 | Magnus Friel | 16-24 | 1:13:13 | 34:35 | 34:09 | |
| 93 | Kristoffer Tokstad | 30-34 | 1:13:14 | 35:10 | 32:48 | |
| 94 | Kevin Cockerton | 40-44 | 1:13:26 | 35:14 | 33:34 | |
| 95 | Vincent Bousquieres | 40-44 | 1:13:31 | 34:18 | 33:58 | |
| 96 | Isaac Hayes | 30-34 | 1:13:32 | 38:17 | 30:09 | |
| 97 | Fredrick Regnell | 35-39 | 1:13:42 | 36:20 | 31:50 | |
| 98 | Magnus Olofsson | 45-49 | 1:13:45 | 35:17 | 33:18 | |
| 99 | Daniel Arvidsson | 45-49 | 1:13:50 | 35:20 | 33:53 | |
| 100 | Thomas Grønfur | 45-49 | 1:13:56 | 37:23 | 31:51 | |
| 101 | Lauri Lahi | 35-39 | 1:14:06 | 35:34 | 33:41 | |
| 102 | Darren Helley | 30-34 | 1:14:14 | 32:06 | 37:56 | |
| 103 | Tuomas Heiskanen | 30-34 | 1:14:15 | 37:49 | 31:25 | |
| 104 | Einar Flaten | 25-29 | 1:14:22 | 35:30 | 34:03 | |
| 105 | Markus Johansen Westgaard | 30-34 | 1:14:22 | 34:32 | 35:18 | |
| 106 | Erik Rudi | 30-34 | 1:14:30 | 38:40 | 31:11 | |
| 107 | Curtis Bernard | 45-49 | 1:14:34 | 35:29 | 33:55 | |
| 108 | Carl Provén | 25-29 | 1:14:45 | 33:54 | 36:23 | |
| 109 | Joachim Østreng | 25-29 | 1:14:50 | 33:12 | 37:10 | |
| 110 | Mats Möller | 25-29 | 1:14:53 | 36:43 | 33:23 | |
| 111 | Otto Markkanen | 35-39 | 1:15:18 | 38:44 | 31:45 | |
| 112 | Aleksandar Zlatkov | 30-34 | 1:15:34 | 34:53 | 35:28 | |
| 113 | Jacob Atkinson | 25-29 | 1:16:17 | 34:58 | 36:42 | |
| 114 | Marcus Feliho | 30-34 | 1:16:18 | 38:21 | 32:41 | |
| 115 | Andrew Brown | 45-49 | 1:16:22 | 36:04 | 35:33 | |
| 116 | Torge Hannemann | 35-39 | 1:16:29 | 35:31 | 36:24 | |
| 117 | Martin Puumalainen | 50-54 | 1:16:35 | 35:21 | 35:28 | |
| 118 | Martin Kirk | 16-24 | 1:16:36 | 35:35 | 35:27 | |
| 119 | Scott Franks | 35-39 | 1:16:37 | 38:39 | 32:51 | |
| 120 | Hayden Ashall | 16-24 | 1:16:41 | 37:47 | 34:09 | |
| 121 | Adam Liljegren | 16-24 | 1:16:53 | 43:58 | 27:24 | |
| 122 | Camil Haddadi | 30-34 | 1:16:57 | 34:27 | 37:06 | |
| 123 | Arne Sundet | 30-34 | 1:17:03 | 38:55 | 33:11 | |
| 124 | Pontus Lundmark | 30-34 | 1:17:03 | 39:29 | 32:02 | |
| 125 | Paul McManus | 40-44 | 1:17:11 | 35:46 | 36:40 | |
| 126 | Felix Nordqvist | 30-34 | 1:17:21 | 40:16 | 31:47 | |
| 127 | Martin Lees | 50-54 | 1:17:27 | 35:29 | 37:05 | |
| 128 | Laurent Missotten | 35-39 | 1:17:30 | 41:59 | 30:15 | |
| 129 | Artur Fedotiev | 30-34 | 1:17:32 | 35:53 | 36:22 | |
| 130 | Jonas Fries | 45-49 | 1:17:34 | 36:07 | 36:37 | |
| 131 | David Lundevi | 40-44 | 1:17:35 | 36:53 | 35:43 | |
| 132 | Sam Helsen | 40-44 | 1:17:47 | 36:22 | 35:10 | |
| 133 | Allan Flood | 45-49 | 1:18:00 | 36:58 | 36:08 | |
| 134 | Julian Erismann | 16-24 | 1:18:01 | 34:58 | 36:45 | |
| 135 | Hans Grobecker | 45-49 | 1:18:02 | 37:59 | 34:46 | |
| 136 | Sam Schneiderman | 16-24 | 1:18:25 | 34:40 | 37:56 | |
| 137 | Lasse Edvardsen | 50-54 | 1:18:39 | 40:34 | 32:17 | |
| 138 | Lubo Smid | 35-39 | 1:18:40 | 39:14 | 34:26 | |
| 139 | Andreas Bergenwall | 40-44 | 1:18:43 | 39:15 | 33:19 | |
| 140 | Andreas Niewerth | 50-54 | 1:19:02 | 36:11 | 37:52 | |
| 141 | Jonas Justesen | 30-34 | 1:19:06 | 36:35 | 36:10 | |
| 142 | Jonas Plogner | 55-59 | 1:19:45 | 36:18 | 38:18 | |
| 143 | Nikolai Gobel | 30-34 | 1:20:06 | 41:24 | 33:06 | |
| 144 | Sascha Fuchs | 30-34 | 1:20:23 | 37:53 | 36:40 | |
| 145 | Joakim Wallón | 40-44 | 1:20:34 | 40:38 | 34:51 | |
| 146 | Daniel Jenssen | 30-34 | 1:20:58 | 32:46 | 43:41 | |
| 147 | Martin Rofors | 45-49 | 1:21:00 | 40:16 | 34:00 | |
| 148 | Brendan Lynch | 30-34 | 1:21:09 | 39:13 | 36:58 | |
| 149 | David Allen | 50-54 | 1:21:12 | 36:45 | 39:20 | |
| 150 | Prasun Gautam | 30-34 | 1:21:44 | 36:37 | 40:02 | |
| 151 | Mikkel Andreassen | 35-39 | 1:21:50 | 39:23 | 36:25 | |
| 152 | Torsten Bergh Moss | 30-34 | 1:21:52 | 40:32 | 35:39 | |
| 153 | Marcus Hobley | 40-44 | 1:22:15 | 37:12 | 39:23 | |
| 154 | Nathan John | 25-29 | 1:22:22 | 37:37 | 38:17 | |
| 155 | Kevin Gonzalez Alarza | 35-39 | 1:22:29 | 37:54 | 39:17 | |
| 156 | Rubin Allen | 50-54 | 1:22:37 | 37:10 | 40:16 | |
| 157 | Tuukka Pirttiniemi | 25-29 | 1:22:39 | 37:33 | 40:37 | |
| 158 | Lewis Bunyan | 25-29 | 1:22:48 | 39:00 | 38:20 | |
| 159 | Paul Hopwood | 40-44 | 1:23:21 | 39:27 | 38:27 | |
| 160 | Chris Donoghue | 25-29 | 1:23:59 | 43:32 | 34:11 | |
| 161 | Riku Koskinen | 45-49 | 1:24:06 | 37:54 | 40:44 | |
| 162 | José Alcobia | 50-54 | 1:24:14 | 39:59 | 37:58 | |
| 163 | Kim Hansen | 50-54 | 1:24:21 | 39:26 | 38:18 | |
| 164 | Milos Vrsajko | 25-29 | 1:24:32 | 42:42 | 36:08 | |
| 165 | Mikael Rintala | 30-34 | 1:24:34 | 41:10 | 38:24 | |
| 166 | Joakim Attermalm | 55-59 | 1:24:52 | 42:43 | 36:59 | |
| 167 | Jens Slater | 45-49 | 1:24:53 | 41:23 | 38:14 | |
| 168 | Alexander Nørskov | 30-34 | 1:25:11 | 36:05 | 44:10 | |
| 169 | Aaron O'Loughlin | 25-29 | 1:25:12 | 39:02 | 38:39 | |
| 170 | Martin Aalto | 35-39 | 1:25:16 | 43:09 | 35:48 | |
| 171 | Håkan Johansson | 45-49 | 1:25:35 | 37:39 | 42:50 | |
| 172 | David Truelove | 35-39 | 1:25:55 | 41:30 | 39:03 | |
| 173 | Dan Lock | 45-49 | 1:26:01 | 39:16 | 40:57 | |
| 174 | Kristian Rønningen | 25-29 | 1:26:14 | 40:09 | 38:08 | |
| 175 | Thomas Oscar Ugland | 35-39 | 1:26:16 | 36:20 | 43:41 | |
| 176 | Lucas Kalda | 35-39 | 1:26:30 | 41:15 | 39:46 | |
| 177 | Fabien Brusson | 55-59 | 1:28:49 | 40:53 | 41:36 | |
| 178 | Shang Hao Huang | 35-39 | 1:29:08 | 44:09 | 38:31 | |
| 179 | Mark Blunden | 55-59 | 1:29:17 | 43:49 | 39:44 | |
| 180 | Iain Jackson | 45-49 | 1:29:20 | 39:54 | 43:51 | |
| 181 | Fredrik Månsson | 45-49 | 1:29:24 | 43:25 | 40:15 | |
| 182 | Gustav Engström | 45-49 | 1:29:53 | 45:50 | 38:01 | |
| 183 | Espen Nilsen | 45-49 | 1:30:26 | 38:56 | 45:57 | |
| 184 | Thomas Risberg | 55-59 | 1:30:45 | 35:52 | 48:59 | |
| 185 | Richard Fabre | 50-54 | 1:31:49 | 46:44 | 38:38 | |
| 186 | Oke Obialo | 40-44 | 1:32:08 | 44:22 | 39:55 | |
| 187 | Kian Oates | 16-24 | 1:32:09 | 41:19 | 44:56 | |
| 188 | Peter Nyström | 50-54 | 1:33:18 | 42:15 | 43:26 | |
| 189 | Colin Taylor | 45-49 | 1:33:35 | 42:18 | 46:00 | |
| 190 | Olai Johannessen | 30-34 | 1:33:57 | 42:14 | 43:50 | |
| 191 | Kevin Flynn | 50-54 | 1:34:02 | 41:25 | 46:02 | |
| 192 | Olle Malm | 25-29 | 1:34:26 | 44:25 | 42:55 | |
| 193 | Andreas Kjær | 25-29 | 1:35:54 | 45:05 | 43:38 | |
| 194 | Luis Villegas | 35-39 | 1:36:38 | 50:56 | 39:50 | |
| 195 | Jonas Skoglund | 25-29 | 1:36:42 | 50:18 | 40:27 | |
| 196 | Joel Bridson | IMN | 30-34 | 1:38:32 | 40:57 | 48:26 |
| 197 | Hans-Kristian Nysted | 30-34 | 1:39:02 | 44:49 | 46:44 | |
| 198 | Tobias Meyer | 30-34 | 1:41:00 | 46:53 | 44:30 | |
| 199 | Jade Hickman | 45-49 | 1:42:23 | 48:18 | 46:51 | |
| 200 | Gavin Bosher | 40-44 | 1:43:07 | 45:56 | 49:03 |