HYROX Stockholm 2025: Pro Men results

342 finishers on 18 Dec 2025. Typical finish 1:13:45, fastest 10% under 1:02:57. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Paul Weindl 🇩🇪 GER1st of 62 aged 25-29 25-29 55:03 26:17 24:24 4:27 3:45 2:26 3:26 2:30 3:52 1:19 3:00 4:06
2 Tomas Tvrdik 🇨🇿 CZE1st of 30 aged 40-44 40-44 55:04 0:01 26:57 23:44 4:28 3:42 2:21 3:13 2:36 3:50 1:14 2:53 3:55
3 Alen Ploj 🇸🇮 SLO1st of 82 aged 30-34 30-34 55:21 0:18 27:38 23:16 4:32 3:45 2:24 3:02 2:44 3:49 1:16 2:50 3:26
4 Luke Greer ENG2nd of 62 aged 25-29 25-29 55:37 0:34 25:33 25:54 4:14 3:50 2:26 3:42 2:56 3:55 1:22 3:16 4:27
5 Alan Cao 🇫🇷 FRA2nd of 82 aged 30-34 30-34 55:51 0:48 27:41 23:44 4:29 3:51 2:20 3:20 2:28 3:56 1:29 2:55 3:25
6 Sebastian Ifversen 🇩🇰 DEN3rd of 62 aged 25-29 25-29 55:55 0:52 26:47 24:47 4:26 3:56 2:18 3:13 2:44 3:59 1:31 3:04 4:02
7 Kenny Steger 🇸🇪 SWE4th of 62 aged 25-29 25-29 56:05 1:02 26:05 25:57 4:07 3:53 2:24 3:46 3:03 4:06 1:28 3:00 4:17
8 Gustav Cordua 🇩🇰 DEN1st of 43 aged 16-24 16-24 56:16 1:13 27:06 25:04 4:09 3:48 2:17 3:13 2:59 3:55 1:22 3:23 4:07
9 Louis Osselaer 🇧🇪 BEL3rd of 82 aged 30-34 30-34 56:48 1:45 27:28 25:00 4:24 3:43 2:33 3:06 3:03 3:51 1:21 2:49 4:34
10 Joe Bingham ENG4th of 82 aged 30-34 30-34 57:18 2:15 27:53 25:11 4:18 3:52 2:54 3:16 2:56 3:55 1:33 3:01 3:44
11 Harvey Williams ENG2nd of 43 aged 16-24 16-24 57:19 2:16 26:34 26:19 4:31 3:59 3:01 3:31 2:37 4:02 1:26 2:48 4:55
12 Turker Alici 🇹🇷 TUR5th of 82 aged 30-34 30-34 57:20 2:17 29:29 23:06 4:49 3:46 1:55 3:08 2:33 3:55 1:14 3:03 3:32
13 Erik Woodward 🇳🇴 NOR6th of 82 aged 30-34 30-34 57:37 2:34 28:16 24:57 4:27 3:51 2:37 3:20 2:49 3:57 1:13 3:01 4:09
14 Erik Oscar Bøe 🇳🇴 NOR5th of 62 aged 25-29 25-29 57:39 2:36 28:34 24:32 4:37 3:51 2:25 3:00 3:04 4:01 1:14 2:45 4:12
15 Simen Røssland 🇳🇴 NOR6th of 62 aged 25-29 25-29 58:12 3:09 28:18 25:29 4:31 3:53 2:26 3:14 3:23 3:52 1:20 3:24 3:57
16 Hakan Burton ENG7th of 82 aged 30-34 30-34 58:45 3:42 27:53 26:13 4:44 3:36 2:48 3:24 3:01 4:00 1:22 3:26 4:36
17 Xavier Dufour 🇫🇷 FRA7th of 62 aged 25-29 25-29 58:45 3:42 27:38 26:38 4:33 3:51 2:41 3:44 2:51 3:59 1:33 3:18 4:41
18 Christof Brenner 🇩🇪 GER1st of 69 aged 35-39 35-39 59:34 4:31 28:15 26:39 4:44 3:52 2:30 3:29 3:07 4:03 1:29 3:18 4:51
19 Thomas Dahl 🇩🇰 DEN8th of 62 aged 25-29 25-29 59:35 4:32 28:36 26:32 4:32 3:54 2:40 3:43 3:04 3:58 1:28 3:21 4:24
20 Jop Janssen 🇳🇱 NED8th of 82 aged 30-34 30-34 59:40 4:37 28:23 26:37 4:45 3:51 2:54 3:29 3:25 3:57 1:35 3:40 3:46
21 Petter Saltvik 🇳🇴 NOR3rd of 43 aged 16-24 16-24 59:44 4:41 28:18 27:00 4:30 3:53 2:49 3:31 2:57 3:55 1:24 3:49 4:42
22 Axel Montreuil 🇫🇷 FRA9th of 62 aged 25-29 25-29 59:48 4:45 28:04 27:09 4:39 4:01 3:02 4:02 3:04 4:13 1:25 3:16 4:06
23 Stephan de Albuquerque Eriksson 🇸🇪 SWE9th of 82 aged 30-34 30-34 59:56 4:53 28:40 26:35 4:46 3:46 2:54 3:36 2:48 4:02 1:15 3:47 4:27
24 Øystein Flaten 🇳🇴 NOR10th of 82 aged 30-34 30-34 1:00:38 5:35 28:43 27:13 4:45 4:03 2:33 4:02 3:46 4:10 1:15 3:42 3:42
25 Tilen Dorninger 🇦🇹 AUT4th of 43 aged 16-24 16-24 1:01:04 6:01 28:17 27:56 4:56 3:48 3:28 3:56 3:23 4:04 1:44 3:10 4:23
26 Hubert Dumez 🇫🇷 FRA11th of 82 aged 30-34 30-34 1:01:11 6:08 28:39 27:39 4:59 3:53 2:29 3:49 3:15 3:57 1:39 3:59 4:38
27 Daniel Matsuzaka 🇬🇧 GBR10th of 62 aged 25-29 25-29 1:01:30 6:27 29:49 26:44 5:00 3:48 2:28 3:19 3:05 4:00 1:41 3:09 5:14
28 Ivan Pranjic 🇭🇷 CRO2nd of 69 aged 35-39 35-39 1:01:33 6:30 30:51 25:31 5:15 3:52 2:41 3:24 2:26 4:11 1:26 3:06 4:25
29 Oscar Petersen 🇩🇰 DEN12th of 82 aged 30-34 30-34 1:01:44 6:41 30:06 26:49 4:54 3:54 2:42 4:10 2:51 3:55 1:31 3:34 4:12
30 Mathias Lynge 🇩🇰 DEN13th of 82 aged 30-34 30-34 1:01:57 6:54 30:18 27:03 4:40 4:02 2:24 3:27 3:04 4:05 1:31 3:41 4:49
31 David Kallebäck 🇸🇪 SWE3rd of 69 aged 35-39 35-39 1:02:19 7:16 30:35 26:58 4:50 3:55 2:29 3:23 3:08 4:03 1:39 3:32 4:49
32 Lucas Parker ENG5th of 43 aged 16-24 16-24 1:02:26 7:23 27:05 30:48 4:37 3:46 2:56 3:55 3:38 4:02 1:59 3:32 7:00
33 Philipp Müller 🇩🇪 GER2nd of 30 aged 40-44 40-44 1:02:47 7:44 28:52 28:31 5:29 4:08 2:47 4:09 3:29 4:15 1:30 3:26 4:47
34 Luis García Rubio 🇪🇸 ESP6th of 43 aged 16-24 16-24 1:02:52 7:49 29:28 28:42 4:45 3:57 3:12 3:54 2:56 4:10 1:56 4:00 4:37
35 Leon Fulianty 🇵🇱 POL7th of 43 aged 16-24 16-24 1:02:57 7:54 28:24 29:50 4:48 4:12 2:49 4:00 4:00 4:13 1:44 3:27 5:25
36 Warren Sinden 🇬🇧 GBR4th of 69 aged 35-39 35-39 1:03:02 7:59 29:29 28:40 4:58 3:54 3:02 3:52 3:29 4:02 1:21 3:55 5:05
37 John Arvidsson 🇸🇪 SWE14th of 82 aged 30-34 30-34 1:03:24 8:21 30:50 27:31 5:07 4:02 2:53 3:51 3:10 4:16 1:35 3:27 4:17
38 Florian Mille 🇫🇷 FRA15th of 82 aged 30-34 30-34 1:03:29 8:26 29:52 28:54 4:47 3:59 3:16 3:41 3:12 4:04 1:34 3:44 5:24
39 Oliver Thomson 🇬🇧 GBR16th of 82 aged 30-34 30-34 1:03:35 8:32 32:11 26:13 5:17 3:59 2:39 3:04 3:04 3:59 1:27 4:06 3:55
40 Ulf Petersen 🇸🇪 SWE1st of 27 aged 45-49 45-49 1:03:35 8:32 30:36 27:46 5:18 4:04 3:06 3:52 3:06 4:06 1:33 3:22 4:37
41 Marc Diaz 🇦🇩 AND17th of 82 aged 30-34 30-34 1:03:58 8:55 31:25 27:06 5:32 3:49 2:34 3:31 3:38 3:56 1:20 3:58 4:20
42 Olai Johannessen 🇳🇴 NOR18th of 82 aged 30-34 30-34 1:04:04 9:01 30:30 28:37 5:02 4:01 3:06 3:40 2:37 4:05 1:38 3:43 5:47
43 Oscar Adrian Melheim 🇳🇴 NOR11th of 62 aged 25-29 25-29 1:04:17 9:14 30:20 28:55 5:06 4:13 3:07 4:02 3:07 4:19 1:27 3:43 4:57
44 PIran Asci 🇩🇪 GER19th of 82 aged 30-34 30-34 1:04:22 9:19 32:07 27:20 5:02 4:01 2:47 3:54 3:20 4:06 1:19 3:30 4:23
45 Mathias Ramberg 🇸🇪 SWE20th of 82 aged 30-34 30-34 1:04:37 9:34 29:59 29:19 5:23 3:53 2:54 4:01 3:40 4:04 2:02 3:55 4:50
46 Kane Pierce 🇦🇺 AUS21st of 82 aged 30-34 30-34 1:04:40 9:37 29:51 29:52 5:02 3:49 2:46 3:51 3:11 4:06 1:33 4:15 6:21
47 Nhick Dampouya 🇫🇷 FRA5th of 69 aged 35-39 35-39 1:04:41 9:38 30:43 28:57 5:06 3:49 2:56 4:09 3:04 4:11 1:33 3:37 5:38
48 Guy Portlock 🇬🇧 GBR1st of 23 aged 50-54 50-54 1:04:43 9:40 30:25 29:14 5:08 4:02 2:53 4:13 3:11 4:12 1:32 4:22 4:49
49 Burak Edis Emiroğlu 🇹🇷 TUR22nd of 82 aged 30-34 30-34 1:04:46 9:43 30:11 28:57 5:42 4:05 3:42 4:15 2:22 4:14 1:51 3:48 4:40
50 Daniel Friberg 🇸🇪 SWE6th of 69 aged 35-39 35-39 1:04:54 9:51 30:46 28:51 5:22 4:02 2:58 3:44 3:25 4:12 1:32 3:38 5:20
51 Herman Lundh 🇸🇪 SWE12th of 62 aged 25-29 25-29 1:05:03 10:00 29:30 28:51 6:46 3:49 3:17 3:51 3:45 4:08 1:30 3:51 4:40
52 Kamil Kozioł 🇵🇱 POL23rd of 82 aged 30-34 30-34 1:05:09 10:06 30:12 29:30 5:32 3:59 3:07 4:08 3:39 4:11 1:33 3:42 5:11
53 Alister Camilleri 🇲🇹 MLT8th of 43 aged 16-24 16-24 1:05:13 10:10 30:47 29:04 5:28 4:03 3:19 5:09 2:32 4:27 1:34 3:17 4:43
54 Roope Maaranen 🇫🇮 FIN13th of 62 aged 25-29 25-29 1:05:15 10:12 32:09 27:50 5:19 3:43 2:28 4:14 2:49 3:56 1:28 3:28 5:44
55 Daniel Stoksbjerg 🇩🇰 DEN9th of 43 aged 16-24 16-24 1:05:21 10:18 30:52 29:29 5:04 3:56 2:51 4:20 3:34 4:16 1:40 3:50 5:02
56 Joshua Hardcastle 🇬🇧 GBR10th of 43 aged 16-24 16-24 1:05:28 10:25 28:59 31:27 5:06 3:59 3:00 3:58 3:35 4:15 1:54 3:59 6:47
57 Robert Hobbs 🇬🇧 GBR7th of 69 aged 35-39 35-39 1:05:33 10:30 30:26 30:08 5:04 3:57 3:05 4:21 3:43 4:07 1:36 4:04 5:15
58 Jonas Lind 🇩🇰 DEN24th of 82 aged 30-34 30-34 1:05:41 10:38 31:27 29:23 4:55 3:46 2:39 3:43 3:45 3:59 1:19 3:44 6:28
59 Johan Ingemarsson 🇸🇪 SWE8th of 69 aged 35-39 35-39 1:05:45 10:42 29:18 31:31 5:01 3:56 2:36 4:21 3:55 4:05 1:35 4:02 7:01
60 Cary Tanner 🇸🇪 SWE3rd of 30 aged 40-44 40-44 1:05:51 10:48 31:03 29:55 4:58 4:08 3:09 4:43 2:50 4:11 1:42 3:47 5:25
61 Emil Gulin Drakenberg 🇸🇪 SWE11th of 43 aged 16-24 16-24 1:05:52 10:49 29:08 31:31 5:17 4:00 3:09 4:10 4:58 4:18 1:54 3:52 5:10
62 Jamie Pollock 🇬🇧 GBR25th of 82 aged 30-34 30-34 1:05:53 10:50 29:20 31:47 4:50 4:12 2:56 4:50 3:24 4:13 1:33 3:57 6:42
63 Mattias Damm 🇸🇪 SWE14th of 62 aged 25-29 25-29 1:05:54 10:51 31:57 28:46 5:14 4:18 2:38 3:41 3:23 4:29 1:40 3:32 5:05
64 Marc Abou Chakra 🇱🇧 LBN15th of 62 aged 25-29 25-29 1:06:02 10:59 29:54 30:02 6:13 4:24 3:01 4:40 3:32 4:11 1:30 4:04 4:40
65 Ben Hopkins 🇬🇧 GBR12th of 43 aged 16-24 16-24 1:06:12 11:09 30:57 30:19 5:02 4:07 3:34 4:08 3:40 4:12 1:33 3:35 5:30
66 Dalmar Morrison 🇬🇧 GBR16th of 62 aged 25-29 25-29 1:06:13 11:10 32:02 29:13 5:03 3:58 3:19 4:00 3:06 4:08 1:20 3:15 6:07
67 Lasse Teigen 🇳🇴 NOR26th of 82 aged 30-34 30-34 1:06:18 11:15 30:46 30:10 5:28 4:01 3:02 4:37 3:36 4:22 1:28 4:07 4:57
68 Anders Meskestad Jacobsen 🇳🇴 NOR2nd of 27 aged 45-49 45-49 1:06:23 11:20 33:32 27:49 5:07 3:58 2:39 3:31 3:05 4:04 1:26 3:34 5:32
69 James Gilboy 🇬🇧 GBR17th of 62 aged 25-29 25-29 1:06:24 11:21 32:02 28:44 5:42 3:59 2:46 3:42 3:24 4:11 1:44 4:09 4:49
70 Edgar Ruche 🇫🇷 FRA18th of 62 aged 25-29 25-29 1:06:27 11:24 32:01 28:33 5:56 3:37 2:15 4:03 4:06 4:02 1:26 4:36 4:28
71 Grant Bain 🇬🇧 GBR27th of 82 aged 30-34 30-34 1:06:34 11:31 31:53 29:25 5:21 4:03 3:24 4:09 3:15 4:12 1:27 3:59 4:56
72 Eirik Ellefsen Frikstad 🇳🇴 NOR19th of 62 aged 25-29 25-29 1:06:44 11:41 31:33 30:13 5:02 3:56 2:36 4:22 3:57 4:07 1:41 4:09 5:25
73 Monzer Taha 🇸🇪 SWE28th of 82 aged 30-34 30-34 1:06:47 11:44 30:21 31:21 5:11 4:00 3:21 4:37 3:07 4:07 1:47 4:12 6:10
74 Aleksi Sormunen 🇫🇮 FIN20th of 62 aged 25-29 25-29 1:06:50 11:47 34:07 27:09 5:38 4:01 2:43 3:37 3:11 4:08 1:36 3:10 4:43
75 Lauri Eneh 🇫🇮 FIN21st of 62 aged 25-29 25-29 1:06:52 11:49 30:43 30:56 5:17 4:15 2:55 3:52 3:24 4:07 1:30 4:01 6:52
76 Andreas Bergstedt 🇸🇪 SWE9th of 69 aged 35-39 35-39 1:06:52 11:49 29:31 32:17 5:10 3:56 2:36 4:10 4:27 4:06 1:33 4:43 6:46
77 Kamil Kozioł 🇵🇱 POL29th of 82 aged 30-34 30-34 1:06:54 11:51 32:24 28:44 5:51 3:57 2:43 4:25 3:46 4:14 1:25 3:21 4:53
78 Berthel Jakobsen 🇩🇰 DEN13th of 43 aged 16-24 16-24 1:06:56 11:53 30:34 30:47 5:39 4:03 3:12 4:53 3:38 4:30 1:50 3:54 4:47
79 Elias Lundberg 🇸🇪 SWE14th of 43 aged 16-24 16-24 1:07:05 12:02 31:08 30:40 5:21 3:59 2:13 4:28 3:40 4:17 1:36 4:00 6:27
80 Anders Næstholdt 🇩🇰 DEN30th of 82 aged 30-34 30-34 1:07:07 12:04 31:24 30:22 5:25 3:48 2:52 4:29 3:30 4:14 1:35 3:37 6:17
81 Daniel Lundborg 🇸🇪 SWE22nd of 62 aged 25-29 25-29 1:07:07 12:04 29:40 32:24 5:09 3:54 2:54 4:54 3:57 3:59 1:49 5:10 5:47
82 Eirik Stedje 🇳🇴 NOR23rd of 62 aged 25-29 25-29 1:07:07 12:04 28:04 34:06 5:03 4:05 3:20 4:20 3:33 4:22 2:14 3:51 8:21
83 Andrey Kalinin 🇷🇺 RUS3rd of 27 aged 45-49 45-49 1:07:26 12:23 28:41 32:45 6:05 4:09 3:42 4:44 4:14 4:24 1:23 4:56 5:13
84 Kieran Lillis 🇮🇪 IRL10th of 69 aged 35-39 35-39 1:07:32 12:29 31:02 31:06 5:29 4:01 2:46 4:28 3:14 4:12 1:35 4:35 6:15
85 Benjamin Adriani 🇩🇪 GER4th of 30 aged 40-44 40-44 1:07:42 12:39 33:21 28:55 5:30 3:54 3:00 3:57 3:20 4:08 1:21 4:20 4:55
86 Kazem Balogun 🇬🇧 GBR31st of 82 aged 30-34 30-34 1:07:42 12:39 30:06 32:44 4:56 4:02 2:50 4:31 4:24 4:27 1:32 4:19 6:39
87 David Peelo 🇮🇪 IRL4th of 27 aged 45-49 45-49 1:07:43 12:40 32:16 30:09 5:23 4:10 3:10 4:20 2:55 4:24 1:26 4:22 5:22
88 Christian Winther 🇩🇰 DEN15th of 43 aged 16-24 16-24 1:07:46 12:43 31:03 31:22 5:25 4:03 3:16 4:58 3:19 4:16 1:36 4:09 5:45
89 Benjamin Neander 🇸🇪 SWE24th of 62 aged 25-29 25-29 1:07:47 12:44 31:29 30:57 5:25 3:59 2:30 5:37 3:10 4:11 1:46 3:27 6:17
90 Marcel Roith 🇩🇪 GER25th of 62 aged 25-29 25-29 1:07:53 12:50 30:58 31:10 5:48 4:14 3:08 4:27 3:35 4:19 1:25 4:25 5:37
91 Tim Schudde 🇳🇱 NED16th of 43 aged 16-24 16-24 1:08:00 12:57 31:05 32:02 5:00 4:07 3:20 4:20 3:52 4:06 1:47 4:07 6:23
92 José Branco 🇵🇹 POR26th of 62 aged 25-29 25-29 1:08:05 13:02 32:30 30:15 5:25 4:01 3:13 3:57 4:30 4:09 1:29 3:58 4:58
93 Otto Markkanen 🇫🇮 FIN11th of 69 aged 35-39 35-39 1:08:06 13:03 33:39 29:06 5:25 4:13 2:48 4:10 3:41 4:16 1:26 4:06 4:26
94 Giovanni Guidetti 🇮🇹 ITA12th of 69 aged 35-39 35-39 1:08:17 13:14 31:32 31:21 5:29 3:56 3:30 4:13 3:35 4:21 1:41 3:47 6:18
95 Martin Vondrak 🇦🇹 AUT27th of 62 aged 25-29 25-29 1:08:17 13:14 30:36 32:36 5:09 4:14 3:21 5:10 4:25 4:12 1:42 4:24 5:08
96 Ashley Woodhouse 🇬🇧 GBR32nd of 82 aged 30-34 30-34 1:08:18 13:15 33:22 29:21 5:40 4:15 3:10 3:54 3:01 4:21 1:38 4:08 4:54
97 Daniel Bejer 🇩🇰 DEN17th of 43 aged 16-24 16-24 1:08:18 13:15 31:12 32:00 5:08 4:06 2:41 4:32 4:29 4:21 2:21 3:45 5:45
98 Kim Brun Nissen 🇩🇰 DEN13th of 69 aged 35-39 35-39 1:08:36 13:33 31:30 31:32 5:40 4:03 2:56 4:26 4:18 4:04 1:40 4:27 5:38
99 Aleksandar Zlatkov 🇦🇹 AUT33rd of 82 aged 30-34 30-34 1:08:44 13:41 32:02 31:07 5:39 4:03 3:46 4:05 3:53 4:14 1:28 3:46 5:52
100 Henri Pyykölä 🇫🇮 FIN14th of 69 aged 35-39 35-39 1:08:47 13:44 32:13 31:10 5:30 4:02 3:01 4:17 3:34 4:27 2:07 4:08 5:34
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