Thomas Dahl
9 HYROX races over 2 seasons: 5 solo, 4 in a team with 2 partners.
One best per race type
Finish time, race by race: one race type at a time
Oldest to newest; a line going down means getting fasterThis line shows the finish time of Thomas Dahl at each race, oldest on the left; lower is faster.The best was 59:07 at Copenhagen (Mar 2026); Thomas Dahl was 0:32 slower at the latest race than at the first.
See the numbers
| Race | Date | Division | Finish |
|---|---|---|---|
| Hamburg | Oct 2025 | Pro Men | 1:00:42 |
| Stockholm | Dec 2025 | Pro Men | 59:35 |
| Copenhagen | Mar 2026 | Pro Men | 59:07 |
| Stockholm | Jun 2026 | Pro Men | 1:01:14 |
Each dot is one Pro Men race; click one for that race's report. From the first Pro Men race to the best: 1:35 faster (1:00:42 to 59:07).
This line shows the finish time of Thomas Dahl at each race, oldest on the left; lower is faster.The best was 54:54 at Stockholm (Jun 2026); Thomas Dahl was 0:15 faster at the latest race than at the first.
See the numbers
| Race | Date | Division | Finish |
|---|---|---|---|
| Stockholm | Dec 2025 | Doubles Mixed | 55:09 |
| Stockholm | Jun 2026 | Doubles Mixed | 54:54 |
Each dot is one Doubles Mixed race; click one for that race's report. Not enough complete, clean Doubles Mixed races yet to measure the change. Team times are shared with a partner, so they move with who you race with.
9 results at 5 races
136th of 767 Pro Men (faster than 82%).
| Part | Time | Typical here | vs 767 Pro Men here |
|---|---|---|---|
| Run 1: | 2:20 | 2:28 | faster than 82% |
| SkiErg: | 3:55 | 4:03 | faster than 78% |
| Run 2: | 3:41 | 3:56 | faster than 83% |
| Sled push: | 3:00 | 3:17 | faster than 69% |
| Run 3: | 3:52 | 4:12 | faster than 85% |
| Sled pull: | 3:58 | 4:21 | faster than 68% |
| Run 4: | 3:52 | 4:15 | faster than 87% |
| Burpee broad jump: | 2:47 | 3:27 | faster than 84% |
| Run 5: | 3:52 | 4:17 | faster than 90% |
| Row: | 4:12 | 4:23 | faster than 78% |
| Run 6: | 3:53 | 4:15 | faster than 85% |
| Farmers carry: | 1:27 | 1:44 | faster than 90% |
| Run 7: | 3:55 | 4:20 | faster than 87% |
| Sandbag lunges: | 2:57 | 3:50 | faster than 92% |
| Run 8: | 4:03 | 4:35 | faster than 90% |
| Wall balls: | 5:45 | 5:27 | faster than 42% |
| Roxzone: | 3:53 | 4:48 | faster than 98% |
| Runs (8 km) | 29:24 | 32:20 | faster than 89% |
| Stations (8) | 28:01 | ||
| Finish | 1:01:14 | 1:07:59 | 136th of 767 · faster than 82% |
10th of 365 Pro Men (faster than 97%).
| Part | Time | Typical here | vs 365 Pro Men here |
|---|---|---|---|
| Run 1: | 5:19 | 6:13 | faster than 96% |
| SkiErg: | 4:00 | 4:17 | faster than 94% |
| Run 2: | 3:19 | 3:55 | faster than 95% |
| Sled push: | 2:45 | 3:19 | faster than 86% |
| Run 3: | 3:28 | 4:12 | faster than 95% |
| Sled pull: | 3:38 | 4:48 | faster than 94% |
| Run 4: | 3:27 | 4:14 | faster than 97% |
| Burpee broad jump: | 2:50 | 4:06 | faster than 94% |
| Run 5: | 3:27 | 4:18 | faster than 97% |
| Row: | 4:06 | 4:29 | faster than 93% |
| Run 6: | 3:24 | 4:13 | faster than 97% |
| Farmers carry: | 1:24 | 2:00 | faster than 98% |
| Run 7: | 3:26 | 4:17 | faster than 98% |
| Sandbag lunges: | 3:06 | 4:35 | faster than 95% |
| Run 8: | 3:38 | 4:38 | faster than 97% |
| Wall balls: | 4:05 | 6:12 | faster than 95% |
| Roxzone: | 3:54 | 5:34 | faster than 98% |
| Runs (8 km) | 29:24 | 36:06 | faster than 97% |
| Stations (8) | 25:54 | ||
| Finish | 59:07 | 1:16:32 | 10th of 365 · faster than 97% |
5th of 367 Pro Doubles Men (faster than 98%).
| Part | Time | Typical here | vs 367 Pro Doubles Men here |
|---|---|---|---|
| Run 1: | 5:13 | 6:37 | faster than 98% |
| SkiErg: | 3:35 | 3:55 | faster than 96% |
| Run 2: | 3:14 | 4:06 | faster than 98% |
| Sled push: | 1:50 | 2:14 | faster than 94% |
| Run 3: | 3:22 | 4:28 | faster than 98% |
| Sled pull: | 3:08 | 3:55 | faster than 92% |
| Run 4: | 3:18 | 4:24 | faster than 99% |
| Burpee broad jump: | 1:59 | 2:44 | faster than 92% |
| Run 5: | 3:23 | 4:28 | faster than 98% |
| Row: | 3:46 | 4:12 | faster than 98% |
| Run 6: | 3:22 | 4:26 | faster than 98% |
| Farmers carry: | 1:21 | 1:37 | faster than 93% |
| Run 7: | 3:19 | 4:28 | faster than 99% |
| Sandbag lunges: | 3:03 | 3:26 | faster than 74% |
| Run 8: | 3:25 | 4:37 | fastest in the field |
| Wall balls: | 3:44 | 4:09 | faster than 81% |
| Roxzone: | 3:39 | 5:22 | fastest in the field |
| Runs (8 km) | 28:33 | 37:54 | faster than 99% |
| Stations (8) | 22:26 | ||
| Finish | 54:33 | 1:09:42 | 5th of 367 · faster than 98% |
19th of 342 Pro Men (faster than 94%).
| Part | Time | Typical here | vs 342 Pro Men here |
|---|---|---|---|
| Run 1: | 3:19 | 3:49 | faster than 92% |
| SkiErg: | 3:54 | 4:08 | faster than 86% |
| Run 2: | 3:26 | 3:55 | faster than 89% |
| Sled push: | 2:40 | 3:22 | faster than 87% |
| Run 3: | 3:35 | 4:12 | faster than 92% |
| Sled pull: | 3:43 | 4:53 | faster than 90% |
| Run 4: | 3:40 | 4:13 | faster than 89% |
| Burpee broad jump: | 3:04 | 4:10 | faster than 90% |
| Run 5: | 3:38 | 4:18 | faster than 91% |
| Row: | 3:58 | 4:21 | faster than 94% |
| Run 6: | 3:35 | 4:14 | faster than 91% |
| Farmers carry: | 1:28 | 1:48 | faster than 86% |
| Run 7: | 3:36 | 4:17 | faster than 93% |
| Sandbag lunges: | 3:21 | 4:36 | faster than 92% |
| Run 8: | 3:49 | 4:45 | faster than 95% |
| Wall balls: | 4:24 | 6:28 | faster than 92% |
| Roxzone: | 4:32 | 5:54 | faster than 96% |
| Runs (8 km) | 28:36 | 33:40 | faster than 92% |
| Stations (8) | 26:32 | ||
| Finish | 59:35 | 1:13:45 | 19th of 342 · faster than 94% |
4th of 1,457 Doubles Mixed (the fastest).
| Part | Time | Typical here | vs 1,457 Doubles Mixed here |
|---|---|---|---|
| Run 1: | 3:17 | 5:07 | fastest in the field |
| SkiErg: | 3:40 | 4:10 | faster than 98% |
| Run 2: | 3:30 | 5:08 | fastest in the field |
| Sled push: | 1:37 | 1:53 | faster than 85% |
| Run 3: | 3:43 | 5:22 | fastest in the field |
| Sled pull: | 2:39 | 3:40 | faster than 96% |
| Run 4: | 3:41 | 5:24 | fastest in the field |
| Burpee broad jump: | 2:19 | 3:31 | faster than 96% |
| Run 5: | 3:47 | 5:31 | fastest in the field |
| Row: | 3:59 | 4:37 | faster than 97% |
| Run 6: | 3:41 | 5:27 | fastest in the field |
| Farmers carry: | 1:12 | 1:39 | faster than 99% |
| Run 7: | 3:48 | 5:27 | fastest in the field |
| Sandbag lunges: | 2:35 | 3:48 | faster than 98% |
| Run 8: | 4:01 | 5:46 | fastest in the field |
| Wall balls: | 3:27 | 4:34 | faster than 98% |
| Roxzone: | 4:20 | 7:22 | fastest in the field |
| Runs (8 km) | 29:26 | 43:17 | faster than 99% |
| Stations (8) | 21:28 | ||
| Finish | 55:09 | 1:19:08 | 4th of 1,457 · fastest in the field |
16th of 327 Pro Men (faster than 95%).
| Part | Time | Typical here | vs 327 Pro Men here |
|---|---|---|---|
| Run 1: | 4:05 | 4:46 | faster than 90% |
| SkiErg: | 3:51 | 4:10 | faster than 92% |
| Run 2: | 3:21 | 4:07 | faster than 94% |
| Sled push: | 2:56 | 3:42 | faster than 92% |
| Run 3: | 3:37 | 4:26 | faster than 92% |
| Sled pull: | 3:51 | 5:18 | faster than 93% |
| Run 4: | 3:32 | 4:26 | faster than 94% |
| Burpee broad jump: | 3:00 | 4:11 | faster than 89% |
| Run 5: | 3:29 | 4:34 | faster than 95% |
| Row: | 3:59 | 4:28 | faster than 99% |
| Run 6: | 3:32 | 4:26 | faster than 94% |
| Farmers carry: | 1:29 | 2:01 | faster than 93% |
| Run 7: | 3:28 | 4:30 | faster than 95% |
| Sandbag lunges: | 3:31 | 4:52 | faster than 91% |
| Run 8: | 3:43 | 5:04 | faster than 96% |
| Wall balls: | 4:50 | 6:25 | faster than 87% |
| Roxzone: | 4:39 | 6:33 | faster than 97% |
| Runs (8 km) | 28:42 | 36:26 | faster than 95% |
| Stations (8) | 27:27 | ||
| Finish | 1:00:42 | 1:19:27 | 16th of 327 · faster than 95% |
30th of 1,322 Open Men (faster than 97%).
| Part | Time | Typical here | vs 1,322 Open Men here |
|---|---|---|---|
| Run 1: | 3:57 | 5:03 | faster than 96% |
| SkiErg: | 3:59 | 4:30 | faster than 98% |
| Run 2: | 3:30 | 4:32 | faster than 97% |
| Sled push: | 2:03 | 2:59 | faster than 97% |
| Run 3: | 3:46 | 4:51 | faster than 96% |
| Sled pull: | 3:58 | 4:19 | faster than 67% |
| Run 4: | 3:41 | 4:52 | faster than 97% |
| Burpee broad jump: | 4:00 | 5:14 | faster than 84% |
| Run 5: | 3:46 | 5:02 | faster than 98% |
| Row: | 4:22 | 4:48 | faster than 93% |
| Run 6: | 3:50 | 4:55 | faster than 96% |
| Farmers carry: | 1:31 | 2:01 | faster than 92% |
| Run 7: | 3:38 | 4:53 | faster than 98% |
| Sandbag lunges: | 3:34 | 5:01 | faster than 93% |
| Run 8: | 3:58 | 5:32 | faster than 98% |
| Wall balls: | 4:07 | 6:06 | faster than 95% |
| Roxzone: | 4:48 | 6:50 | faster than 95% |
| Runs (8 km) | 30:03 | 39:51 | faster than 98% |
| Stations (8) | 27:34 | ||
| Finish | 1:02:20 | 1:22:33 | 30th of 1,322 · faster than 97% |
9th of 736 Doubles Men (faster than 98%).
| Part | Time | Typical here | vs 736 Doubles Men here |
|---|---|---|---|
| Run 1: | 3:39 | 5:14 | fastest in the field |
| SkiErg: | 3:38 | 4:00 | faster than 96% |
| Run 2: | 3:22 | 4:35 | faster than 98% |
| Sled push: | 1:22 | 1:42 | faster than 95% |
| Run 3: | 3:27 | 4:52 | fastest in the field |
| Sled pull: | 2:28 | 2:46 | faster than 76% |
| Run 4: | 3:27 | 4:54 | fastest in the field |
| Burpee broad jump: | 2:34 | 2:59 | faster than 75% |
| Run 5: | 3:31 | 4:59 | fastest in the field |
| Row: | 4:16 | 4:25 | faster than 71% |
| Run 6: | 3:25 | 4:56 | fastest in the field |
| Farmers carry: | 1:13 | 1:32 | faster than 95% |
| Run 7: | 3:28 | 4:54 | fastest in the field |
| Sandbag lunges: | 2:57 | 3:13 | faster than 69% |
| Run 8: | 3:41 | 5:12 | fastest in the field |
| Wall balls: | 3:38 | 4:02 | faster than 83% |
| Roxzone: | 4:06 | 6:06 | faster than 98% |
| Runs (8 km) | 27:56 | 40:01 | fastest in the field |
| Stations (8) | 22:06 | ||
| Finish | 54:05 | 1:10:54 | 9th of 736 · faster than 98% |
How to read
Place is the position among timed finishers in the same race, division and gender; a doubles place is the team's. Runs is the organiser's official run total (it can differ from the eight laps added up by a few seconds), stations the eight stations added up, and roxzone the time moving between them. A dash in runs, stations and roxzone on a result from the live results service means the splits are not in yet (finish time only). The age group is the one entered for that race; for a team it is the team’s age group. A dash means the organiser did not publish that number for the result.
The fastest Thomas has done each station
| Part | Best | Race | Typical |
|---|---|---|---|
| SkiErg | 3:51 | Hamburg 2025 · best of 4 | 4:17 |
| Sled push | 2:40 | Stockholm 2025 · best of 4 | 3:45 |
| Sled pull | 3:38 | Copenhagen 2026 · best of 4 | 5:43 |
| Burpee broad jump | 2:47 | Stockholm 2026 · best of 4 | 4:25 |
| Row | 3:58 | Stockholm 2025 · best of 4 | 4:35 |
| Farmers carry | 1:24 | Copenhagen 2026 · best of 4 | 2:11 |
| Sandbag lunges | 2:57 | Stockholm 2026 · best of 4 | 5:03 |
| Wall balls | 4:05 | Copenhagen 2026 · best of 4 | 6:49 |
| Runs (8 km) | 28:36 | Stockholm 2025 · best of 4 | 36:58 |
| Roxzone | 3:53 | Stockholm 2026 · best of 4 | 6:13 |
How to read
Each station's best across Thomas's Pro Men races, from different races, against the typical Pro Men split. Venues differ (sled carpets, run laps, where the mats sit), so a best can owe something to the venue.
2 team partners
- Loui Gravgaard2 races
- Tulle Mouridsen2 races
From the team results above. A name opens the search: a partner can have more than one page.
Copenhagen 2026, against 365 Pro Men
Shape of the race
This chart shows where Thomas sat in the field on each part of the race: the edge is faster than everyone, the centre is the slowest.Strongest on Roxzone (faster than 99% of the field), weakest on Push (faster than 87%).
See the numbers
| Part | Thomas: faster than |
|---|---|
| Ski | 94% |
| Push | 87% |
| Pull | 95% |
| BBJ | 94% |
| Row | 94% |
| Carry | 98% |
| Lunges | 96% |
| Wall balls | 96% |
| Roxzone | 99% |
| Runs | 98% |
Further out means you beat more of the field on that part. A dent is a weak spot.
How you ranked on each station
How much of the field Thomas beat on each part of the race, at this race.Best: Roxzone (faster than 99%); weakest: Sled push (faster than 87%).
Longer is better: the share of the field you beat.
Minutes against the typical finisher
Thomas's time on each part against the typical Pro Men finisher at this race.Best: Runs (8 km) (6:42 faster); weakest: SkiErg (0:17 faster).
Green, left of centre: faster than the typical Pro Men finisher at this race. Orange, right: slower, and by how much.
The race as one bar: Thomas against the typical Pro Men finisher
This chart draws the race in order, left to right: each 1 km run (blue), each station (yellow) and the roxzone (grey), sized by its time.Thomas: 29:28 running, 25:53 at the stations and 3:54 in the roxzone; the longest station was the row (4:06).Below, Typical Pro Men: 36:00 running, 33:46 at the stations and 5:34 in the roxzone; the longest station was the wall balls (6:12).
See the numbers
| Part | Thomas | Typical Pro Men |
|---|---|---|
| Run 1 | 5:19 | 6:13 |
| SkiErg | 4:00 | 4:17 |
| Run 2 | 3:19 | 3:55 |
| Sled push | 2:45 | 3:19 |
| Run 3 | 3:28 | 4:12 |
| Sled pull | 3:38 | 4:48 |
| Run 4 | 3:27 | 4:14 |
| Burpee broad jump | 2:50 | 4:06 |
| Run 5 | 3:27 | 4:18 |
| Row | 4:06 | 4:29 |
| Run 6 | 3:24 | 4:13 |
| Farmers carry | 1:24 | 2:00 |
| Run 7 | 3:26 | 4:17 |
| Sandbag lunges | 3:06 | 4:35 |
| Run 8 | 3:38 | 4:38 |
| Wall balls | 4:05 | 6:12 |
| Roxzone | 3:54 | 5:34 |
| Finish | 59:07 | 1:16:32 |
The race in order, left to right. A wider block than the one below is slower than typical.
Training for the next one? Let's beat 59:07.
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.