Old Dominion Freight Line (ODFL) Profit After Tax (2009 - 2026)
Old Dominion Freight Line (ODFL) reported Profit After Tax of $350.6 million for Q2 2026, up 30.5% from $268.63 million a year earlier and up 47.2% from the prior quarter.
Old Dominion Freight Line (ODFL) Profit After Tax (2009 - 2026) Analysis & Trends
Over the twelve months ended Jun 30, 2026, Old Dominion Freight Line's Profit After Tax came in at $1.09 billion, down 0.5% year-over-year; for FY2025, it was $1.02 billion, down 13.7% from FY2024.
- Profit After Tax has declined for three consecutive years, though with a five-year compound annual growth rate of 8.8% (FY2020 to FY2025).
- By year, Profit After Tax came in at $1.19 billion in FY2024 (-4.3%), $1.24 billion in FY2023 (-10.0%), $1.38 billion in FY2022 (+33.1%) and $1.03 billion in FY2021 (+53.8%).
- The Q2 2026 figure ranks as the highest quarterly Profit After Tax since Q3 2022.
- Year over year, Profit After Tax gained in 1 of the last eight quarters, with an average decline of 7.2%.
- The high point for year-over-year Profit After Tax in five years was Q1 2022 (growth of 50.4%); the low point was Q2 2023 (a decline of 22.3%).
- Per Business Quant data, the three quarters before Q2 2026 came in at $238.26 million (Q1 2026), $229.47 million (Q4 2025) and $270.95 million (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | PAT (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 161.62 Bn | 156.15 Bn | - | 1.99 Bn |
| 2 | Csx | 86.16 Bn | 82.37 Bn | - | 1.00 Bn |
| 3 | Canadian Pacific Kansas City | 74.78 Bn | 74.50 Bn | - | 740.28 Mn |
| 4 | United Parcel Service | 70.01 Bn | 46.94 Bn | - | 604.00 Mn |
| 5 | Norfolk Southern | 69.45 Bn | 64.09 Bn | - | 734.00 Mn |
| 6 | Fedex | 67.46 Bn | 33.40 Bn | - | 1.60 Bn |
| 7 | Delta Air Lines | 54.88 Bn | 37.06 Bn | - | 1.60 Bn |
| 8 | Old Dominion Freight Line | 36.07 Bn | 35.33 Bn | - | 350.60 Mn |
| 9 | Ryanair Holdings | 28.71 Bn | 12.72 Bn | 3.13 Bn | 753.33 Mn |
| 10 | Copart | 25.27 Bn | 9.69 Bn | 645.66 Mn | 326.83 Mn |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 350.60 Mn |
| Mar 31, 2026 | 238.26 Mn |
| Dec 31, 2025 | 229.47 Mn |
| Sep 30, 2025 | 270.95 Mn |
| Jun 30, 2025 | 268.63 Mn |
| Mar 31, 2025 | 254.66 Mn |
| Dec 31, 2024 | 263.14 Mn |
| Sep 30, 2024 | 308.58 Mn |
| Jun 30, 2024 | 322.05 Mn |
| Mar 31, 2024 | 292.30 Mn |
| Dec 31, 2023 | 322.82 Mn |
| Sep 30, 2023 | 339.29 Mn |
| Jun 30, 2023 | 292.36 Mn |
| Mar 31, 2023 | 285.04 Mn |
| Dec 31, 2022 | 323.93 Mn |
| Sep 30, 2022 | 377.40 Mn |
| Jun 30, 2022 | 376.08 Mn |
| Mar 31, 2022 | 299.75 Mn |
| Dec 31, 2021 | 278.81 Mn |
| Sep 30, 2021 | 286.63 Mn |
Old Dominion Freight Line Profit After Tax API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=profit-after-tax&ticker=ODFL&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "profit-after-tax", "ticker": "ODFL", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=profit-after-tax&ticker=ODFL&period=max&api_key=YOUR_API_KEY");
const data = await res.json();