HYROX Oslo 2026: Pro Men results

273 finishers on 25 Sep 2026. Typical finish 1:17:47, fastest 10% under 1:03:26. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Jannik Czapla 🇩🇪 GER1st of 38 aged 25-29 25-29 55:01 28:35 23:48 2:41 3:45 2:22 3:30 2:27 3:53 1:29 2:45 3:37
2 Sebastian Ifversen 🇩🇰 DEN2nd of 38 aged 25-29 25-29 55:39 0:38 28:39 24:03 3:01 3:51 2:18 3:29 2:53 4:06 1:31 2:16 3:39
3 Ronan Lindsay 🇮🇪 IRL1st of 77 aged 30-34 30-34 55:45 0:44 29:24 23:42 2:43 3:53 2:19 3:11 2:29 4:04 1:20 2:41 3:45
4 Tomas Tvrdik 🇨🇿 CZE1st of 31 aged 40-44 40-44 56:03 1:02 29:07 24:14 2:46 3:45 2:28 3:23 2:35 3:57 1:22 2:50 3:54
5 Erik Oscar Bøe 🇳🇴 NOR2nd of 77 aged 30-34 30-34 56:20 1:19 30:03 23:34 2:48 3:52 2:51 2:48 2:22 4:02 1:26 2:39 3:34
6 Sam Schoeman 🇳🇱 NED3rd of 38 aged 25-29 25-29 56:57 1:56 29:51 24:25 2:46 3:56 2:41 3:14 2:49 4:03 1:26 2:43 3:33
7 Scott Bayvel 🇿🇦 RSA1st of 57 aged 35-39 35-39 57:12 2:11 29:32 24:52 2:53 4:04 2:37 3:19 2:40 4:07 1:23 2:55 3:47
8 Gustav Cordua 🇩🇰 DEN4th of 38 aged 25-29 25-29 57:13 2:12 29:49 24:49 2:40 3:54 2:40 3:21 2:36 4:01 1:40 2:50 3:47
9 Sadiq Elfitouri 🇬🇧 GBR3rd of 77 aged 30-34 30-34 57:21 2:20 29:47 24:46 2:52 3:53 2:01 3:26 2:23 4:07 1:35 3:07 4:14
10 Alan Cao 🇫🇷 FRA4th of 77 aged 30-34 30-34 57:50 2:49 30:14 24:47 2:53 3:54 2:38 3:36 2:34 4:05 1:40 2:46 3:34
11 Erik Woodward 🇳🇴 NOR2nd of 57 aged 35-39 35-39 57:56 2:55 29:57 25:00 3:03 3:56 2:35 3:11 2:34 4:06 1:30 2:39 4:29
12 Matthew Plowman 🇬🇧 GBR5th of 77 aged 30-34 30-34 58:27 3:26 30:25 25:10 2:56 4:01 2:43 3:28 2:39 4:04 1:22 3:03 3:50
13 Lukas Wrobel 🇩🇰 DEN5th of 38 aged 25-29 25-29 58:44 3:43 29:14 26:53 2:42 4:01 2:49 3:37 2:41 4:07 1:29 2:55 5:14
14 Stephan de Albuquerque Eriksson 🇸🇪 SWE6th of 77 aged 30-34 30-34 58:53 3:52 31:04 24:54 2:59 4:01 2:23 3:18 2:23 4:16 1:23 2:57 4:13
15 Lars Rudi 🇳🇴 NOR7th of 77 aged 30-34 30-34 59:26 4:25 31:56 24:35 3:00 3:52 2:26 3:26 2:54 4:07 1:25 2:56 3:29
16 Turker Alici 🇩🇰 DEN8th of 77 aged 30-34 30-34 1:00:12 5:11 32:35 24:47 2:55 4:04 2:50 3:12 2:37 4:07 1:23 3:08 3:26
17 Ugo Menuet 🇫🇷 FRA9th of 77 aged 30-34 30-34 1:00:56 5:55 30:40 27:25 2:55 3:59 2:51 3:56 2:49 4:08 2:03 3:05 4:34
18 Andrew Duckham 🇬🇧 GBR3rd of 57 aged 35-39 35-39 1:01:10 6:09 31:54 26:19 3:02 4:08 2:42 3:13 3:06 3:56 1:29 3:17 4:28
19 Anders Aamodt Resell 🇳🇴 NOR10th of 77 aged 30-34 30-34 1:01:43 6:42 31:18 27:33 2:57 3:54 2:50 3:37 3:13 4:17 1:22 3:13 5:07
20 Robert Roles 🇸🇪 SWE11th of 77 aged 30-34 30-34 1:02:00 6:59 33:15 25:28 3:22 4:03 2:36 3:42 2:39 4:07 2:00 2:33 3:48
21 Øystein Flaten 🇳🇴 NOR12th of 77 aged 30-34 30-34 1:02:11 7:10 32:41 26:23 3:11 4:11 2:16 3:36 3:04 4:23 1:27 3:19 4:07
22 Théo Cianfarani 🇫🇷 FRA13th of 77 aged 30-34 30-34 1:02:13 7:12 30:34 28:34 3:09 3:55 3:03 3:48 3:38 4:11 1:40 3:29 4:50
23 Patrik Czajkowski 🇳🇴 NOR14th of 77 aged 30-34 30-34 1:02:14 7:13 31:11 27:55 3:11 4:13 2:58 3:34 2:51 4:21 1:38 3:33 4:47
24 Tyler Spence 🇬🇧 GBR15th of 77 aged 30-34 30-34 1:02:33 7:32 31:41 28:01 2:57 4:08 3:16 3:45 2:24 4:12 1:49 3:19 5:08
25 Daniel Rørvik 🇳🇴 NOR4th of 57 aged 35-39 35-39 1:02:55 7:54 30:14 29:46 2:58 4:07 3:29 3:37 2:53 4:11 1:31 2:45 7:13
26 Ben Hopkins 🇬🇧 GBR1st of 25 aged 16-24 16-24 1:03:15 8:14 32:04 28:20 2:54 4:14 3:01 3:37 3:00 4:19 1:34 3:10 5:25
27 Marc Diaz Gibert 🇦🇩 AND16th of 77 aged 30-34 30-34 1:03:17 8:16 33:18 26:48 3:16 4:02 2:41 3:30 2:59 4:12 1:32 3:20 4:32
28 Adrian Lindgren 🇳🇴 NOR6th of 38 aged 25-29 25-29 1:03:22 8:21 30:45 28:51 3:49 4:03 2:55 3:53 3:06 4:11 1:53 4:06 4:44
29 Burak Edis Emiroğlu 🇹🇷 TUR17th of 77 aged 30-34 30-34 1:03:42 8:41 31:50 28:43 3:14 4:09 3:15 4:48 2:46 4:14 1:45 3:27 4:19
30 Andrew Williams 🇬🇧 GBR7th of 38 aged 25-29 25-29 1:03:52 8:51 32:05 29:00 2:54 4:09 2:49 4:23 3:13 4:20 2:01 3:50 4:15
31 Aaron Bassett 🇮🇪 IRL18th of 77 aged 30-34 30-34 1:04:00 8:59 31:35 28:58 3:32 4:11 3:34 3:52 3:53 4:22 1:42 3:22 4:02
32 Brandon McGuinness SCO2nd of 25 aged 16-24 16-24 1:04:02 9:01 33:15 27:46 3:06 4:04 3:01 3:49 2:48 4:21 1:47 3:29 4:27
33 Steven Beattie 🇬🇧 GBR5th of 57 aged 35-39 35-39 1:04:07 9:06 31:17 29:59 2:55 4:14 2:37 3:58 3:25 4:11 2:13 3:44 5:37
34 Viktor Munck Larsson 🇸🇪 SWE8th of 38 aged 25-29 25-29 1:04:12 9:11 34:34 26:27 3:14 4:05 3:06 3:37 2:55 4:11 1:26 3:14 3:53
35 Mathias Jul Alberg 🇩🇰 DEN9th of 38 aged 25-29 25-29 1:04:32 9:31 31:52 29:28 3:17 4:03 2:35 3:36 4:38 4:13 1:33 3:39 5:11
36 Cary Tanner 🇸🇪 SWE2nd of 31 aged 40-44 40-44 1:04:42 9:41 32:02 29:35 3:09 4:27 3:18 4:18 3:02 4:24 1:55 3:14 4:57
37 Daniel Stoksbjerg 🇩🇰 DEN10th of 38 aged 25-29 25-29 1:04:58 9:57 33:24 28:36 3:03 4:09 2:57 3:45 3:08 4:13 1:59 4:00 4:25
38 Daniel Friberg 🇸🇪 SWE3rd of 31 aged 40-44 40-44 1:05:39 10:38 33:12 29:05 3:26 4:07 3:27 4:00 3:04 4:21 1:35 3:26 5:05
39 Aly Mazhar 🇪🇬 EGY6th of 57 aged 35-39 35-39 1:05:44 10:43 — — — — — — — — — — —
40 Morten Fossen-Lund 🇳🇴 NOR11th of 38 aged 25-29 25-29 1:05:48 10:47 34:29 26:55 4:29 4:01 2:42 4:16 2:44 4:31 1:35 2:55 4:11
41 William Westlund 🇸🇪 SWE3rd of 25 aged 16-24 16-24 1:05:56 10:55 32:21 30:32 3:10 4:05 3:17 4:02 3:03 4:23 2:12 3:23 6:07
42 Daniel Handy 🇸🇪 SWE19th of 77 aged 30-34 30-34 1:06:00 10:59 32:40 30:18 3:07 3:51 2:57 3:47 4:13 4:14 1:35 4:20 5:21
43 Einar Flaten 🇳🇴 NOR20th of 77 aged 30-34 30-34 1:06:04 11:03 36:06 26:47 3:15 4:09 2:29 3:51 3:23 4:08 1:23 3:16 4:08
44 Kieran O'Brien 🇬🇧 GBR7th of 57 aged 35-39 35-39 1:06:15 11:14 33:18 29:50 3:09 4:20 3:02 4:05 3:09 4:22 1:54 4:18 4:40
45 Eirik Ellefsen Frikstad 🇳🇴 NOR12th of 38 aged 25-29 25-29 1:06:15 11:14 33:28 29:55 2:57 4:19 2:41 3:50 3:48 4:17 1:55 3:42 5:23
46 Sebastian Askim 🇳🇴 NOR13th of 38 aged 25-29 25-29 1:06:15 11:14 30:57 32:15 3:07 4:12 3:10 4:01 3:47 4:15 2:18 3:57 6:35
47 Oliver Söderberg 🇸🇪 SWE4th of 25 aged 16-24 16-24 1:06:23 11:22 33:08 30:05 3:15 4:32 3:50 4:29 3:03 4:41 1:42 3:05 4:43
48 David Balsgaard 🇩🇰 DEN4th of 31 aged 40-44 40-44 1:06:33 11:32 34:46 28:22 3:30 4:13 3:06 3:47 3:16 4:17 1:47 3:43 4:13
49 Ronny Sletbakk Knutsen 🇳🇴 NOR1st of 15 aged 50-54 50-54 1:06:34 11:33 32:36 30:26 3:37 4:00 3:00 4:07 3:25 4:15 1:46 3:53 6:00
50 Sigurd Heckmann Hagen 🇳🇴 NOR5th of 25 aged 16-24 16-24 1:06:35 11:34 34:19 28:47 3:35 4:22 3:09 3:55 2:40 4:23 1:37 4:01 4:40
51 Emanuel Ikechukwu 🇳🇬 NGR6th of 25 aged 16-24 16-24 1:06:37 11:36 31:56 31:27 3:17 4:04 3:33 4:17 3:16 4:28 1:46 4:07 5:56
52 Mathias Borg 🇸🇪 SWE5th of 31 aged 40-44 40-44 1:06:39 11:38 32:35 30:42 3:26 3:57 2:27 4:11 3:49 4:13 2:00 4:06 5:59
53 Joakim Svennarp 🇳🇴 NOR8th of 57 aged 35-39 35-39 1:06:53 11:52 32:49 31:05 3:04 3:53 2:43 4:27 3:38 4:16 1:57 4:05 6:06
54 Paul Schroeder 🇩🇪 GER7th of 25 aged 16-24 16-24 1:07:19 12:18 33:36 30:09 3:38 4:07 3:11 4:09 3:13 4:19 1:55 3:02 6:13
55 Giovanni Guidetti 🇮🇹 ITA9th of 57 aged 35-39 35-39 1:07:21 12:20 33:04 30:52 3:29 4:01 3:24 4:19 3:10 4:20 1:56 3:52 5:50
56 Ulf Petersen 🇸🇪 SWE1st of 25 aged 45-49 45-49 1:07:24 12:23 32:30 31:39 3:21 4:13 3:02 4:24 3:50 4:21 2:03 3:46 6:00
57 Kazem Balogun 🇬🇧 GBR21st of 77 aged 30-34 30-34 1:07:33 12:32 34:22 29:31 3:43 4:18 2:57 5:33 4:01 4:41 1:57 4:28 —
58 Quentin le Forestier 🇫🇷 FRA14th of 38 aged 25-29 25-29 1:07:47 12:46 31:47 32:32 3:32 4:19 3:35 4:45 3:46 4:25 2:13 3:47 5:42
59 Olai Johannessen 🇳🇴 NOR22nd of 77 aged 30-34 30-34 1:07:50 12:49 35:25 29:12 3:19 4:09 3:22 3:41 3:03 4:17 1:46 3:56 4:58
60 Berthel Jakobsen 🇩🇰 DEN8th of 25 aged 16-24 16-24 1:07:50 12:49 34:12 30:21 3:23 4:14 3:13 4:11 3:09 4:31 2:24 3:32 5:07
61 Kristoffer Tokstad 🇳🇴 NOR10th of 57 aged 35-39 35-39 1:07:53 12:52 34:47 29:44 3:27 3:54 2:56 4:05 3:42 4:11 1:33 4:01 5:22
62 Jonas Lindd 🇩🇰 DEN23rd of 77 aged 30-34 30-34 1:07:56 12:55 36:35 28:17 3:10 3:50 2:59 3:35 3:40 4:07 1:34 3:28 5:04
63 Lars Kåre Helgesen 🇳🇴 NOR24th of 77 aged 30-34 30-34 1:08:01 13:00 34:34 29:44 3:47 4:08 3:19 3:58 2:20 4:32 2:08 3:42 5:37
64 Theo Hall 🇸🇪 SWE9th of 25 aged 16-24 16-24 1:08:48 13:47 34:57 30:39 3:17 3:58 3:18 4:03 3:55 4:16 2:11 3:30 5:28
65 Jacob Vagg 🇬🇧 GBR11th of 57 aged 35-39 35-39 1:09:10 14:09 36:06 29:48 3:22 4:14 3:00 3:57 3:12 4:17 1:38 4:06 5:24
66 Ben Williamson SCO25th of 77 aged 30-34 30-34 1:09:21 14:20 34:46 31:14 3:26 4:19 3:18 4:41 3:32 4:18 2:07 3:39 5:20
67 Fredrick Karlsson 🇸🇪 SWE1st of 4 aged 55-59 55-59 1:09:39 14:38 33:44 32:20 3:38 4:17 3:29 4:26 3:53 4:28 1:49 4:05 5:53
68 Christian Remo Nicolaisen 🇳🇴 NOR26th of 77 aged 30-34 30-34 1:09:51 14:50 33:40 32:39 3:36 4:08 3:39 4:38 3:26 4:34 2:09 4:03 6:02
69 Alexandre Bouyssou 🇳🇴 NOR27th of 77 aged 30-34 30-34 1:09:54 14:53 34:11 32:36 3:10 4:24 3:43 4:36 3:32 4:29 1:50 4:20 5:42
70 Andrey Kalinin 🇷🇺 RUS2nd of 25 aged 45-49 45-49 1:09:57 14:56 32:17 33:27 4:18 4:09 3:29 5:00 3:45 4:32 1:22 4:23 6:47
71 Feidhlim Quinn 🇮🇪 IRL10th of 25 aged 16-24 16-24 1:09:59 14:58 34:11 32:38 3:15 4:18 4:01 4:31 4:33 4:19 1:42 4:29 4:45
72 Pietro Gancitano 🇮🇹 ITA11th of 25 aged 16-24 16-24 1:09:59 14:58 32:27 34:23 3:13 4:02 3:26 4:37 4:45 4:11 2:49 4:42 5:51
73 Sindre Wold 🇳🇴 NOR28th of 77 aged 30-34 30-34 1:10:31 15:30 35:34 31:16 3:45 4:15 2:51 4:58 3:17 4:27 2:07 3:54 5:27
74 Maxim le Dain 🇫🇷 FRA15th of 38 aged 25-29 25-29 1:10:37 15:36 31:36 35:19 3:46 4:20 3:57 5:22 3:40 4:28 2:00 4:21 7:11
75 Ludvig Nilheim 🇸🇪 SWE3rd of 25 aged 45-49 45-49 1:10:42 15:41 33:56 33:22 3:28 4:12 3:24 4:37 4:17 4:38 1:36 4:23 6:15
76 John Veitch 🇬🇧 GBR6th of 31 aged 40-44 40-44 1:10:47 15:46 33:19 34:06 3:26 4:15 3:10 5:01 4:17 4:34 1:56 4:30 6:23
77 Armann Haugan 🇳🇴 NOR12th of 25 aged 16-24 16-24 1:10:54 15:53 35:02 30:34 5:23 4:12 3:07 3:43 3:16 4:22 1:38 3:22 6:54
78 Andreas Vesterholm 🇩🇰 DEN16th of 38 aged 25-29 25-29 1:10:58 15:57 37:21 29:47 3:54 3:58 2:15 4:46 3:49 4:15 2:18 3:44 4:42
79 Sondre Supphellen 🇳🇴 NOR29th of 77 aged 30-34 30-34 1:11:01 16:00 36:35 30:42 3:49 4:21 3:06 5:05 3:24 4:22 1:36 4:16 4:32
80 Øystein Bjerga 🇳🇴 NOR12th of 57 aged 35-39 35-39 1:11:06 16:05 35:30 31:32 4:09 4:05 3:06 3:50 4:13 4:28 1:20 4:00 6:30
81 Iduino Junior 🇵🇹 POR30th of 77 aged 30-34 30-34 1:11:39 16:38 36:56 30:32 4:16 4:04 3:28 4:10 3:09 4:21 1:54 4:45 4:41
82 Kjetil Bru 🇳🇴 NOR31st of 77 aged 30-34 30-34 1:11:52 16:51 38:43 29:29 3:45 4:45 2:31 4:04 4:06 4:44 1:40 3:26 4:13
83 Stian Isachsen 🇳🇴 NOR13th of 25 aged 16-24 16-24 1:12:01 17:00 35:51 32:46 3:29 4:14 3:14 5:00 4:05 4:32 2:13 4:21 5:07
84 André Eide 🇳🇴 NOR13th of 57 aged 35-39 35-39 1:12:07 17:06 37:44 30:38 3:51 4:12 2:55 4:12 3:36 4:31 2:10 3:26 5:36
85 Tom Knutli 🇳🇴 NOR32nd of 77 aged 30-34 30-34 1:12:16 17:15 37:53 30:49 3:38 4:15 2:53 4:05 3:44 4:20 1:46 3:38 6:08
86 Anders Banke 🇩🇰 DEN33rd of 77 aged 30-34 30-34 1:12:23 17:22 36:21 32:34 3:32 4:05 3:00 4:06 4:35 4:24 1:57 4:12 6:15
87 Knut Flydal 🇳🇴 NOR7th of 31 aged 40-44 40-44 1:12:25 17:24 35:48 32:42 4:00 4:19 3:11 4:37 3:46 4:28 1:48 3:54 6:39
88 Alexander Dohn Bojsen 🇩🇰 DEN34th of 77 aged 30-34 30-34 1:12:26 17:25 36:18 32:27 3:45 4:22 3:16 3:58 4:10 4:34 1:38 4:33 5:56
89 Tim Andersson 🇸🇪 SWE17th of 38 aged 25-29 25-29 1:12:45 17:44 36:44 32:18 3:47 4:20 3:52 4:38 3:13 4:34 1:45 4:14 5:42
90 Martin Puumalainen 🇸🇪 SWE2nd of 15 aged 50-54 50-54 1:12:51 17:50 35:34 33:36 3:47 4:18 3:45 4:19 4:25 4:29 1:38 5:05 5:37
91 Tristan Evan Hewlett 🇿🇦 RSA18th of 38 aged 25-29 25-29 1:12:54 17:53 36:53 32:24 3:41 3:57 3:38 5:14 4:13 4:21 2:01 4:09 4:51
92 Simon Slettevold 🇳🇴 NOR14th of 25 aged 16-24 16-24 1:12:56 17:55 38:59 30:02 3:59 4:04 2:42 3:46 4:07 4:16 2:35 3:50 4:42
93 Larri Vartiainen 🇫🇮 FIN35th of 77 aged 30-34 30-34 1:13:04 18:03 35:57 33:36 3:34 4:23 3:17 4:23 3:20 4:38 1:30 3:59 8:06
94 Sam Vagg 🇬🇧 GBR36th of 77 aged 30-34 30-34 1:13:07 18:06 38:52 30:45 3:34 4:29 3:17 4:04 3:46 4:34 1:49 3:41 5:05
95 Jonas Fries 🇸🇪 SWE4th of 25 aged 45-49 45-49 1:13:15 18:14 35:08 34:52 3:19 4:11 3:38 4:43 3:59 4:30 2:24 5:20 6:07
96 Sam Hart 🇬🇧 GBR14th of 57 aged 35-39 35-39 1:13:19 18:18 35:47 33:59 3:36 4:12 3:48 5:36 4:05 4:37 2:13 4:33 4:55
97 Johannes Jensen 🇳🇴 NOR8th of 31 aged 40-44 40-44 1:13:19 18:18 34:57 34:53 3:33 4:18 3:00 4:48 3:23 4:31 1:54 4:00 8:59
98 Matt Feld 🇬🇧 GBR9th of 31 aged 40-44 40-44 1:13:34 18:33 39:27 30:34 3:39 4:28 3:36 4:21 2:36 4:37 1:25 3:56 5:35
99 Alfred Johansson 🇸🇪 SWE19th of 38 aged 25-29 25-29 1:13:34 18:33 37:07 32:52 3:40 4:17 3:42 4:23 3:55 4:25 1:59 4:50 5:21
100 Tim Hertzberg 🇸🇪 SWE37th of 77 aged 30-34 30-34 1:13:47 18:46 33:46 36:01 4:05 4:27 3:19 5:33 4:21 4:27 2:55 4:01 6:58
How to read

The place is among timed finishers in Pro 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