FULL RESULTS
HYROX Stockholm 2025 Results – Pro Men
72 finishers. Winner Tomas Tvrdik in 55:04; median 1:13:12.
| Rank | Athlete | Nat | Age group | Time | Run | Workout |
|---|---|---|---|---|---|---|
| 1 | Tomas Tvrdik | 40-44 | 55:04 | 26:57 | 23:44 | |
| 2 | Alan Cao | 30-34 | 55:51 | 27:41 | 23:44 | |
| 3 | Sebastian Ifversen | 25-29 | 55:55 | 26:47 | 24:47 | |
| 4 | Kenny Steger | 25-29 | 56:05 | 26:05 | 25:57 | |
| 5 | Gustav Cordua | 16-24 | 56:16 | 27:06 | 25:04 | |
| 6 | Harvey Williams | 16-24 | 57:19 | 26:34 | 26:19 | |
| 7 | Erik Woodward | 30-34 | 57:37 | 28:16 | 24:57 | |
| 8 | Erik Oscar Bøe | 25-29 | 57:39 | 28:34 | 24:32 | |
| 9 | Thomas Dahl | 25-29 | 59:35 | 28:36 | 26:32 | |
| 10 | Axel Montreuil | 25-29 | 59:48 | 28:04 | 27:09 | |
| 11 | Ivan Pranjic | 35-39 | 1:01:33 | 30:51 | 25:31 | |
| 12 | Oscar Petersen | 30-34 | 1:01:44 | 30:06 | 26:49 | |
| 13 | Mathias Lynge | 30-34 | 1:01:57 | 30:18 | 27:03 | |
| 14 | Philipp Müller | 40-44 | 1:02:47 | 28:52 | 28:31 | |
| 15 | John Arvidsson | 30-34 | 1:03:24 | 30:50 | 27:31 | |
| 16 | Mathias Ramberg | 30-34 | 1:04:37 | 29:59 | 29:19 | |
| 17 | Nhick Dampouya | 35-39 | 1:04:41 | 30:43 | 28:57 | |
| 18 | Kamil Kozioł | 30-34 | 1:05:09 | 30:12 | 29:30 | |
| 19 | Roope Maaranen | 25-29 | 1:05:15 | 32:09 | 27:50 | |
| 20 | Johan Ingemarsson | 35-39 | 1:05:45 | 29:18 | 31:31 | |
| 21 | Lasse Teigen | 30-34 | 1:06:18 | 30:46 | 30:10 | |
| 22 | Eirik Ellefsen Frikstad | 25-29 | 1:06:44 | 31:33 | 30:13 | |
| 23 | Monzer Taha | 30-34 | 1:06:47 | 30:21 | 31:21 | |
| 24 | Andreas Bergstedt | 35-39 | 1:06:52 | 29:31 | 32:17 | |
| 25 | Anders Næstholdt | 30-34 | 1:07:07 | 31:24 | 30:22 | |
| 26 | Otto Markkanen | 35-39 | 1:08:06 | 33:39 | 29:06 | |
| 27 | Kim Brun Nissen | 35-39 | 1:08:36 | 31:30 | 31:32 | |
| 28 | Sion Jones | 25-29 | 1:09:34 | 33:40 | 30:48 | |
| 29 | Tim Heinzle | 30-34 | 1:09:59 | 34:03 | 30:27 | |
| 30 | Tom Jansen | 30-34 | 1:10:11 | 32:06 | 32:43 | |
| 31 | Deek Mohamed | 25-29 | 1:10:16 | 31:08 | 33:24 | |
| 32 | Tuomas Wuorikoski | 40-44 | 1:10:24 | 34:16 | 30:39 | |
| 33 | Hans Grobecker | 45-49 | 1:11:03 | 33:57 | 30:57 | |
| 34 | Pim Muller | 25-29 | 1:11:27 | 35:37 | 30:19 | |
| 35 | Hugo Jansson | 16-24 | 1:12:29 | 35:26 | 30:59 | |
| 36 | Frank Fredenklo | 35-39 | 1:13:08 | 34:17 | 33:31 | |
| 37 | Lasse Edvardsen | 50-54 | 1:13:16 | 36:23 | 30:27 | |
| 38 | Thobias Olsson Berglind | 50-54 | 1:14:30 | 34:34 | 34:20 | |
| 39 | Jon Skriver | 45-49 | 1:15:39 | 35:45 | 34:23 | |
| 40 | Jonas Karlberg | 30-34 | 1:15:53 | 33:58 | 35:54 | |
| 41 | Mikkel Andreassen | 35-39 | 1:16:01 | 35:04 | 34:30 | |
| 42 | David Bustos | 45-49 | 1:16:07 | 33:28 | 36:23 | |
| 43 | Zac Mogan | 16-24 | 1:16:20 | 33:32 | 37:24 | |
| 44 | Tristan Kent | 45-49 | 1:17:24 | 33:12 | 38:29 | |
| 45 | Jonas Jørgensen | 35-39 | 1:17:26 | 37:33 | 33:31 | |
| 46 | Alexander Ebner | 25-29 | 1:17:52 | 35:43 | 36:07 | |
| 47 | Morgan Wiklund | 35-39 | 1:17:56 | 34:15 | 37:57 | |
| 48 | Oliver Grimm | 50-54 | 1:18:00 | 33:16 | 39:03 | |
| 49 | Andre Dirks | 35-39 | 1:18:02 | 37:49 | 33:50 | |
| 50 | Mohand Abbas | 35-39 | 1:19:41 | 38:47 | 34:14 | |
| 51 | Roger Lyngbrant | 40-44 | 1:21:22 | 34:52 | 40:30 | |
| 52 | Kaspars Celitans | 35-39 | 1:21:58 | 36:41 | 38:29 | |
| 53 | Nguyen-Quôc Cao | 35-39 | 1:22:28 | 37:40 | 38:17 | |
| 54 | Marcel Trumpp | 25-29 | 1:23:21 | 36:46 | 39:35 | |
| 55 | Ruben Rapetti | 40-44 | 1:23:23 | 33:21 | 43:37 | |
| 56 | Magnus Transet Tollofsen | 40-44 | 1:24:33 | 35:10 | 41:58 | |
| 57 | Mattéo Lemay | 16-24 | 1:24:53 | 40:08 | 37:18 | |
| 58 | Kristoffer Lenke | 40-44 | 1:25:34 | 39:55 | 39:09 | |
| 59 | Simon Blanche | 25-29 | 1:26:02 | 38:18 | 39:49 | |
| 60 | Kai Damast | 55-59 | 1:26:15 | 40:47 | 37:58 | |
| 61 | Felix Nordqvist | 30-34 | 1:26:40 | 41:13 | 37:41 | |
| 62 | Mathias Härenstam | 40-44 | 1:26:50 | 40:16 | 39:26 | |
| 63 | Michael Egede Petersen | 50-54 | 1:28:14 | 41:33 | 39:50 | |
| 64 | Oliver Elsholz | 35-39 | 1:28:29 | 38:27 | 42:47 | |
| 65 | Robin Gateau | 30-34 | 1:29:51 | 43:06 | 39:10 | |
| 66 | Peter Nyström | 50-54 | 1:31:47 | 40:07 | 43:20 | |
| 67 | Simen Vie | 30-34 | 1:33:32 | 41:31 | 44:34 | |
| 68 | Christian Hagenau | 30-34 | 1:37:55 | 43:37 | 45:30 | |
| 69 | Jonas Forslund | 50-54 | 1:39:20 | 46:01 | 45:38 | |
| 70 | Kevin Faherty | 55-59 | 1:49:20 | 46:12 | 54:25 | |
| 71 | Martin Holmgren | 45-49 | 2:02:00 | 54:13 | 58:24 | |
| 72 | Alain Beaino | LBN | 30-34 | 2:16:37 | 59:49 | 1:04:07 |