HYROX Oslo 2026: Open Men results

1,104 finishers on 25 Sep 2026. Typical finish 1:24:57, fastest 10% under 1:09:38. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Sean Walsh 🇮🇪 IRL1st of 190 aged 30-34 30-34 56:45 30:28 23:35 2:47 4:06 2:06 2:47 2:41 4:07 1:29 2:41 3:38
2 Arvid Davidsson 🇸🇪 SWE2nd of 190 aged 30-34 30-34 57:03 0:18 30:14 23:18 3:36 3:41 1:28 2:40 3:15 3:59 1:28 3:19 3:28
3 Tyler Spence 🇬🇧 GBR3rd of 190 aged 30-34 30-34 57:42 0:57 31:26 23:27 2:54 4:02 2:42 2:47 2:18 4:07 1:32 2:35 3:24
4 Eddie Braithwaite 🇬🇧 GBR1st of 105 aged 16-24 16-24 58:03 1:18 29:44 25:24 2:59 4:16 2:33 3:18 2:52 4:22 1:30 2:43 3:50
5 Brandon McGuinness SCO2nd of 105 aged 16-24 16-24 58:38 1:53 32:10 23:41 2:52 4:02 2:16 2:45 2:31 4:14 1:36 2:55 3:22
6 Tom Adams 🇬🇧 GBR4th of 190 aged 30-34 30-34 58:41 1:56 31:10 24:49 2:47 4:06 2:16 3:08 2:58 4:16 1:33 3:02 3:30
7 Andrew Bourne 🇬🇧 GBR5th of 190 aged 30-34 30-34 58:48 2:03 30:59 24:55 2:58 4:10 2:18 3:01 2:48 4:12 1:34 3:01 3:51
8 Johnathan Pewtner 🇬🇧 GBR1st of 230 aged 35-39 35-39 58:58 2:13 31:00 25:18 2:45 4:04 2:26 3:02 2:59 4:11 1:18 2:50 4:28
9 Zander Leslie 🇬🇧 GBR3rd of 105 aged 16-24 16-24 59:31 2:46 30:34 26:15 2:47 4:14 2:31 3:28 2:48 4:29 1:40 3:13 3:52
10 Julian Fiedler 🇦🇹 AUT6th of 190 aged 30-34 30-34 59:35 2:50 31:10 25:30 3:01 4:03 2:15 3:04 3:11 4:21 1:30 3:19 3:47
11 Dale Harding 🇬🇧 GBR7th of 190 aged 30-34 30-34 59:46 3:01 31:18 24:49 3:45 4:01 2:04 2:47 2:58 4:17 1:35 3:00 4:07
12 Jason Jones-Williams WLS8th of 190 aged 30-34 30-34 1:00:08 3:23 31:28 25:45 3:00 4:09 2:28 3:26 3:08 4:15 1:50 2:59 3:30
13 Aaron Bassett 🇮🇪 IRL9th of 190 aged 30-34 30-34 1:00:11 3:26 31:12 26:00 3:05 4:13 2:36 3:06 3:11 4:16 1:40 2:59 3:59
14 Thomas Cortebeeck 🇩🇰 DEN1st of 154 aged 40-44 40-44 1:00:22 3:37 32:37 24:43 3:05 4:08 2:22 2:57 3:17 4:04 1:22 2:41 3:52
15 Jonas Hammelow Fridlund 🇳🇴 NOR1st of 149 aged 25-29 25-29 1:00:47 4:02 30:49 26:32 3:32 3:55 2:20 2:49 3:47 4:19 1:28 3:27 4:27
16 Euan Watters SCO2nd of 149 aged 25-29 25-29 1:01:02 4:17 32:55 25:10 3:01 3:59 2:11 3:10 3:26 4:09 1:35 3:10 3:30
17 Mark Magee 🇬🇧 GBR2nd of 154 aged 40-44 40-44 1:01:08 4:23 30:45 27:28 2:59 4:09 2:16 3:39 3:42 4:20 1:35 3:18 4:29
18 Bjørn Meincke Olesen 🇩🇰 DEN4th of 105 aged 16-24 16-24 1:01:12 4:27 32:13 26:07 2:57 4:07 2:11 2:50 2:58 4:25 1:42 3:28 4:26
19 Danny Coates 🇬🇧 GBR10th of 190 aged 30-34 30-34 1:01:32 4:47 32:59 25:40 2:59 4:26 2:33 3:12 3:14 4:25 1:37 2:50 3:23
20 Rickard Sievers 🇸🇪 SWE11th of 190 aged 30-34 30-34 1:01:38 4:53 31:24 26:51 3:28 3:53 2:06 3:11 3:38 4:28 1:26 3:10 4:59
21 João Gomes 🇵🇹 POR2nd of 230 aged 35-39 35-39 1:01:48 5:03 33:20 25:33 2:59 4:21 2:28 3:27 2:56 4:23 1:37 2:46 3:35
22 Johnnatan Rivera 🇸🇪 SWE12th of 190 aged 30-34 30-34 1:02:02 5:17 32:05 27:01 3:02 4:01 2:08 3:27 3:23 4:23 1:42 3:19 4:38
23 Borgar Rudi Steinvik 🇳🇴 NOR3rd of 230 aged 35-39 35-39 1:02:09 5:24 28:56 30:11 3:05 4:18 2:06 3:44 3:30 4:45 1:43 3:49 6:16
24 Gard Drag-Erlandsen 🇳🇴 NOR3rd of 149 aged 25-29 25-29 1:02:19 5:34 32:02 27:23 2:58 4:14 2:30 3:13 3:54 4:31 1:29 2:56 4:36
25 Daniel Werner 🇩🇪 GER13th of 190 aged 30-34 30-34 1:02:30 5:45 32:51 26:38 3:06 4:07 2:35 3:15 3:56 4:22 1:21 2:48 4:14
26 Jakob Tedsen 🇩🇪 GER4th of 149 aged 25-29 25-29 1:02:33 5:48 32:17 27:09 3:13 4:06 2:15 3:05 4:19 4:19 1:22 3:23 4:20
27 S.a. Hoekstra 🇳🇱 NED14th of 190 aged 30-34 30-34 1:02:37 5:52 32:59 26:10 3:31 4:04 2:18 3:00 3:06 4:33 1:50 3:32 3:47
28 Ryan Schofield 🇬🇧 GBR15th of 190 aged 30-34 30-34 1:02:51 6:06 32:50 26:56 3:10 4:14 2:44 3:04 3:45 4:23 1:39 3:28 3:39
29 Mohammed Sherif 🇸🇪 SWE4th of 230 aged 35-39 35-39 1:02:55 6:10 33:36 26:29 2:54 4:25 2:43 3:14 2:43 4:30 1:30 3:08 4:16
30 Marcus Karlsson 🇸🇪 SWE16th of 190 aged 30-34 30-34 1:03:05 6:20 33:32 26:36 3:01 4:08 2:30 3:18 3:23 4:14 1:43 3:24 3:56
31 James Beazley 🇬🇧 GBR5th of 149 aged 25-29 25-29 1:03:12 6:27 31:26 28:52 2:57 4:19 2:41 3:25 3:37 4:30 1:43 3:30 5:07
32 Barry McCarron 🇮🇪 IRL3rd of 154 aged 40-44 40-44 1:03:13 6:28 31:36 28:22 3:18 4:11 2:12 3:27 3:47 4:24 1:38 3:36 5:07
33 Peter Roberts 🇬🇧 GBR17th of 190 aged 30-34 30-34 1:03:19 6:34 33:14 27:04 3:06 4:27 3:00 3:30 3:17 4:19 1:38 2:51 4:02
34 Lasse Teigen 🇳🇴 NOR18th of 190 aged 30-34 30-34 1:03:23 6:38 33:35 26:41 3:13 4:05 2:19 3:26 3:43 4:22 1:35 3:18 3:53
35 Sebastian Jacobsen 🇳🇴 NOR5th of 105 aged 16-24 16-24 1:03:28 6:43 34:08 26:08 3:17 3:58 2:15 3:39 3:32 4:18 1:34 2:52 4:00
36 Michael Jeppesen 🇩🇰 DEN5th of 230 aged 35-39 35-39 1:03:28 6:43 32:45 27:33 3:13 4:08 1:47 2:50 3:52 4:22 1:50 3:26 5:18
37 Frankie Sinclair 🇬🇧 GBR19th of 190 aged 30-34 30-34 1:03:57 7:12 33:51 27:07 3:02 4:12 2:22 3:05 3:17 4:19 1:51 3:17 4:44
38 Jakob Sande 🇳🇴 NOR6th of 230 aged 35-39 35-39 1:04:07 7:22 32:44 28:20 3:06 4:11 3:22 3:32 3:46 4:32 1:25 3:29 4:03
39 Joachim Hervik Olsen 🇳🇴 NOR7th of 230 aged 35-39 35-39 1:04:08 7:23 32:47 28:09 3:16 4:15 2:50 3:36 3:30 4:16 1:27 3:53 4:22
40 Marius Viken Vesterås 🇳🇴 NOR6th of 149 aged 25-29 25-29 1:04:08 7:23 31:16 29:29 3:29 3:59 1:47 3:39 3:50 4:21 1:46 3:50 6:17
41 Mariusz Michalski 🇵🇱 POL4th of 154 aged 40-44 40-44 1:04:12 7:27 34:17 26:22 3:37 4:22 2:15 3:31 3:07 4:32 1:32 2:58 4:05
42 Craig Perrie 🇬🇧 GBR8th of 230 aged 35-39 35-39 1:04:16 7:31 31:59 29:24 2:59 4:11 2:22 3:56 4:49 4:27 1:32 3:44 4:23
43 Martin Fjellstad 🇳🇴 NOR9th of 230 aged 35-39 35-39 1:04:24 7:39 32:00 27:57 4:31 4:02 1:49 2:54 4:34 4:29 1:40 3:33 4:56
44 Riki Tomas Alba 🇳🇴 NOR20th of 190 aged 30-34 30-34 1:04:25 7:40 32:39 28:49 3:02 4:22 2:59 3:20 2:58 4:26 1:35 3:50 5:19
45 Adam Chankou 🇲🇦 MAR6th of 105 aged 16-24 16-24 1:04:26 7:41 33:26 27:55 3:09 4:10 2:26 4:11 3:31 4:22 1:31 3:52 3:52
46 Fredrik Olsson 🇸🇪 SWE5th of 154 aged 40-44 40-44 1:04:30 7:45 32:57 27:56 3:42 4:06 2:33 3:40 3:44 4:25 1:16 3:41 4:31
47 Antti Juntunen 🇫🇮 FIN10th of 230 aged 35-39 35-39 1:04:31 7:46 34:39 26:43 3:12 4:02 2:14 2:41 3:44 4:22 1:37 3:22 4:41
48 Stefano Locatelli 🇮🇹 ITA11th of 230 aged 35-39 35-39 1:04:32 7:47 31:44 29:41 3:10 4:14 3:07 4:23 3:23 4:39 1:46 3:53 4:16
49 Andrea de Luca 🇮🇹 ITA7th of 105 aged 16-24 16-24 1:04:39 7:54 33:22 28:10 3:11 4:08 2:04 3:52 4:25 4:20 1:45 3:18 4:18
50 Robert Harrison 🇬🇧 GBR1st of 115 aged 45-49 45-49 1:04:43 7:58 33:28 28:20 3:01 4:26 2:41 3:13 3:01 4:26 1:32 3:20 5:41
51 Andrey Kalinin 🇷🇺 RUS2nd of 115 aged 45-49 45-49 1:04:43 7:58 31:55 28:59 3:55 4:15 2:41 3:19 3:35 4:36 1:24 3:47 5:22
52 Aapeli Kemppainen 🇫🇮 FIN7th of 149 aged 25-29 25-29 1:04:44 7:59 34:45 26:16 3:47 3:55 2:45 3:01 3:33 4:08 1:26 3:11 4:17
53 Jan Agertoft Nielsen 🇩🇰 DEN6th of 154 aged 40-44 40-44 1:04:47 8:02 33:04 28:07 3:39 3:53 2:38 3:28 3:53 4:42 1:23 3:58 4:12
54 Joel Russ 🇸🇪 SWE3rd of 115 aged 45-49 45-49 1:04:49 8:04 31:24 29:29 4:00 4:18 2:48 3:57 3:43 4:33 1:28 3:54 4:48
55 Stephen Shaun 🇬🇧 GBR8th of 105 aged 16-24 16-24 1:04:54 8:09 36:00 25:42 3:17 4:11 2:25 3:31 3:03 4:13 1:40 3:10 3:29
56 Leon Kofoed Andersen 🇩🇰 DEN12th of 230 aged 35-39 35-39 1:04:54 8:09 32:43 28:56 3:21 4:12 2:43 3:35 3:02 4:26 1:30 3:32 5:56
57 Oliver Østby 🇳🇴 NOR9th of 105 aged 16-24 16-24 1:05:02 8:17 35:13 26:26 3:26 3:59 2:00 3:36 3:26 4:16 1:39 3:00 4:30
58 Vinzent Torstensson 🇸🇪 SWE8th of 149 aged 25-29 25-29 1:05:11 8:26 35:50 25:57 3:28 4:04 2:38 3:16 3:00 4:04 1:39 3:37 3:39
59 Sander Tønnessen 🇳🇴 NOR10th of 105 aged 16-24 16-24 1:05:17 8:32 33:27 28:52 3:03 4:17 2:29 3:32 4:13 4:28 1:58 2:53 5:02
60 Phil Hatton 🇬🇧 GBR1st of 93 aged 50-54 50-54 1:05:19 8:34 33:18 28:55 3:13 4:24 2:37 3:47 3:53 4:25 1:30 3:50 4:29
61 Stuart Davidson 🇬🇧 GBR21st of 190 aged 30-34 30-34 1:05:23 8:38 34:03 28:15 3:08 4:20 2:22 3:32 3:11 4:13 1:39 3:27 5:31
62 Morgan Coeurdray 🇫🇷 FRA9th of 149 aged 25-29 25-29 1:05:31 8:46 33:39 28:14 3:44 4:14 2:48 4:14 3:08 4:30 1:39 2:57 4:44
63 Tobias Koch 🇩🇪 GER10th of 149 aged 25-29 25-29 1:05:32 8:47 34:21 27:45 3:30 4:04 2:19 3:44 3:42 4:25 1:32 3:46 4:13
64 Vegard Bakken Venaas 🇳🇴 NOR11th of 149 aged 25-29 25-29 1:05:43 8:58 35:05 26:27 4:16 3:53 1:52 3:26 3:57 4:16 1:23 3:09 4:31
65 Lee Ryan VAT22nd of 190 aged 30-34 30-34 1:05:47 9:02 33:25 28:58 3:27 4:23 2:37 3:39 3:40 4:35 2:02 4:00 4:02
66 Anders Haflan 🇳🇴 NOR12th of 149 aged 25-29 25-29 1:05:49 9:04 32:43 29:45 3:25 4:00 2:20 3:52 3:42 4:17 2:21 3:35 5:38
67 Jakob Thomsen 🇩🇰 DEN13th of 149 aged 25-29 25-29 1:05:50 9:05 33:40 29:08 3:06 4:22 2:49 3:47 3:15 4:20 1:37 3:46 5:12
68 Håkon Dyrkorn 🇳🇴 NOR23rd of 190 aged 30-34 30-34 1:05:51 9:06 34:30 27:38 3:48 4:07 2:07 3:15 4:08 4:29 1:24 3:50 4:18
69 Viktor Bitsch-Olsen 🇩🇰 DEN11th of 105 aged 16-24 16-24 1:06:06 9:21 31:58 30:36 3:35 4:00 2:04 3:33 4:33 4:39 2:07 4:14 5:26
70 Anders Kirk 🇩🇰 DEN24th of 190 aged 30-34 30-34 1:06:19 9:34 34:19 29:01 3:04 4:07 2:34 3:20 3:23 4:12 1:39 4:19 5:27
71 Daniel Widjaja 🇨🇭 SUI4th of 115 aged 45-49 45-49 1:06:34 9:49 35:07 28:11 3:20 4:25 2:50 3:27 3:28 4:29 1:52 3:39 4:01
72 Loic Bloton 🇫🇷 FRA5th of 115 aged 45-49 45-49 1:06:36 9:51 33:25 30:01 3:12 4:08 2:32 3:45 3:51 4:26 1:43 3:44 5:52
73 Ole Mikal Tørsdal 🇳🇴 NOR13th of 230 aged 35-39 35-39 1:06:36 9:51 31:40 31:55 3:05 4:22 2:37 3:50 4:03 4:46 2:15 3:55 6:07
74 Marcus Willart 🇸🇪 SWE14th of 230 aged 35-39 35-39 1:06:49 10:04 35:56 27:43 3:14 4:18 2:44 3:05 3:45 4:18 1:56 3:16 4:21
75 Evgeny Kalinin 🇷🇺 RUS12th of 105 aged 16-24 16-24 1:06:58 10:13 32:35 30:31 3:56 4:11 2:37 3:57 4:06 4:49 2:07 3:49 4:55
76 Finn Hutton 🇬🇧 GBR13th of 105 aged 16-24 16-24 1:07:11 10:26 36:16 27:46 3:13 4:06 2:52 2:56 3:39 4:20 1:42 3:35 4:36
77 Rubén Berrotarán Antúnez 🇪🇸 ESP14th of 105 aged 16-24 16-24 1:07:11 10:26 36:09 27:49 3:18 4:26 2:11 3:18 4:05 4:32 1:34 3:26 4:17
78 Erik Axengren 🇸🇪 SWE25th of 190 aged 30-34 30-34 1:07:15 10:30 34:58 28:28 3:52 4:09 2:18 3:42 3:34 4:30 1:50 3:46 4:39
79 Joshua Smith 🇳🇿 NZL14th of 149 aged 25-29 25-29 1:07:15 10:30 33:40 30:17 3:23 4:19 2:44 3:54 3:47 4:24 1:49 3:46 5:34
80 Thibault Mansiet 🇫🇷 FRA26th of 190 aged 30-34 30-34 1:07:29 10:44 34:04 29:53 3:36 3:56 2:30 3:23 4:14 4:14 1:47 4:28 5:21
81 Kristoffer Knuts 🇫🇮 FIN15th of 230 aged 35-39 35-39 1:07:34 10:49 34:31 29:30 3:37 4:13 3:07 3:28 3:57 4:22 1:48 3:44 4:51
82 Marcus Lindmark 🇸🇪 SWE7th of 154 aged 40-44 40-44 1:07:43 10:58 36:18 28:13 3:17 3:47 2:29 2:58 4:39 4:15 1:30 3:31 5:04
83 Steven Fitchet 🇬🇧 GBR16th of 230 aged 35-39 35-39 1:07:43 10:58 34:32 29:36 3:40 4:48 2:47 3:41 3:27 4:47 1:45 3:26 4:55
84 Antonio Azevedo 🇵🇹 POR6th of 115 aged 45-49 45-49 1:07:45 11:00 35:51 28:32 3:27 4:08 2:41 3:47 3:07 4:33 1:38 3:43 4:55
85 Alireza Rahimizadeh 🇳🇴 NOR17th of 230 aged 35-39 35-39 1:07:45 11:00 35:07 29:26 3:17 4:03 2:21 3:40 5:01 4:25 1:36 3:50 4:30
86 Dustin Stevens 🇿🇦 RSA18th of 230 aged 35-39 35-39 1:07:49 11:04 33:07 31:06 3:39 4:22 2:46 3:54 3:49 4:31 1:49 4:01 5:54
87 Thomas Hahn 🇩🇰 DEN8th of 154 aged 40-44 40-44 1:07:54 11:09 35:53 28:35 3:31 4:24 2:25 4:01 3:26 4:51 1:27 4:09 3:52
88 Freddy Andersson 🇸🇪 SWE27th of 190 aged 30-34 30-34 1:07:55 11:10 34:44 29:51 3:23 4:35 3:05 3:51 3:55 4:40 1:52 3:29 4:24
89 Thomas Massoud-Holgeid 🇳🇴 NOR15th of 149 aged 25-29 25-29 1:08:02 11:17 35:49 28:26 3:53 4:10 2:38 3:25 3:45 4:22 1:51 3:04 5:11
90 Elias Eriksson 🇸🇪 SWE16th of 149 aged 25-29 25-29 1:08:12 11:27 35:39 28:51 3:45 4:08 2:27 3:50 4:54 4:23 1:54 3:30 3:45
91 Diogo Monteiro Ferreira 🇵🇹 POR9th of 154 aged 40-44 40-44 1:08:30 11:45 37:45 26:54 3:55 4:16 2:22 3:25 3:11 4:32 1:39 2:58 4:31
92 Tom Gough SCO28th of 190 aged 30-34 30-34 1:08:34 11:49 37:54 27:08 3:37 4:23 2:06 3:26 3:03 4:40 1:37 3:45 4:08
93 Espen Barua 🇳🇴 NOR29th of 190 aged 30-34 30-34 1:08:39 11:54 36:09 28:47 3:47 4:23 3:04 3:40 2:17 4:38 1:52 3:32 5:21
94 Kristian Drillestad 🇳🇴 NOR17th of 149 aged 25-29 25-29 1:08:45 12:00 35:20 29:47 3:43 4:19 2:26 3:45 4:12 4:32 1:42 3:42 5:09
95 Daniel Doherty 🇬🇧 GBR15th of 105 aged 16-24 16-24 1:08:45 12:00 33:20 32:14 3:17 4:24 2:34 3:41 4:37 4:29 1:57 3:47 6:45
96 George Forrester 🇬🇧 GBR18th of 149 aged 25-29 25-29 1:08:46 12:01 35:04 30:29 3:18 4:04 3:08 3:52 4:42 4:19 1:54 3:36 4:54
97 Thomas Lekang Ødegård 🇳🇴 NOR19th of 230 aged 35-39 35-39 1:08:48 12:03 34:34 30:36 3:44 4:24 2:39 3:27 4:01 4:22 1:35 3:45 6:23
98 Rui Dolores 🇵🇹 POR10th of 154 aged 40-44 40-44 1:08:56 12:11 31:11 34:19 3:30 4:25 2:39 4:07 4:15 4:40 2:16 4:13 7:44
99 Mário Herák 🇨🇿 CZE19th of 149 aged 25-29 25-29 1:08:57 12:12 35:45 29:44 3:33 4:07 2:08 3:40 5:01 4:29 1:22 4:03 4:54
100 Mantas Jencius 🇱🇹 LTU30th of 190 aged 30-34 30-34 1:09:01 12:16 35:36 29:51 3:38 4:06 2:47 4:28 4:42 4:17 1:37 3:37 4:17
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