HYROX Cologne 2026: Doubles Men results

1,136 teams on 16 Apr 2026. Typical finish 1:16:21, fastest 10% under 1:03:54. Back to the analysis.

# Athlete Age Time Behind 1st Runs Stations Rox Ski Push Pull BBJ Row Carry Lunge WB
1 Jaafar Moumen, Christian Nolde 🇲🇦 MAR1st of 124 aged 40-44 40-44 53:39 29:45 20:02 3:55 3:28 1:40 2:06 1:53 4:10 1:08 2:18 3:19
2 Lukas Zajons, Anil Yesil 🇩🇪 GER1st of 255 aged 35-39 35-39 54:25 0:46 30:11 20:38 3:41 3:30 1:49 2:24 1:48 3:55 1:06 2:14 3:52
3 Julian Kemmler, Daniel Leibinger 🇩🇪 GER1st of 235 aged 25-29 25-29 55:14 1:35 30:40 20:52 3:46 3:29 2:06 2:21 2:13 3:49 1:15 2:19 3:20
4 Pedro Marques, Tiago Nunes 🇵🇹 POR2nd of 235 aged 25-29 25-29 55:34 1:55 31:13 20:43 3:42 3:34 1:19 2:24 2:18 3:57 1:20 2:14 3:37
5 Konstantin Jünger, René Dau 🇩🇪 GER2nd of 255 aged 35-39 35-39 55:36 1:57 30:37 21:16 3:48 3:34 1:53 2:30 2:09 4:01 1:06 2:22 3:41
6 Diogo D’Ávila, Afonso Fadigas 🇵🇹 POR1st of 317 aged 30-34 30-34 55:38 1:59 31:31 20:30 3:41 3:31 1:28 2:27 1:59 3:48 1:26 2:20 3:31
7 Joshua Eggermann, Moritz Christmann 🇩🇪 GER2nd of 317 aged 30-34 30-34 55:55 2:16 31:08 21:07 3:45 3:28 1:33 2:07 2:22 4:08 1:18 2:34 3:37
8 Renning Elischer, Marian Krämer 🇩🇪 GER3rd of 317 aged 30-34 30-34 56:28 2:49 29:33 23:16 3:43 3:45 1:48 2:20 2:30 4:18 1:15 2:52 4:28
9 Patrick Paul, Patrick Gayer 🇩🇪 GER2nd of 124 aged 40-44 40-44 56:40 3:01 30:51 22:09 3:45 3:37 1:48 2:10 2:35 4:12 1:16 2:39 3:52
10 László Ágoston Kovács, Levente Sebő 🇭🇺 HUN3rd of 235 aged 25-29 25-29 56:47 3:08 30:31 22:17 4:04 3:39 1:48 2:37 2:04 4:03 1:14 2:53 3:59
11 Lukas Müller, Sebastian Geisel 🇨🇭 SUI4th of 317 aged 30-34 30-34 56:57 3:18 33:26 19:37 3:58 3:31 1:35 1:50 1:49 4:16 1:04 2:10 3:22
12 Milos Cekic, Simon Karker 🇩🇪 GER3rd of 255 aged 35-39 35-39 57:00 3:21 32:26 20:39 3:58 3:35 1:41 2:02 2:10 3:59 1:20 2:13 3:39
13 Christian Kukuk, Daniel Schrader 🇩🇪 GER3rd of 124 aged 40-44 40-44 57:11 3:32 31:49 21:29 3:57 3:29 1:45 2:21 2:11 4:03 1:19 2:45 3:36
14 Sven Berberich, Daniel Häusler 🇩🇪 GER1st of 115 aged 16-24 16-24 57:15 3:36 31:27 22:09 3:44 3:37 1:28 2:54 2:23 4:01 1:26 2:41 3:39
15 Philipp Stumm, Eric Diehl 🇩🇪 GER5th of 317 aged 30-34 30-34 57:19 3:40 31:30 22:01 3:52 3:39 1:36 2:10 2:29 4:07 1:24 3:05 3:31
16 Marc Dietrich, Christian Lindequist 🇩🇪 GER4th of 255 aged 35-39 35-39 57:23 3:44 31:08 22:07 4:12 3:32 1:32 2:28 2:39 4:04 1:16 2:50 3:46
17 Erik Wilke, Manuel Albrecht 🇩🇪 GER4th of 235 aged 25-29 25-29 57:33 3:54 31:24 22:23 3:51 3:36 1:44 2:40 2:07 4:09 1:17 2:41 4:09
18 Alexander Höhne, Paul Gnich 🇩🇪 GER4th of 124 aged 40-44 40-44 57:39 4:00 30:34 23:18 3:52 3:53 1:45 2:47 2:17 4:11 1:16 2:51 4:18
19 Daniel Dumschat, Alexander Jäger 🇩🇪 GER2nd of 115 aged 16-24 16-24 58:00 4:21 32:12 21:45 4:08 3:27 1:46 2:25 2:39 3:48 1:15 2:41 3:44
20 Florian Hoffmann, Peter Zuravlev 🇩🇪 GER6th of 317 aged 30-34 30-34 58:06 4:27 33:41 20:39 3:49 3:38 1:40 1:51 2:05 4:02 1:11 2:34 3:38
21 Levin Maurer, Alexander Korn 🇩🇪 GER7th of 317 aged 30-34 30-34 58:06 4:27 30:11 24:16 3:44 3:57 1:51 2:47 2:36 4:18 1:26 3:14 4:07
22 Raphael Schobeß, Hong Nguyen 🇩🇪 GER8th of 317 aged 30-34 30-34 58:17 4:38 33:01 21:06 4:13 3:38 1:33 2:08 1:55 4:05 1:15 2:52 3:40
23 Hendrik Hilzinger, Julian Hipp 🇩🇪 GER9th of 317 aged 30-34 30-34 58:25 4:46 32:05 22:18 4:06 3:50 1:48 2:41 2:32 4:02 1:24 2:21 3:40
24 Aldo Hellmich, Christopher Tebbe 🇩🇪 GER10th of 317 aged 30-34 30-34 58:28 4:49 33:33 20:44 4:17 3:42 1:37 2:12 2:06 3:57 1:25 2:17 3:28
25 Lukas Braunewell, Maximilian Jansen 🇩🇪 GER5th of 235 aged 25-29 25-29 58:41 5:02 32:39 22:03 4:03 3:35 1:28 2:01 3:05 3:58 1:20 2:43 3:53
26 Julian Grünwald, Nils Blumenstein 🇦🇹 AUT6th of 235 aged 25-29 25-29 58:56 5:17 33:34 21:19 4:08 3:43 1:49 2:05 2:16 4:05 1:00 2:38 3:43
27 Tim Bertsche, Lukas Priebe 🇩🇪 GER7th of 235 aged 25-29 25-29 58:56 5:17 31:06 23:58 3:57 3:49 1:58 2:44 2:34 4:14 1:25 3:19 3:55
28 Andreas Mikeli, Max Bickmeier 🇩🇪 GER8th of 235 aged 25-29 25-29 59:00 5:21 34:02 21:03 3:59 3:42 1:31 1:50 2:17 4:01 1:01 2:29 4:12
29 Jonas Baum, Christoph Klewitz 🇩🇪 GER5th of 255 aged 35-39 35-39 59:07 5:28 32:58 22:04 4:11 3:47 1:59 2:50 1:45 4:16 1:18 2:37 3:32
30 Joris Guiot, Allan Dubois 🇫🇷 FRA11th of 317 aged 30-34 30-34 59:23 5:44 32:45 22:43 4:00 3:43 1:33 2:56 2:07 4:04 1:12 2:37 4:31
31 Sven Falkenberg, Sebastian Bohner 🇩🇪 GER12th of 317 aged 30-34 30-34 59:37 5:58 32:11 22:56 4:35 3:36 1:47 2:58 2:31 4:21 1:23 2:49 3:31
32 Stephane Albi, Benjamin Laks 🇫🇷 FRA5th of 124 aged 40-44 40-44 59:38 5:59 32:12 23:35 3:56 3:55 1:48 2:38 2:39 4:09 1:24 3:04 3:58
33 Robin Schlegelmilch, Adrian Gllareva 🇩🇪 GER9th of 235 aged 25-29 25-29 59:39 6:00 32:44 21:50 5:10 3:30 1:36 2:04 1:52 4:06 1:17 3:41 3:44
34 Jannes Müller, Michael Vogel 🇩🇪 GER10th of 235 aged 25-29 25-29 59:42 6:03 33:34 21:21 4:53 3:45 1:22 2:05 2:18 4:03 1:24 2:51 3:33
35 Djarno Van Tongerlo, Ben File 🇳🇱 NED13th of 317 aged 30-34 30-34 59:46 6:07 33:43 21:29 4:39 3:45 1:31 2:29 2:19 4:10 1:10 2:36 3:29
36 Moritz Müller, Finn Müller 🇩🇪 GER11th of 235 aged 25-29 25-29 59:46 6:07 33:25 22:23 4:03 3:53 1:42 2:20 2:41 4:21 1:22 2:30 3:34
37 Simon Huppertz, Florian Döhrn 🇩🇪 GER12th of 235 aged 25-29 25-29 59:48 6:09 31:49 23:36 4:28 3:48 1:56 2:27 3:11 4:16 1:18 3:00 3:40
38 Andreas Fußwinkel, Cornelius Krüger 🇩🇪 GER14th of 317 aged 30-34 30-34 59:59 6:20 33:01 22:58 4:04 3:42 1:50 2:53 2:10 4:26 1:30 2:51 3:36
39 Stefan Sojke, Wojtek Hallek 🇩🇪 GER6th of 255 aged 35-39 35-39 1:00:02 6:23 33:00 22:52 4:14 3:42 1:48 2:37 2:35 4:05 1:20 3:03 3:42
40 Sven Lübbermann, Marvin Hencke 🇩🇪 GER7th of 255 aged 35-39 35-39 1:00:02 6:23 33:15 22:52 3:59 3:47 1:51 2:33 2:22 4:12 1:19 2:55 3:53
41 Martin Koller, Jürgen Ley 🇩🇪 GER1st of 13 aged 55-59 55-59 1:00:03 6:24 30:30 25:49 3:47 4:00 2:40 2:51 2:51 4:21 1:21 3:36 4:09
42 Mario Rippel, Leon Roth 🇩🇪 GER3rd of 115 aged 16-24 16-24 1:00:04 6:25 32:38 23:02 4:29 4:01 2:07 2:21 2:38 4:13 1:19 2:36 3:47
43 Florian Woiwode, Michael Wenge 🇩🇪 GER8th of 255 aged 35-39 35-39 1:00:06 6:27 34:39 21:25 4:08 3:44 1:34 2:21 2:15 4:01 1:19 2:36 3:35
44 David Fischer, Kevin Kaderka 🇩🇪 GER6th of 124 aged 40-44 40-44 1:00:09 6:30 33:06 23:07 4:01 3:49 1:50 2:41 2:42 4:13 1:17 2:56 3:39
45 Alexander Glanzner, Marcel Scheurer 🇩🇪 GER13th of 235 aged 25-29 25-29 1:00:11 6:32 32:17 23:07 4:51 3:53 2:01 1:53 2:36 4:31 1:27 3:04 3:42
46 Dennis Sonne, Mischa Bischoff 🇩🇪 GER14th of 235 aged 25-29 25-29 1:00:15 6:36 33:00 22:52 4:28 3:37 1:40 2:30 2:32 4:17 1:24 3:06 3:46
47 Johannes Kölmel, Till Hoddick 🇩🇪 GER15th of 317 aged 30-34 30-34 1:00:19 6:40 32:36 23:46 4:02 3:42 2:05 2:57 2:43 4:10 1:29 2:56 3:44
48 Marcel Bosewe, Amon Gurski 🇩🇪 GER15th of 235 aged 25-29 25-29 1:00:25 6:46 33:37 21:46 5:08 3:31 1:36 1:45 2:50 4:02 1:21 2:53 3:48
49 Linh Tran Trung, Jonas Schulze 🇩🇪 GER9th of 255 aged 35-39 35-39 1:00:28 6:49 33:42 22:46 4:04 3:59 1:41 2:28 2:18 4:20 1:14 3:00 3:46
50 Maximilian Schröter, Mark Minn 🇩🇪 GER10th of 255 aged 35-39 35-39 1:00:36 6:57 33:06 23:14 4:20 3:52 1:37 2:46 2:23 4:20 1:17 2:49 4:10
51 René Schiebel, Simon Schreiber 🇩🇪 GER11th of 255 aged 35-39 35-39 1:00:39 7:00 34:43 21:59 4:01 3:27 1:39 2:16 2:35 4:02 1:14 2:42 4:04
52 Jarvis Köhler, Jan Köhler 🇩🇪 GER12th of 255 aged 35-39 35-39 1:00:39 7:00 33:03 23:25 4:16 3:56 1:47 2:49 2:02 4:19 1:31 2:55 4:06
53 Leon Martin, Luca Martin 🇩🇪 GER16th of 235 aged 25-29 25-29 1:00:47 7:08 33:24 23:17 4:11 3:46 1:46 2:10 2:30 4:03 1:18 3:02 4:42
54 Andreas Schneider, Gernot Delfs 🇩🇪 GER1st of 52 aged 45-49 45-49 1:00:48 7:09 34:27 22:29 3:56 3:36 1:55 2:09 2:25 4:03 1:22 3:08 3:51
55 Joe Vlachos, Daniel Wingerath 🇩🇪 GER16th of 317 aged 30-34 30-34 1:00:49 7:10 33:17 23:32 4:05 3:56 1:50 2:33 2:27 4:18 1:27 3:02 3:59
56 David Hein, Christopher Hoffmann 🇩🇪 GER13th of 255 aged 35-39 35-39 1:00:57 7:18 34:16 22:39 4:07 3:40 1:34 2:45 2:27 4:08 1:29 2:44 3:52
57 Luke Dragstra, Mike Schifferle 🇨🇦 CAN1st of 22 aged 50-54 50-54 1:01:02 7:23 34:48 22:19 4:00 3:43 1:41 2:30 2:14 4:11 1:22 2:43 3:55
58 George Nash, Berkin Serin 🇬🇧 GBR17th of 317 aged 30-34 30-34 1:01:08 7:29 34:14 22:46 4:12 3:43 1:53 2:42 2:32 4:26 1:05 2:52 3:33
59 Felix Hache, Marc Meierjohann 🇩🇪 GER18th of 317 aged 30-34 30-34 1:01:13 7:34 34:56 21:30 4:52 3:42 1:28 2:06 2:35 4:13 1:11 2:47 3:28
60 Dirk Dorian Berresheim, Florian Mitic-Vetter 🇩🇪 GER14th of 255 aged 35-39 35-39 1:01:15 7:36 32:40 24:19 4:21 3:51 1:50 2:41 3:32 4:16 1:21 2:51 3:57
61 Onur Ünal, Christian Bröring 🇹🇷 TUR7th of 124 aged 40-44 40-44 1:01:19 7:40 31:30 25:34 4:20 3:51 2:20 2:58 3:24 4:28 1:30 3:22 3:41
62 Simon Schoofs, Yannick Wild 🇩🇪 GER19th of 317 aged 30-34 30-34 1:01:34 7:55 33:38 23:40 4:21 3:45 1:32 2:44 2:36 4:17 1:37 3:00 4:09
63 Tim Verdel, Marc Baartscheer 🇳🇱 NED17th of 235 aged 25-29 25-29 1:01:37 7:58 32:56 23:50 4:55 3:48 1:55 2:58 2:36 4:18 1:37 2:47 3:51
64 Kevin Wang, Steffen Graf 🇩🇪 GER20th of 317 aged 30-34 30-34 1:01:37 7:58 33:27 24:12 4:03 3:43 2:04 2:40 2:43 4:17 1:22 3:20 4:03
65 Lukas Dreger, Sebastian Schrod 🇩🇪 GER8th of 124 aged 40-44 40-44 1:01:43 8:04 34:12 23:28 4:08 3:48 1:42 2:14 2:56 4:20 1:32 3:02 3:54
66 Lasse Schwieren, Raphael Rottenkolber 🇩🇪 GER4th of 115 aged 16-24 16-24 1:01:43 8:04 32:55 24:58 3:53 4:04 2:06 3:19 2:30 4:17 1:25 3:00 4:17
67 Jonas Klein, Finn Torbohm 🇩🇪 GER18th of 235 aged 25-29 25-29 1:01:46 8:07 33:14 23:56 4:42 3:37 1:28 2:54 2:44 4:27 1:28 2:34 4:44
68 Paul Zeisler, Theo Tsironas 🇩🇪 GER5th of 115 aged 16-24 16-24 1:01:54 8:15 34:29 22:35 4:55 3:34 1:29 2:18 2:24 4:05 1:41 2:56 4:08
69 Roland Seehuber, Johann Frank 🇩🇪 GER9th of 124 aged 40-44 40-44 1:01:55 8:16 35:09 22:40 4:12 3:48 1:41 2:15 2:30 4:18 1:35 2:47 3:46
70 Philipp Turanli, Simon Wenzel 🇩🇪 GER19th of 235 aged 25-29 25-29 1:01:58 8:19 35:59 21:43 4:22 3:41 1:58 2:26 2:12 4:05 1:27 2:08 3:46
71 Maximilian Clemens, Frank Polkähn 🇩🇪 GER21st of 317 aged 30-34 30-34 1:01:59 8:20 32:54 25:01 4:09 3:48 1:51 2:42 2:59 4:36 1:34 3:31 4:00
72 Martin Brandt, Armin Isady 🇩🇪 GER22nd of 317 aged 30-34 30-34 1:02:01 8:22 35:00 22:30 4:36 3:41 1:45 2:50 2:03 4:07 1:25 2:32 4:07
73 Johannes Bußmann, Felix Bußmann 🇩🇪 GER20th of 235 aged 25-29 25-29 1:02:01 8:22 34:01 23:12 4:52 3:36 1:40 2:48 2:46 4:10 1:17 2:54 4:01
74 Max Steffens, Jan Bachelet 🇩🇪 GER23rd of 317 aged 30-34 30-34 1:02:06 8:27 33:46 23:53 4:32 3:43 1:47 2:47 2:28 4:15 1:14 3:02 4:37
75 Kilian Siara, Jonathan Siara 🇩🇪 GER24th of 317 aged 30-34 30-34 1:02:09 8:30 34:55 23:15 4:04 3:55 2:03 2:44 2:20 4:15 1:22 2:57 3:39
76 Christian Winkels, Julian Glatter 🇩🇪 GER15th of 255 aged 35-39 35-39 1:02:09 8:30 33:44 24:12 4:17 3:44 1:52 2:45 2:37 4:17 1:27 3:18 4:12
77 Bernd Leiendecker, David Fischer 🇩🇪 GER2nd of 52 aged 45-49 45-49 1:02:09 8:30 33:41 24:13 4:19 3:48 1:54 2:39 2:45 4:15 1:17 3:31 4:04
78 Philip Nastke, Timo Meiendresch 🇩🇪 GER16th of 255 aged 35-39 35-39 1:02:13 8:34 34:29 23:29 4:20 3:54 1:51 2:49 2:44 4:21 1:12 2:53 3:45
79 Serge Souren, Randy Broeke 🇳🇱 NED17th of 255 aged 35-39 35-39 1:02:15 8:36 33:14 24:24 4:42 3:56 1:40 2:54 2:37 4:40 1:20 3:23 3:54
80 Enrico Wolter, Maximilian Lengsfeld 🇩🇪 GER25th of 317 aged 30-34 30-34 1:02:22 8:43 36:45 21:24 4:18 3:40 1:33 2:27 2:28 4:06 1:13 2:14 3:43
81 Christoph Dorsch, Felix Heinz 🇩🇪 GER18th of 255 aged 35-39 35-39 1:02:23 8:44 35:19 22:58 4:11 3:40 1:55 2:40 2:25 4:12 1:17 2:57 3:52
82 Luka Päsch, Marcel-André Conzelmann 🇩🇪 GER6th of 115 aged 16-24 16-24 1:02:26 8:47 34:51 23:15 4:24 3:53 1:51 2:40 2:25 4:13 1:14 2:41 4:18
83 Sascha Zinken, André Gesse 🇩🇪 GER19th of 255 aged 35-39 35-39 1:02:26 8:47 33:58 24:12 4:20 3:47 2:02 2:50 2:58 4:23 1:33 2:36 4:03
84 Felix Galle, Nils Büttner 🇩🇪 GER21st of 235 aged 25-29 25-29 1:02:43 9:04 33:47 24:52 4:11 3:47 1:54 3:04 2:46 4:08 1:36 3:20 4:17
85 Erwin Henemann, Richard Henemann 🇩🇪 GER26th of 317 aged 30-34 30-34 1:02:44 9:05 35:28 22:52 4:28 3:44 1:28 2:32 2:04 4:28 1:16 3:28 3:52
86 Kevin Baumgartner, Mateusz Niepras 🇦🇹 AUT27th of 317 aged 30-34 30-34 1:02:46 9:07 33:44 24:05 5:01 3:48 1:53 2:58 2:36 4:25 1:30 3:00 3:55
87 Stefan Link, Matthias Kirchberger 🇩🇪 GER20th of 255 aged 35-39 35-39 1:02:47 9:08 35:03 23:19 4:28 3:50 1:56 2:34 2:30 4:19 1:07 3:06 3:57
88 Sebastian Söllner, Meric Atsiz 🇩🇪 GER21st of 255 aged 35-39 35-39 1:02:53 9:14 32:39 24:09 6:09 3:52 1:41 3:16 2:16 4:24 1:25 3:20 3:55
89 Albert Woltmann, Felix Elsesser 🇩🇪 GER22nd of 235 aged 25-29 25-29 1:03:02 9:23 35:19 23:41 4:08 3:48 2:03 2:35 2:49 4:13 1:25 3:07 3:41
90 Simon Steffens, Julian Fellbaum 🇩🇪 GER23rd of 235 aged 25-29 25-29 1:03:07 9:28 32:11 25:46 5:15 4:01 1:44 2:52 3:15 4:26 1:18 3:50 4:20
91 Janpaul Thullner, Dominik Eichinger 🇩🇪 GER24th of 235 aged 25-29 25-29 1:03:12 9:33 35:12 23:20 4:46 3:41 1:54 2:26 2:35 4:21 1:25 3:02 3:56
92 Darko Safner, René Beck 🇩🇪 GER3rd of 52 aged 45-49 45-49 1:03:12 9:33 34:16 24:27 4:33 3:55 1:45 2:51 2:43 4:29 1:36 3:07 4:01
93 Martin Friedberg, David Dschasga 🇩🇪 GER22nd of 255 aged 35-39 35-39 1:03:14 9:35 35:09 23:36 4:34 3:53 1:44 2:43 2:35 4:15 1:21 3:13 3:52
94 Markus Flack, Reinhardt Schmidt 🇩🇪 GER10th of 124 aged 40-44 40-44 1:03:14 9:35 34:25 24:26 4:27 3:38 2:02 2:36 2:35 4:26 1:39 2:49 4:41
95 Stefan Dingeldein, Tim Höfling 🇩🇪 GER23rd of 255 aged 35-39 35-39 1:03:16 9:37 35:52 22:45 4:44 3:48 1:47 2:43 2:32 4:27 1:24 2:24 3:40
96 Philipp Hartmannsgruber, Severin Schulan 🇩🇪 GER25th of 235 aged 25-29 25-29 1:03:17 9:38 36:09 22:22 4:50 3:48 1:47 2:51 2:16 4:08 1:21 2:28 3:43
97 Alexander Krause, Pierre Büchner 🇩🇪 GER28th of 317 aged 30-34 30-34 1:03:17 9:38 35:57 23:06 4:18 3:51 1:58 2:49 2:10 4:13 1:36 2:51 3:38
98 Alexander Kraus, Jannis Gerstenberg 🇩🇪 GER7th of 115 aged 16-24 16-24 1:03:17 9:38 34:36 23:52 4:53 3:47 1:36 2:04 3:04 4:19 1:26 3:24 4:12
99 Daniel Reiter, Tobias Reiter 🇩🇪 GER24th of 255 aged 35-39 35-39 1:03:19 9:40 34:54 23:52 4:37 3:49 1:54 2:34 3:05 4:26 1:28 2:42 3:54
100 Tim Maurer, Yannick Walz 🇩🇪 GER29th of 317 aged 30-34 30-34 1:03:22 9:43 34:01 23:43 5:40 3:43 1:51 2:51 2:48 4:20 1:22 3:02 3:46
How to read

The place is among timed teams in Doubles 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