HYROX Warsaw 2026: Pro Men results

556 finishers on 16 Apr 2026. Typical finish 1:12:26, fastest 10% under 1:00:45. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Julian Kreutzer 🇦🇹 AUT1st of 115 aged 25-29 25-29 54:27 27:06 24:20 3:05 3:51 2:17 3:16 2:41 4:01 1:27 3:03 3:44
2 Domen Dornik 🇸🇮 SLO1st of 148 aged 30-34 30-34 54:28 0:01 27:23 23:59 3:09 3:40 2:21 3:10 2:37 3:47 1:25 2:44 4:15
3 Krystian Poremba 🇵🇱 POL2nd of 148 aged 30-34 30-34 54:29 0:02 27:52 23:25 3:15 3:43 2:11 2:53 2:45 3:53 1:19 3:05 3:36
4 Jannik Czapla 🇩🇪 GER2nd of 115 aged 25-29 25-29 54:35 0:08 27:47 23:41 3:11 3:41 2:19 3:00 2:30 3:53 1:25 2:42 4:11
5 George Martindale ENG3rd of 148 aged 30-34 30-34 55:25 0:58 28:25 23:47 3:18 3:43 2:24 3:16 2:39 3:57 1:25 2:37 3:46
6 Erik Woodward 🇳🇴 NOR4th of 148 aged 30-34 30-34 55:34 1:07 28:35 23:43 3:21 3:53 2:19 3:06 2:28 4:04 1:19 2:49 3:45
7 Ollie Russell ENG3rd of 115 aged 25-29 25-29 55:39 1:12 29:01 23:21 3:22 3:54 2:18 2:50 2:37 4:05 1:15 2:35 3:47
8 Jamie Pratt ENG5th of 148 aged 30-34 30-34 55:41 1:14 28:37 23:47 3:22 3:58 2:17 3:04 2:39 4:08 1:27 2:40 3:34
9 Connor Higgins 🇬🇧 GBR4th of 115 aged 25-29 25-29 55:48 1:21 28:07 24:13 3:32 3:56 2:38 3:01 2:33 4:04 1:22 2:56 3:43
10 Dylan Caruso 🇮🇹 ITA1st of 40 aged 16-24 16-24 55:58 1:31 28:22 24:28 3:11 3:49 2:18 3:18 2:52 3:56 1:23 3:13 3:39
11 Danny Rae ENG6th of 148 aged 30-34 30-34 56:08 1:41 29:34 23:12 3:25 3:57 2:14 3:02 1:59 4:03 1:22 2:47 3:48
12 Fabian Eisenlauer 🇩🇪 GER7th of 148 aged 30-34 30-34 56:20 1:53 27:55 24:55 3:34 3:46 2:38 3:34 2:17 4:03 1:29 2:53 4:15
13 Kenny Steger 🇸🇪 SWE5th of 115 aged 25-29 25-29 56:37 2:10 27:35 26:04 3:03 3:54 2:47 3:33 3:01 4:11 1:25 3:02 4:11
14 Joseph Leader 🇬🇧 GBR1st of 129 aged 35-39 35-39 56:57 2:30 29:34 24:11 3:16 3:51 2:19 2:59 2:24 4:04 1:26 2:58 4:10
15 Tiago Lousa 🇵🇹 POR1st of 71 aged 40-44 40-44 57:05 2:38 28:07 25:54 3:09 3:52 2:33 3:27 2:36 4:07 1:29 3:06 4:44
16 Aljaz Ploj 🇸🇮 SLO6th of 115 aged 25-29 25-29 57:25 2:58 26:57 27:27 3:05 3:57 2:56 3:48 3:10 4:10 1:33 3:11 4:42
17 Hubert Dumez 🇫🇷 FRA8th of 148 aged 30-34 30-34 57:31 3:04 28:37 25:38 3:22 4:02 2:21 3:31 2:34 4:10 1:26 3:15 4:19
18 Travis Brown ENG9th of 148 aged 30-34 30-34 57:33 3:06 28:40 25:34 3:22 3:56 2:27 3:28 2:35 4:04 1:37 3:17 4:10
19 Sam Schilling 🇺🇸 USA7th of 115 aged 25-29 25-29 57:36 3:09 28:52 25:28 3:20 3:51 2:35 3:23 2:58 4:04 1:22 3:13 4:02
20 Benito Baez Ayala 🇩🇪 GER2nd of 129 aged 35-39 35-39 57:41 3:14 28:39 25:42 3:24 3:58 2:24 3:50 2:43 4:14 1:20 3:19 3:54
21 Diogo Freitas 🇵🇹 POR10th of 148 aged 30-34 30-34 57:43 3:16 29:43 24:44 3:20 3:53 2:29 3:31 2:33 4:03 1:26 3:09 3:40
22 Adrian Lindgren 🇳🇴 NOR8th of 115 aged 25-29 25-29 57:43 3:16 28:53 25:28 3:26 4:02 2:22 3:42 2:44 4:03 1:19 3:16 4:00
23 Pablo Valverde Reyes 🇪🇸 ESP11th of 148 aged 30-34 30-34 57:49 3:22 30:09 24:15 3:28 3:48 2:26 3:26 3:00 4:06 1:24 2:31 3:34
24 Paul O Brien 🇮🇪 IRL2nd of 71 aged 40-44 40-44 57:49 3:22 29:37 24:40 3:37 3:48 2:32 3:25 2:24 4:01 1:28 2:50 4:12
25 Valentín Gamba Dondich 🇦🇷 ARG12th of 148 aged 30-34 30-34 57:52 3:25 29:22 25:12 3:22 4:03 2:45 3:56 2:34 4:10 1:20 2:47 3:37
26 Mick Daly 🇮🇪 IRL3rd of 129 aged 35-39 35-39 57:54 3:27 29:17 25:21 3:20 3:57 2:19 3:26 2:33 4:12 1:15 3:27 4:12
27 Bodger Rees 🇬🇧 GBR4th of 129 aged 35-39 35-39 58:00 3:33 31:05 23:25 3:35 3:40 1:50 2:43 2:44 4:07 1:22 3:10 3:49
28 Elte Hupkes 🇳🇱 NED5th of 129 aged 35-39 35-39 58:04 3:37 29:39 25:09 3:19 3:56 2:27 3:38 2:59 3:59 1:22 2:39 4:09
29 Aleksander Strapagiel 🇵🇱 POL13th of 148 aged 30-34 30-34 58:08 3:41 30:28 24:17 3:26 3:45 2:01 3:36 2:47 4:02 1:22 3:00 3:44
30 Stanisław Hubert 🇵🇱 POL9th of 115 aged 25-29 25-29 58:11 3:44 29:05 25:42 3:29 3:49 2:19 3:08 3:02 4:07 1:24 3:35 4:18
31 Yeray Toquero 🇪🇸 ESP6th of 129 aged 35-39 35-39 58:25 3:58 30:14 24:44 3:32 3:55 2:33 3:23 2:21 4:10 1:27 2:56 3:59
32 Michael Oswald 🇩🇪 GER14th of 148 aged 30-34 30-34 58:25 3:58 29:17 25:31 3:42 3:38 2:26 3:03 2:49 3:57 1:25 3:27 4:46
33 Mark Speak 🇬🇧 GBR7th of 129 aged 35-39 35-39 58:26 3:59 30:52 24:16 3:22 3:53 2:27 3:00 2:39 4:05 1:22 2:55 3:55
34 Tommy Wright 🇬🇧 GBR10th of 115 aged 25-29 25-29 58:26 3:59 30:11 25:09 3:10 3:51 2:23 3:18 2:35 4:02 1:32 3:21 4:07
35 Michael O'Loughlin 🇮🇪 IRL11th of 115 aged 25-29 25-29 58:30 4:03 29:45 25:23 3:26 4:03 2:34 3:19 2:36 4:05 1:29 3:10 4:07
36 Matthew Plowman 🇬🇧 GBR15th of 148 aged 30-34 30-34 58:33 4:06 28:57 26:10 3:29 4:01 2:31 3:30 2:59 4:02 1:24 3:24 4:19
37 Fadel Ndiaye 🇮🇹 ITA12th of 115 aged 25-29 25-29 58:36 4:09 29:15 26:06 3:19 3:55 2:44 3:50 2:56 4:12 1:29 3:07 3:53
38 Stephen Harold 🇮🇪 IRL8th of 129 aged 35-39 35-39 59:21 4:54 30:36 25:19 3:31 3:50 2:14 3:24 2:34 4:07 1:29 3:21 4:20
39 Rio Quarry 🇬🇧 GBR2nd of 40 aged 16-24 16-24 59:30 5:03 30:54 25:09 3:31 3:47 2:24 3:24 3:12 4:10 1:31 3:04 3:37
40 Sam Taylor 🇬🇧 GBR3rd of 40 aged 16-24 16-24 59:35 5:08 30:44 25:27 3:28 4:00 2:29 3:44 2:29 4:11 1:32 3:01 4:01
41 Paweł Gramacki 🇵🇱 POL3rd of 71 aged 40-44 40-44 59:37 5:10 31:04 24:56 3:42 3:45 2:37 3:27 2:57 3:57 1:31 3:17 3:25
42 Rok Kolarič 🇸🇮 SLO4th of 71 aged 40-44 40-44 59:37 5:10 30:41 25:33 3:28 4:01 2:32 3:05 3:02 4:12 1:21 3:23 3:57
43 Milosz Staworzyński 🇵🇱 POL9th of 129 aged 35-39 35-39 59:39 5:12 31:47 24:35 3:22 3:53 2:17 3:25 2:45 4:05 1:40 2:49 3:41
44 Louis Pavis 🇫🇷 FRA10th of 129 aged 35-39 35-39 59:44 5:17 31:11 25:04 3:34 3:46 2:16 3:19 3:19 3:56 1:31 3:09 3:48
45 Kristofer McSherry SCO16th of 148 aged 30-34 30-34 59:44 5:17 30:29 25:54 3:26 4:00 2:48 3:24 3:09 4:09 1:34 2:46 4:04
46 Mark Caruana 🇲🇹 MLT17th of 148 aged 30-34 30-34 59:47 5:20 29:40 26:53 3:17 3:43 2:53 3:34 3:05 4:17 1:34 3:19 4:28
47 Sam Knowles 🇬🇧 GBR18th of 148 aged 30-34 30-34 59:48 5:21 31:28 24:57 3:27 4:04 2:26 3:11 2:58 4:09 1:27 2:34 4:08
48 Magnus Eschment 🇩🇪 GER13th of 115 aged 25-29 25-29 59:50 5:23 30:08 26:02 3:45 3:59 2:23 3:44 2:52 4:17 1:22 3:25 4:00
49 Arek Pociask 🇵🇱 POL4th of 40 aged 16-24 16-24 59:55 5:28 30:39 25:58 3:24 4:06 2:20 3:41 3:02 4:25 1:23 3:19 3:42
50 Samuel Hebert 🇨🇦 CAN19th of 148 aged 30-34 30-34 1:00:03 5:36 30:33 25:24 4:09 4:00 2:36 3:23 2:42 4:18 1:12 3:32 3:41
51 Jerome Arnaud 🇫🇷 FRA11th of 129 aged 35-39 35-39 1:00:07 5:40 30:49 25:39 3:44 3:51 2:25 3:32 3:28 4:07 1:33 2:49 3:54
52 Lewis Harper 🇬🇧 GBR20th of 148 aged 30-34 30-34 1:00:10 5:43 29:54 26:53 3:28 3:58 2:37 3:21 3:16 4:18 1:23 3:32 4:28
53 Alberto Serrano 🇪🇸 ESP21st of 148 aged 30-34 30-34 1:00:11 5:44 29:35 26:59 3:42 4:05 3:03 3:43 2:46 4:23 1:30 4:02 3:27
54 Norman Badorrek 🇩🇪 GER12th of 129 aged 35-39 35-39 1:00:26 5:59 31:27 25:28 3:37 4:00 2:28 3:25 3:04 4:11 1:26 3:12 3:42
55 Ričards Matuzevičs 🇱🇻 LAT22nd of 148 aged 30-34 30-34 1:00:26 5:59 30:47 25:57 3:46 3:47 2:29 3:38 3:21 4:13 1:22 3:15 3:52
56 Klemen Alic 🇸🇮 SLO23rd of 148 aged 30-34 30-34 1:00:44 6:17 31:09 26:13 3:28 4:02 2:42 3:13 3:30 4:16 1:32 3:05 3:53
57 Petr Mrázek 🇨🇿 CZE13th of 129 aged 35-39 35-39 1:00:45 6:18 30:23 26:52 3:36 4:01 2:54 3:29 3:28 4:11 1:34 3:20 3:55
58 Filipe Prates 🇵🇹 POR14th of 129 aged 35-39 35-39 1:00:49 6:22 30:28 26:47 3:37 4:02 2:50 3:36 2:47 4:17 1:26 2:58 4:51
59 Deke Banks 🇬🇧 GBR15th of 129 aged 35-39 35-39 1:00:51 6:24 30:05 27:13 3:37 4:00 2:25 3:52 2:59 4:08 1:39 3:48 4:22
60 Jeremy Saxon 🇬🇧 GBR16th of 129 aged 35-39 35-39 1:00:53 6:26 30:24 27:10 3:23 3:53 3:10 3:41 2:46 4:18 1:39 3:28 4:15
61 Maciej Hołubek 🇵🇱 POL14th of 115 aged 25-29 25-29 1:00:56 6:29 30:32 26:51 3:37 4:01 2:32 3:09 3:25 4:17 1:18 3:47 4:22
62 Fábio Portela 🇵🇹 POR17th of 129 aged 35-39 35-39 1:01:03 6:36 31:48 25:47 3:32 3:55 2:19 3:31 2:53 4:04 1:37 3:02 4:26
63 Kamil Kozioł 🇵🇱 POL24th of 148 aged 30-34 30-34 1:01:07 6:40 31:08 26:19 3:44 3:50 2:27 3:31 2:43 4:06 1:33 3:15 4:54
64 Felix Hahnsch 🇩🇪 GER25th of 148 aged 30-34 30-34 1:01:10 6:43 30:36 27:18 3:21 3:52 2:42 3:47 2:51 4:07 1:28 3:41 4:50
65 Nico Küttner 🇩🇪 GER15th of 115 aged 25-29 25-29 1:01:26 6:59 30:54 27:07 3:31 3:55 2:33 3:27 3:14 4:11 1:32 4:04 4:11
66 Jean Claude Faenza 🇲🇹 MLT26th of 148 aged 30-34 30-34 1:01:27 7:00 32:52 25:06 3:33 3:56 2:23 3:51 2:12 4:15 1:34 3:13 3:42
67 Tony Cunningham 🇬🇧 GBR5th of 71 aged 40-44 40-44 1:01:33 7:06 29:42 28:21 3:33 4:06 2:48 4:03 3:28 4:17 1:32 3:42 4:25
68 Artūrs Liepa 🇱🇻 LAT5th of 40 aged 16-24 16-24 1:01:41 7:14 30:09 27:40 3:57 3:52 2:18 3:42 3:46 4:05 1:38 3:37 4:42
69 Dan Deacon 🇬🇧 GBR6th of 71 aged 40-44 40-44 1:01:43 7:16 30:25 27:52 3:30 3:58 2:09 3:47 3:34 4:10 1:38 3:49 4:47
70 David O’Toole 🇬🇧 GBR27th of 148 aged 30-34 30-34 1:01:46 7:19 31:36 26:36 3:39 4:05 2:30 3:50 2:22 4:14 1:36 3:32 4:27
71 Ralf Ulmer 🇩🇪 GER18th of 129 aged 35-39 35-39 1:01:46 7:19 28:11 30:15 3:24 4:04 3:14 4:33 2:54 4:11 1:36 3:12 6:31
72 Anthony Towler 🇬🇧 GBR19th of 129 aged 35-39 35-39 1:01:47 7:20 31:00 27:13 3:37 4:00 2:39 3:46 3:13 4:07 1:39 3:38 4:11
73 Ben Murphy 🇬🇧 GBR20th of 129 aged 35-39 35-39 1:01:48 7:21 29:21 29:03 3:30 4:03 2:54 3:49 2:56 4:18 1:47 3:32 5:44
74 Joze Kojc 🇸🇮 SLO1st of 10 aged 55-59 55-59 1:01:49 7:22 31:02 27:01 3:52 4:09 2:57 3:41 2:20 4:16 1:32 3:05 5:01
75 Damien Botes 🇿🇦 RSA28th of 148 aged 30-34 30-34 1:01:50 7:23 33:09 25:09 3:36 3:49 2:02 3:30 3:22 4:04 1:30 3:22 3:30
76 Nicholas Cowling 🇬🇧 GBR7th of 71 aged 40-44 40-44 1:01:54 7:27 31:59 26:26 3:33 4:07 2:32 3:19 3:05 4:05 1:34 3:27 4:17
77 Arkadiusz Grabowiec 🇵🇱 POL16th of 115 aged 25-29 25-29 1:01:54 7:27 31:05 27:17 3:37 3:55 2:39 3:45 2:41 4:13 1:44 3:24 4:56
78 Sean Madden 🇬🇧 GBR17th of 115 aged 25-29 25-29 1:01:59 7:32 32:13 26:09 3:43 4:06 2:42 3:34 3:06 4:23 1:20 3:17 3:41
79 Bartosz Balcerowski 🇵🇱 POL29th of 148 aged 30-34 30-34 1:02:06 7:39 32:35 25:53 3:43 3:44 2:19 3:38 2:56 4:07 1:45 3:50 3:34
80 Ryan Martindale 🇬🇧 GBR30th of 148 aged 30-34 30-34 1:02:07 7:40 32:11 26:19 3:43 4:02 2:38 3:25 2:40 4:17 1:22 3:09 4:46
81 Anders Meskestad Jacobsen 🇳🇴 NOR1st of 32 aged 45-49 45-49 1:02:10 7:43 32:36 26:00 3:37 4:01 2:45 3:16 2:47 4:10 1:21 2:47 4:53
82 Jarosław Gajewski 🇵🇱 POL31st of 148 aged 30-34 30-34 1:02:13 7:46 33:00 25:39 3:38 3:50 2:04 3:24 3:38 3:56 1:35 3:25 3:47
83 Celso Oliveira 🇵🇹 POR21st of 129 aged 35-39 35-39 1:02:18 7:51 29:58 28:58 3:28 4:02 3:05 4:07 3:01 4:23 2:03 3:59 4:18
84 Maciej Węgorzewski 🇵🇱 POL32nd of 148 aged 30-34 30-34 1:02:22 7:55 32:08 26:32 3:46 3:50 2:24 3:50 3:11 4:06 1:27 3:14 4:30
85 Wiebe Kuipers 🇳🇱 NED33rd of 148 aged 30-34 30-34 1:02:22 7:55 31:53 26:54 3:41 4:16 3:06 3:32 3:06 4:23 1:22 3:08 4:01
86 Kalev Ermits 🇪🇪 EST34th of 148 aged 30-34 30-34 1:02:23 7:56 32:09 26:29 3:50 3:47 2:40 3:22 3:09 4:03 1:36 3:28 4:24
87 Liam White 🇬🇧 GBR35th of 148 aged 30-34 30-34 1:02:25 7:58 30:52 27:55 3:41 3:59 2:50 3:41 3:03 4:19 1:31 3:55 4:37
88 Jakub Ostafiński 🇵🇱 POL6th of 40 aged 16-24 16-24 1:02:30 8:03 31:54 27:16 3:23 3:57 3:08 3:28 2:58 4:02 1:32 3:38 4:33
89 Ahmed el Tantawi 🇫🇷 FRA18th of 115 aged 25-29 25-29 1:02:34 8:07 31:20 27:36 3:42 4:02 2:37 3:47 2:49 4:19 1:42 3:29 4:51
90 Filip Modelski 🇵🇱 POL36th of 148 aged 30-34 30-34 1:02:37 8:10 31:39 27:15 3:46 4:04 2:29 3:44 2:46 4:15 1:39 3:23 4:55
91 Timur Chocieszyński 🇵🇱 POL19th of 115 aged 25-29 25-29 1:02:38 8:11 31:40 27:17 3:46 3:54 2:58 4:14 2:57 4:17 1:15 3:06 4:36
92 Grzegorz Hoffman 🇵🇱 POL8th of 71 aged 40-44 40-44 1:02:42 8:15 30:40 27:52 4:16 4:08 3:00 3:11 3:18 4:17 1:32 3:06 5:20
93 Jose Salama 🇪🇸 ESP37th of 148 aged 30-34 30-34 1:02:56 8:29 31:10 28:14 3:38 3:58 2:40 3:47 3:11 4:27 1:55 3:22 4:54
94 Luca Przekoracki 🇮🇹 ITA20th of 115 aged 25-29 25-29 1:03:07 8:40 30:50 28:40 3:42 4:08 2:25 3:47 3:08 4:28 1:30 4:06 5:08
95 Ken David Villanger 🇳🇴 NOR21st of 115 aged 25-29 25-29 1:03:08 8:41 32:26 27:13 3:34 3:58 2:53 3:17 3:15 4:09 1:23 3:37 4:41
96 Cian Cobbe 🇮🇪 IRL7th of 40 aged 16-24 16-24 1:03:10 8:43 31:51 27:45 3:39 4:05 2:26 3:47 3:00 4:07 1:36 3:43 5:01
97 Bartek Karczewski 🇵🇱 POL22nd of 129 aged 35-39 35-39 1:03:16 8:49 32:47 26:59 3:36 4:07 2:40 3:43 2:58 4:25 1:41 3:30 3:55
98 Dylan Grundy 🇬🇧 GBR8th of 40 aged 16-24 16-24 1:03:26 8:59 32:07 27:44 3:39 4:04 2:55 3:22 3:19 4:15 1:28 4:01 4:20
99 Patrick Martens 🇩🇪 GER23rd of 129 aged 35-39 35-39 1:03:28 9:01 31:54 27:40 3:57 3:53 2:55 3:40 2:56 4:10 1:28 3:14 5:24
100 Piotr Płóciennik 🇵🇱 POL24th of 129 aged 35-39 35-39 1:03:35 9:08 32:12 27:43 3:45 3:56 2:44 3:41 3:11 4:11 1:35 3:45 4:40
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