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.