Toughest Ironman 70.3 Courses
Ranked by median finish time across all historical finishers. Slower medians indicate more demanding terrain, heat, or both — not just slower fields.
Note: Official DNS/DNF rate data is not yet available in our dataset. Median finish time and field spread are used as robust difficulty proxies until dropout-rate data can be ingested.
- Field Spread
- 1h 19m
- Top 5% Target
- 5:56:18
- Finishers
- 1,027
- Field Spread
- 1h 30m
- Top 5% Target
- 5:10:06
- Finishers
- 642
- Field Spread
- 1h 39m
- Top 5% Target
- 5:10:01
- Finishers
- 393
- Field Spread
- 1h 26m
- Top 5% Target
- 5:19:07
- Finishers
- 1,118
- Field Spread
- 1h 17m
- Top 5% Target
- 5:12:44
- Finishers
- 96
- Field Spread
- 1h 23m
- Top 5% Target
- 5:01:59
- Finishers
- 1,113
- Field Spread
- 1h 21m
- Top 5% Target
- 5:01:07
- Finishers
- 1,715
- Field Spread
- 1h 24m
- Top 5% Target
- 5:08:39
- Finishers
- 1,285
- Field Spread
- 1h 09m
- Top 5% Target
- 5:10:48
- Finishers
- 1,735
- Field Spread
- 1h 16m
- Top 5% Target
- 5:05:28
- Finishers
- 593
- Field Spread
- 1h 32m
- Top 5% Target
- 4:54:30
- Finishers
- 1,037
- Field Spread
- 1h 38m
- Top 5% Target
- 4:31:05
- Finishers
- 497
- Field Spread
- 1h 21m
- Top 5% Target
- 4:57:54
- Finishers
- 1,967
- Field Spread
- 1h 33m
- Top 5% Target
- 4:58:34
- Finishers
- 1,225
- Field Spread
- 1h 17m
- Top 5% Target
- 5:10:46
- Finishers
- 1,694
- Field Spread
- 1h 16m
- Top 5% Target
- 5:04:37
- Finishers
- 346
- Field Spread
- 1h 24m
- Top 5% Target
- 5:00:40
- Finishers
- 2,354
- Field Spread
- 1h 24m
- Top 5% Target
- 4:56:26
- Finishers
- 723
- Field Spread
- 1h 19m
- Top 5% Target
- 5:03:16
- Finishers
- 267
- Field Spread
- 1h 21m
- Top 5% Target
- 4:48:59
- Finishers
- 1,750
- Field Spread
- 1h 27m
- Top 5% Target
- 4:45:16
- Finishers
- 2,495
- Field Spread
- 1h 15m
- Top 5% Target
- 4:56:07
- Finishers
- 1,613
- Field Spread
- 1h 27m
- Top 5% Target
- 4:53:43
- Finishers
- 799
- Field Spread
- 1h 30m
- Top 5% Target
- 4:34:54
- Finishers
- 2,049
- Field Spread
- 1h 19m
- Top 5% Target
- 4:58:27
- Finishers
- 1,492
- Field Spread
- 1h 15m
- Top 5% Target
- 4:51:18
- Finishers
- 1,050
- Field Spread
- 1h 23m
- Top 5% Target
- 4:56:04
- Finishers
- 2,245
- Field Spread
- 1h 19m
- Top 5% Target
- 4:48:51
- Finishers
- 805
- Field Spread
- 1h 15m
- Top 5% Target
- 4:50:37
- Finishers
- 1,451
- Field Spread
- 1h 15m
- Top 5% Target
- 4:54:08
- Finishers
- 1,299
- Field Spread
- 1h 24m
- Top 5% Target
- 4:45:51
- Finishers
- 2,209
- Field Spread
- 1h 10m
- Top 5% Target
- 5:01:37
- Finishers
- 745
- Field Spread
- 1h 29m
- Top 5% Target
- 4:44:06
- Finishers
- 481
- Field Spread
- 1h 14m
- Top 5% Target
- 4:53:43
- Finishers
- 1,441
- Field Spread
- 1h 15m
- Top 5% Target
- 4:57:32
- Finishers
- 1,323
- Field Spread
- 1h 23m
- Top 5% Target
- 4:50:06
- Finishers
- 948
- Field Spread
- 1h 28m
- Top 5% Target
- 4:32:37
- Finishers
- 958
- Field Spread
- 1h 32m
- Top 5% Target
- 4:22:28
- Finishers
- 1,275
- Field Spread
- 1h 24m
- Top 5% Target
- 4:40:45
- Finishers
- 2,447
- Field Spread
- 1h 09m
- Top 5% Target
- 5:03:32
- Finishers
- 1,718
- Field Spread
- 1h 20m
- Top 5% Target
- 4:50:27
- Finishers
- 1,928
- Field Spread
- 1h 09m
- Top 5% Target
- 4:58:46
- Finishers
- 987
- Field Spread
- 1h 10m
- Top 5% Target
- 4:49:19
- Finishers
- 1,603
- Field Spread
- 1h 12m
- Top 5% Target
- 4:39:36
- Finishers
- 517
- Field Spread
- 1h 14m
- Top 5% Target
- 4:50:29
- Finishers
- 1,875
- Field Spread
- 1h 17m
- Top 5% Target
- 4:47:29
- Finishers
- 1,046
- Field Spread
- 1h 20m
- Top 5% Target
- 4:41:32
- Finishers
- 1,336
- Field Spread
- 1h 15m
- Top 5% Target
- 4:45:13
- Finishers
- 1,818
- Field Spread
- 1h 14m
- Top 5% Target
- 4:43:56
- Finishers
- 1,237
- Field Spread
- 1h 15m
- Top 5% Target
- 4:40:51
- Finishers
- 994
- Field Spread
- 1h 23m
- Top 5% Target
- 4:33:14
- Finishers
- 2,655
- Field Spread
- 1h 00m
- Top 5% Target
- 4:54:56
- Finishers
- 1,267
- Field Spread
- 1h 26m
- Top 5% Target
- 4:40:40
- Finishers
- 2,389
- Field Spread
- 1h 14m
- Top 5% Target
- 4:48:55
- Finishers
- 344
- Field Spread
- 1h 15m
- Top 5% Target
- 4:38:25
- Finishers
- 880
- Field Spread
- 1h 07m
- Top 5% Target
- 4:52:37
- Finishers
- 2,715
- Field Spread
- 1h 05m
- Top 5% Target
- 4:48:10
- Finishers
- 2,002
- Field Spread
- 1h 08m
- Top 5% Target
- 4:49:40
- Finishers
- 750
- Field Spread
- 1h 09m
- Top 5% Target
- 4:54:13
- Finishers
- 1,833
- Field Spread
- 1h 17m
- Top 5% Target
- 4:33:17
- Finishers
- 384
- Field Spread
- 1h 10m
- Top 5% Target
- 4:57:22
- Finishers
- 2,060
- Field Spread
- 1h 17m
- Top 5% Target
- 4:32:11
- Finishers
- 2,201
- Field Spread
- 1h 09m
- Top 5% Target
- 4:46:21
- Finishers
- 1,004
- Field Spread
- 1h 17m
- Top 5% Target
- 4:42:35
- Finishers
- 1,249
- Field Spread
- 1h 12m
- Top 5% Target
- 4:51:23
- Finishers
- 2,526
- Field Spread
- 1h 06m
- Top 5% Target
- 4:54:51
- Finishers
- 1,764
- Field Spread
- 1h 13m
- Top 5% Target
- 4:43:42
- Finishers
- 2,942
- Field Spread
- 1h 06m
- Top 5% Target
- 4:44:36
- Finishers
- 1,329
- Field Spread
- 1h 12m
- Top 5% Target
- 4:44:59
- Finishers
- 899
- Field Spread
- 1h 18m
- Top 5% Target
- 4:33:20
- Finishers
- 996
- Field Spread
- 1h 08m
- Top 5% Target
- 4:48:34
- Finishers
- 998
- Field Spread
- 1h 12m
- Top 5% Target
- 4:38:06
- Finishers
- 1,563
- Field Spread
- 1h 15m
- Top 5% Target
- 4:38:51
- Finishers
- 1,218
- Field Spread
- 1h 12m
- Top 5% Target
- 4:40:44
- Finishers
- 2,019
- Field Spread
- 1h 06m
- Top 5% Target
- 4:37:46
- Finishers
- 2,409
- Field Spread
- 1h 12m
- Top 5% Target
- 4:39:00
- Finishers
- 1,016
- Field Spread
- 1h 17m
- Top 5% Target
- 4:35:00
- Finishers
- 1,642
- Field Spread
- 1h 08m
- Top 5% Target
- 4:33:57
- Finishers
- 2,217
- Field Spread
- 1h 11m
- Top 5% Target
- 4:41:11
- Finishers
- 688
- Field Spread
- 1h 11m
- Top 5% Target
- 4:36:07
- Finishers
- 1,645
- Field Spread
- 1h 13m
- Top 5% Target
- 4:36:11
- Finishers
- 1,058
- Field Spread
- 1h 34m
- Top 5% Target
- 4:34:20
- Finishers
- 280
- Field Spread
- 1h 09m
- Top 5% Target
- 4:35:09
- Finishers
- 867
- Field Spread
- 1h 03m
- Top 5% Target
- 4:41:57
- Finishers
- 2,609
- Field Spread
- 1h 08m
- Top 5% Target
- 4:39:38
- Finishers
- 2,391
- Field Spread
- 1h 05m
- Top 5% Target
- 4:37:09
- Finishers
- 1,669
- Field Spread
- 1h 01m
- Top 5% Target
- 4:39:01
- Finishers
- 1,545
- Field Spread
- 1h 13m
- Top 5% Target
- 4:28:59
- Finishers
- 822
- Field Spread
- 1h 07m
- Top 5% Target
- 4:41:41
- Finishers
- 1,084
- Field Spread
- 1h 11m
- Top 5% Target
- 4:24:28
- Finishers
- 1,300
- Field Spread
- 58m
- Top 5% Target
- 4:38:06
- Finishers
- 1,958
- Field Spread
- 1h 09m
- Top 5% Target
- 4:33:40
- Finishers
- 1,500
- Field Spread
- 1h 04m
- Top 5% Target
- 4:38:44
- Finishers
- 2,613
- Field Spread
- 1h 22m
- Top 5% Target
- 4:15:40
- Finishers
- 867
- Field Spread
- 1h 07m
- Top 5% Target
- 4:28:58
- Finishers
- 1,033
- Field Spread
- 1h 14m
- Top 5% Target
- 4:31:27
- Finishers
- 1,100
- Field Spread
- 1h 06m
- Top 5% Target
- 4:35:40
- Finishers
- 1,148
- Field Spread
- 1h 12m
- Top 5% Target
- 4:20:55
- Finishers
- 1,738
- Field Spread
- 1h 07m
- Top 5% Target
- 4:26:40
- Finishers
- 1,736
- Field Spread
- 1h 20m
- Top 5% Target
- 4:27:00
- Finishers
- 691
- Field Spread
- 1h 04m
- Top 5% Target
- 4:28:53
- Finishers
- 2,227
- Field Spread
- 1h 02m
- Top 5% Target
- 4:35:13
- Finishers
- 2,168
- Field Spread
- 1h 07m
- Top 5% Target
- 4:36:08
- Finishers
- 1,518
- Field Spread
- 1h 22m
- Top 5% Target
- 4:23:15
- Finishers
- 795
- Field Spread
- 1h 03m
- Top 5% Target
- 4:22:05
- Finishers
- 2,269
- Field Spread
- 1h 09m
- Top 5% Target
- 4:31:59
- Finishers
- 732
- Field Spread
- 1h 17m
- Top 5% Target
- 4:38:52
- Finishers
- 203
- Field Spread
- 58m
- Top 5% Target
- 4:29:24
- Finishers
- 1,989
- Field Spread
- 1h 04m
- Top 5% Target
- 4:23:46
- Finishers
- 2,066
- Field Spread
- 1h 11m
- Top 5% Target
- 4:13:49
- Finishers
- 1,507
- Field Spread
- 1h 10m
- Top 5% Target
- 4:21:33
- Finishers
- 1,126
- Field Spread
- 1h 05m
- Top 5% Target
- 4:28:03
- Finishers
- 2,255
- Field Spread
- 1h 07m
- Top 5% Target
- 4:18:59
- Finishers
- 1,280
- Field Spread
- 1h 01m
- Top 5% Target
- 4:32:45
- Finishers
- 1,460
- Field Spread
- 1h 01m
- Top 5% Target
- 4:32:19
- Finishers
- 1,467
- Field Spread
- 1h 06m
- Top 5% Target
- 4:22:30
- Finishers
- 1,973
- Field Spread
- 56m
- Top 5% Target
- 4:29:54
- Finishers
- 1,692
- Field Spread
- 1h 03m
- Top 5% Target
- 4:25:33
- Finishers
- 953
- Field Spread
- 1h 02m
- Top 5% Target
- 4:25:15
- Finishers
- 830
- Field Spread
- 1h 08m
- Top 5% Target
- 4:19:32
- Finishers
- 1,401
- Field Spread
- 1h 01m
- Top 5% Target
- 4:20:36
- Finishers
- 2,195
- Field Spread
- 59m
- Top 5% Target
- 4:25:49
- Finishers
- 1,034
- Field Spread
- 1h 02m
- Top 5% Target
- 4:20:18
- Finishers
- 1,414
- Field Spread
- 1h 00m
- Top 5% Target
- 4:27:21
- Finishers
- 2,345
- Field Spread
- 1h 08m
- Top 5% Target
- 4:00:16
- Finishers
- 1,547
- Field Spread
- 57m
- Top 5% Target
- 4:25:14
- Finishers
- 1,562
- Field Spread
- 1h 02m
- Top 5% Target
- 4:18:37
- Finishers
- 1,331
- Field Spread
- 1h 20m
- Top 5% Target
- 3:54:34
- Finishers
- 1,244
| # | Race | Region | Median Time | Field Spread | Top 5% Target | Finishers | Estimate |
|---|---|---|---|---|---|---|---|
| 1 | Ironman 70.3 Goa (2026) | Asia | 7:37:03 | 1h 19m | 5:56:18 | 1,027 | |
| 2 | Ironman 70.3 San Salvador (2026) | Latin America | 6:56:18 | 1h 30m | 5:10:06 | 642 | |
| 3 | Ironman 70.3 Subic Bay (2026) | Asia | 6:53:23 | 1h 39m | 5:10:01 | 393 | |
| 4 | Ironman 70.3 Kenting (2026) | Asia | 6:48:09 | 1h 26m | 5:19:07 | 1,118 | |
| 5 | Ironman 70.3 Rwanda (2024) | Other | 6:41:20 | 1h 17m | 5:12:44 | 96 | |
| 6 | Ironman 70.3 Hawaii (2026) | North America | 6:40:26 | 1h 23m | 5:01:59 | 1,113 | |
| 7 | Ironman 70.3 Waco (2025) | North America | 6:38:47 | 1h 21m | 5:01:07 | 1,715 | |
| 8 | Ironman 70.3 Omaha (2026) | North America | 6:37:03 | 1h 24m | 5:08:39 | 1,285 | |
| 9 | Ironman 70.3 Mossel Bay (2025) | Africa | 6:35:36 | 1h 09m | 5:10:48 | 1,735 | |
| 10 | Ironman 70.3 Nelson Mandela Bay (2024) | Other | 6:35:20 | 1h 16m | 5:05:28 | 593 | |
| 11 | Ironman 70.3 Bangsaen (2024) | Other | 6:35:15 | 1h 32m | 4:54:30 | 1,037 | |
| 12 | Ironman 70.3 Langkawi (2025) | Asia | 6:34:34 | 1h 38m | 4:31:05 | 497 | |
| 13 | Ironman 70.3 Nice France (2025) | Europe | 6:33:35 | 1h 21m | 4:57:54 | 1,967 | |
| 14 | Ironman 70.3 Vietnam (2026) | Asia | 6:31:07 | 1h 33m | 4:58:34 | 1,225 | |
| 15 | Ironman 70.3 Wisconsin (2026) | North America | 6:29:04 | 1h 17m | 5:10:46 | 1,694 | |
| 16 | Ironman 70.3 Acapulco (2025) | Latin America | 6:28:56 | 1h 16m | 5:04:37 | 346 | |
| 17 | Ironman 70.3 North Carolina (2026) | North America | 6:26:47 | 1h 24m | 5:00:40 | 2,354 | |
| 18 | Ironman 70.3 Phu Quoc (2025) | Asia | 6:26:36 | 1h 24m | 4:56:26 | 723 | |
| 19 | Ironman 70.3 Puerto Princesa (2025) | Asia | 6:26:01 | 1h 19m | 5:03:16 | 267 | |
| 20 | Ironman 70.3 Swansea (2026) | Europe | 6:24:47 | 1h 21m | 4:48:59 | 1,750 | |
| 21 | Ironman 70.3 Chattanooga (2026) | North America | 6:21:54 | 1h 27m | 4:45:16 | 2,495 | |
| 22 | Ironman 70.3 Cozumel (2026) | Latin America | 6:20:59 | 1h 15m | 4:56:07 | 1,613 | |
| 23 | Ironman 70.3 Puerto Rico (2026) | North America | 6:20:19 | 1h 27m | 4:53:43 | 799 | |
| 24 | Ironman 70.3 St George (2025) | North America | 6:19:51 | 1h 30m | 4:34:54 | 2,049 | |
| 25 | Ironman 70.3 Marbella (2024) | Europe | 6:18:59 | 1h 19m | 4:58:27 | 1,492 | |
| 26 | Ironman 70.3 Coeur d'Alene (2026) | North America | 6:18:48 | 1h 15m | 4:51:18 | 1,050 | |
| 27 | Ironman 70.3 Eagleman (2026) | North America | 6:18:36 | 1h 23m | 4:56:04 | 2,245 | |
| 28 | Ironman 70.3 Pennsylvania Happy Valley (2025) | North America | 6:17:44 | 1h 19m | 4:48:51 | 805 | |
| 29 | Ironman 70.3 Boulder (2026) | North America | 6:17:34 | 1h 15m | 4:50:37 | 1,451 | |
| 30 | Ironman 70.3 Victoria (2026) | North America | 6:16:38 | 1h 15m | 4:54:08 | 1,299 | |
| 31 | Ironman 70.3 Santa Cruz (2026) | North America | 6:16:34 | 1h 24m | 4:45:51 | 2,209 | |
| 32 | Ironman 70.3 Ecuador (2026) | Latin America | 6:15:27 | 1h 10m | 5:01:37 | 745 | |
| 33 | Ironman 70.3 Davao Philippines (2024) | Asia | 6:15:23 | 1h 29m | 4:44:06 | 481 | |
| 34 | Ironman 70.3 Durban (2026) | Africa | 6:15:18 | 1h 14m | 4:53:43 | 1,441 | |
| 35 | Ironman 70.3 Muskoka (2026) | North America | 6:15:16 | 1h 15m | 4:57:32 | 1,323 | |
| 36 | Ironman 70.3 Calgary (2026) | North America | 6:15:03 | 1h 23m | 4:50:06 | 948 | |
| 37 | Ironman 70.3 Louisville (2025) | North America | 6:15:00 | 1h 28m | 4:32:37 | 958 | |
| 38 | Ironman 70.3 Happy Valley (2026) | North America | 6:14:09 | 1h 32m | 4:22:28 | 1,275 | |
| 39 | Ironman 70.3 Augusta (2026) | North America | 6:10:38 | 1h 24m | 4:40:45 | 2,447 | |
| 40 | Ironman 70.3 Weymouth (2026) | Europe | 6:10:06 | 1h 09m | 5:03:32 | 1,718 | |
| 41 | Ironman 70.3 Washington Tri-Cities (2026) | North America | 6:10:02 | 1h 20m | 4:50:27 | 1,928 | |
| 42 | Ironman 70.3 Riviera Nayarit (2025) | Latin America | 6:09:55 | 1h 09m | 4:58:46 | 987 | |
| 43 | Ironman 70.3 Bolton (2026) | Europe | 6:09:00 | 1h 10m | 4:49:19 | 1,603 | |
| 44 | Ironman 70.3 Lapu-Lapu (2026) | Asia | 6:08:56 | 1h 12m | 4:39:36 | 517 | |
| 45 | Ironman 70.3 Michigan (2026) | North America | 6:08:31 | 1h 14m | 4:50:29 | 1,875 | |
| 46 | Ironman 70.3 New Zealand (2026) | Oceania | 6:07:20 | 1h 17m | 4:47:29 | 1,046 | |
| 47 | Ironman 70.3 Texas (2026) | North America | 6:07:20 | 1h 20m | 4:41:32 | 1,336 | |
| 48 | Ironman 70.3 Musselman (2026) | North America | 6:06:54 | 1h 15m | 4:45:13 | 1,818 | |
| 49 | Ironman 70.3 Port Macquarie (2026) | Oceania | 6:06:26 | 1h 14m | 4:43:56 | 1,237 | |
| 50 | Ironman 70.3 Ohio (2025) | North America | 6:06:20 | 1h 15m | 4:40:51 | 994 | |
| 51 | Ironman 70.3 Oceanside (2026) | North America | 6:06:16 | 1h 23m | 4:33:14 | 2,655 | |
| 52 | Ironman 70.3 Goseong Korea (2026) | Asia | 6:05:36 | 1h 00m | 4:54:56 | 1,267 | |
| 53 | Ironman 70.3 Oregon (2026) | North America | 6:04:48 | 1h 26m | 4:40:40 | 2,389 | |
| 54 | Ironman 70.3 Campeche (2025) | Latin America | 6:03:10 | 1h 14m | 4:48:55 | 344 | |
| 55 | Ironman 70.3 Florida (2025) | North America | 6:02:46 | 1h 15m | 4:38:25 | 880 | |
| 56 | Ironman 70.3 Mallorca (2026) | Europe | 6:02:20 | 1h 07m | 4:52:37 | 2,715 | |
| 57 | Ironman 70.3 Zell Am See-Kaprun (2026) | Europe | 6:02:08 | 1h 05m | 4:48:10 | 2,002 | |
| 58 | Ironman 70.3 Cap Cana (2026) | North America | 6:02:00 | 1h 08m | 4:49:40 | 750 | |
| 59 | Ironman 70.3 Vichy (2026) | Europe | 6:01:59 | 1h 09m | 4:54:13 | 1,833 | |
| 60 | Ironman 70.3 Desaru Coast (2026) | Asia | 6:01:44 | 1h 17m | 4:33:17 | 384 | |
| 61 | Ironman 70.3 Portugal - Cascais (2026) | Europe | 6:01:16 | 1h 10m | 4:57:22 | 2,060 | |
| 62 | Ironman 70.3 Indian Wells La Quinta (2025) | North America | 6:00:40 | 1h 17m | 4:32:11 | 2,201 | |
| 63 | Ironman 70.3 Des Moines (2025) | North America | 6:00:24 | 1h 09m | 4:46:21 | 1,004 | |
| 64 | Ironman 70.3 Cairns (2026) | Oceania | 6:00:19 | 1h 17m | 4:42:35 | 1,249 | |
| 65 | Ironman 70.3 Mont Tremblant (2025) | North America | 6:00:16 | 1h 12m | 4:51:23 | 2,526 | |
| 66 | Ironman 70.3 Cartagena (2025) | Latin America | 6:00:14 | 1h 06m | 4:54:51 | 1,764 | |
| 67 | Ironman 70.3 Mont-Tremblant (2026) | North America | 5:59:12 | 1h 13m | 4:43:42 | 2,942 | |
| 68 | Ironman 70.3 Rio de Janeiro (2026) | Latin America | 5:57:57 | 1h 06m | 4:44:36 | 1,329 | |
| 69 | Ironman 70.3 Muncie (2026) | North America | 5:57:37 | 1h 12m | 4:44:59 | 899 | |
| 70 | Ironman 70.3 Peru (2026) | Latin America | 5:57:14 | 1h 18m | 4:33:20 | 996 | |
| 71 | Ironman 70.3 Greece Costa Navarino (2026) | Europe | 5:56:28 | 1h 08m | 4:48:34 | 998 | |
| 72 | Ironman 70.3 Tallinn (2026) | Europe | 5:56:08 | 1h 12m | 4:38:06 | 1,563 | |
| 73 | Ironman 70.3 Pucon (2026) | Latin America | 5:54:06 | 1h 15m | 4:38:51 | 1,218 | |
| 74 | Ironman 70.3 Maine (2026) | North America | 5:53:33 | 1h 12m | 4:40:44 | 2,019 | |
| 75 | Ironman 70.3 Jonkoping (2026) | Europe | 5:53:14 | 1h 06m | 4:37:46 | 2,409 | |
| 76 | Ironman 70.3 Aracaju-Sergipe (2025) | Latin America | 5:52:27 | 1h 12m | 4:39:00 | 1,016 | |
| 77 | Ironman 70.3 Rockford (2026) | North America | 5:51:55 | 1h 17m | 4:35:00 | 1,642 | |
| 78 | Ironman 70.3 Aix-en-Provence (2026) | Europe | 5:51:46 | 1h 08m | 4:33:57 | 2,217 | |
| 79 | Ironman 70.3 Marathon (2025) | Other | 5:50:58 | 1h 11m | 4:41:11 | 688 | |
| 80 | Ironman 70.3 Monterrey (2026) | Latin America | 5:50:43 | 1h 11m | 4:36:07 | 1,645 | |
| 81 | Ironman 70.3 Shanghai (2025) | Asia | 5:50:22 | 1h 13m | 4:36:11 | 1,058 | |
| 82 | Ironman 70.3 Encarnacion (2026) | Latin America | 5:49:36 | 1h 34m | 4:34:20 | 280 | |
| 83 | Ironman 70.3 New York (2026) | North America | 5:48:30 | 1h 09m | 4:35:09 | 867 | |
| 84 | Ironman 70.3 Italy Emilia-Romagna (2026) | Europe | 5:48:19 | 1h 03m | 4:41:57 | 2,609 | |
| 85 | Ironman 70.3 Luxembourg-Region Moselle (2025) | Europe | 5:48:10 | 1h 08m | 4:39:38 | 2,391 | |
| 86 | Ironman 70.3 Westfriesland (2026) | Europe | 5:47:41 | 1h 05m | 4:37:09 | 1,669 | |
| 87 | Ironman 70.3 Hradec Kralove (2026) | Europe | 5:47:06 | 1h 01m | 4:39:01 | 1,545 | |
| 88 | Ironman 70.3 Agadir (2026) | Africa | 5:47:04 | 1h 13m | 4:28:59 | 822 | |
| 89 | Ironman 70.3 Western Australia (2025) | Oceania | 5:46:38 | 1h 07m | 4:41:41 | 1,084 | |
| 90 | Ironman 70.3 Poznan (2026) | Europe | 5:45:18 | 1h 11m | 4:24:28 | 1,300 | |
| 91 | Ironman 70.3 Switzerland (2026) | Europe | 5:44:24 | 58m | 4:38:06 | 1,958 | |
| 92 | Ironman 70.3 Sao Paulo (2026) | Latin America | 5:43:45 | 1h 09m | 4:33:40 | 1,500 | |
| 93 | Ironman 70.3 Les Sables d'Olonne-Vendee (2026) | Europe | 5:43:32 | 1h 04m | 4:38:44 | 2,613 | |
| 94 | Ironman 70.3 Bahrain (2024) | Middle East | 5:43:11 | 1h 22m | 4:15:40 | 867 | |
| 95 | Ironman 70.3 Gdynia (2026) | Europe | 5:42:12 | 1h 07m | 4:28:58 | 1,033 | |
| 96 | Ironman 70.3 Panama (2026) | Latin America | 5:41:40 | 1h 14m | 4:31:27 | 1,100 | |
| 97 | Ironman 70.3 Punta Del Este (2026) | Latin America | 5:41:14 | 1h 06m | 4:35:40 | 1,148 | |
| 98 | Ironman 70.3 Sunshine Coast (2026) | Oceania | 5:40:16 | 1h 12m | 4:20:55 | 1,738 | |
| 99 | Ironman 70.3 Krakow (2026) | Europe | 5:40:06 | 1h 07m | 4:26:40 | 1,736 | |
| 100 | Ironman 70.3 Oman (2025) | Middle East | 5:39:39 | 1h 20m | 4:27:00 | 691 | |
| 101 | Ironman 70.3 Kraichgau (2026) | Europe | 5:38:44 | 1h 04m | 4:28:53 | 2,227 | |
| 102 | Ironman 70.3 Knokke-Heist (2026) | Europe | 5:37:48 | 1h 02m | 4:35:13 | 2,168 | |
| 103 | Ironman 70.3 Porec (2026) | Europe | 5:37:36 | 1h 07m | 4:36:08 | 1,518 | |
| 104 | Ironman 70.3 Muscat (2026) | Middle East | 5:36:56 | 1h 22m | 4:23:15 | 795 | |
| 105 | Ironman 70.3 Valencia (2026) | Europe | 5:36:42 | 1h 03m | 4:22:05 | 2,269 | |
| 106 | Ironman 70.3 Fortaleza (2024) | Latin America | 5:35:39 | 1h 09m | 4:31:59 | 732 | |
| 107 | Ironman 70.3 Salalah (2025) | Middle East | 5:35:21 | 1h 17m | 4:38:52 | 203 | |
| 108 | Ironman 70.3 Duisburg (2026) | Europe | 5:34:36 | 58m | 4:29:24 | 1,989 | |
| 109 | Ironman 70.3 Elsinore (2026) | Europe | 5:34:32 | 1h 04m | 4:23:46 | 2,066 | |
| 110 | Ironman 70.3 Western Sydney (2026) | Oceania | 5:34:15 | 1h 11m | 4:13:49 | 1,507 | |
| 111 | Ironman 70.3 Belgrade (2026) | Europe | 5:33:30 | 1h 10m | 4:21:33 | 1,126 | |
| 112 | Ironman 70.3 Alghero (2026) | Europe | 5:32:37 | 1h 05m | 4:28:03 | 2,255 | |
| 113 | Ironman 70.3 Geelong (2026) | Oceania | 5:32:06 | 1h 07m | 4:18:59 | 1,280 | |
| 114 | Ironman 70.3 Valdivia (2025) | Latin America | 5:31:12 | 1h 01m | 4:32:45 | 1,460 | |
| 115 | Ironman 70.3 Florianopolis (2026) | Latin America | 5:31:11 | 1h 01m | 4:32:19 | 1,467 | |
| 116 | Ironman 70.3 Warsaw (2026) | Europe | 5:30:35 | 1h 06m | 4:22:30 | 1,973 | |
| 117 | Ironman 70.3 Erkner (2026) | Europe | 5:29:37 | 56m | 4:29:54 | 1,692 | |
| 118 | Ironman 70.3 Puerto Varas (2026) | Latin America | 5:28:01 | 1h 03m | 4:25:33 | 953 | |
| 119 | Ironman 70.3 San Juan (2026) | Other | 5:27:57 | 1h 02m | 4:25:15 | 830 | |
| 120 | Ironman 70.3 Turkey (2026) | Europe | 5:27:02 | 1h 08m | 4:19:32 | 1,401 | |
| 121 | Ironman 70.3 Tours Metropole - Loire Valley (2025) | Europe | 5:26:57 | 1h 01m | 4:20:36 | 2,195 | |
| 122 | Ironman 70.3 Buenos Aires (2026) | Latin America | 5:26:36 | 59m | 4:25:49 | 1,034 | |
| 123 | Ironman 70.3 Brazil (2025) | Latin America | 5:26:07 | 1h 02m | 4:20:18 | 1,414 | |
| 124 | Ironman 70.3 Venice-Jesolo (2026) | Europe | 5:25:25 | 1h 00m | 4:27:21 | 2,345 | |
| 125 | Ironman 70.3 Gulf Coast (2026) | North America | 5:24:54 | 1h 08m | 4:00:16 | 1,547 | |
| 126 | Ironman 70.3 Erkner Berlin-Brandenburg (2025) | Europe | 5:24:14 | 57m | 4:25:14 | 1,562 | |
| 127 | Ironman 70.3 Brasilia (2026) | Latin America | 5:20:57 | 1h 02m | 4:18:37 | 1,331 | |
| 128 | Ironman 70.3 Boise (2026) | North America | 5:18:14 | 1h 20m | 3:54:34 | 1,244 |
128 races shown. Tap a column header or use Sort by to re-order.
The primary number is the typical finish time — how long the median finisher takes to cross the line. Since the swim (1.9 km) and run (21.1 km) are the same length at every 70.3, a significantly slower field usually means one thing: the course is harder. Either the bike has real climbing, the heat is brutal, or both.
The second number is field spread — the gap between athletes finishing in the top quarter and those in the bottom quarter of the field. A wide spread means the course disproportionately punishes less-prepared athletes: fast athletes still finish close to their normal time, but mid-pack athletes struggle much more than usual. This is a useful signal for how demanding the course gets if conditions aren't perfect for you.
Comparing across regions will give you the most useful picture — a race in the Canary Islands and a race in New Zealand race in completely different conditions. Filter by region to find the toughest race near you, or to compare difficulty within a similar climate band.