Old Dominion Freight Line (ODFL) EBITDA Margin (2009 - 2026)
Old Dominion Freight Line (ODFL) recorded EBITDA Margin of 35.84% in Q2 2026, up 3.98 percentage points from 31.86% a year earlier and up 5.15 percentage points from the prior quarter.
Old Dominion Freight Line (ODFL) EBITDA Margin (2009 - 2026) Analysis & Trends
On a TTM basis, Old Dominion Freight Line's EBITDA Margin came in at 32.43% as of Jun 30, 2026, up 0.73 percentage points year-over-year; for FY2025, it came in at 31.40%, down 1.08 percentage points from FY2024.
- Annual EBITDA Margin has declined for three straight years, though with a five-year change of +2.30 percentage points (FY2020 to FY2025).
- Across earlier years, EBITDA Margin came in at 32.48% in FY2024 (-1.01 pp), 33.49% in FY2023 (-0.31 pp), 33.81% in FY2022 (+2.39 pp) and 31.41% in FY2021 (+2.32 pp).
- The Q2 2026 figure is the highest quarterly EBITDA Margin in data going back to Q2 2009.
- On a year-over-year basis, EBITDA Margin rose in 1 of the last eight quarters, with an average year-over-year change of -0.71 percentage points.
- Peak year-over-year performance for EBITDA Margin in the last five years was a gain of 3.98 percentage points in Q2 2026, against a drop of 3.30 percentage points in Q4 2024 at the low end.
- Per Business Quant, the preceding three quarters came in at 30.69% (Q1 2026), 30.36% (Q4 2025) and 32.21% (Q3 2025).
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | EBITDA Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Union Pacific | 162.83 Bn | 157.35 Bn | - | 49.55% |
| 2 | Csx | 86.94 Bn | 83.15 Bn | - | 48.72% |
| 3 | Canadian Pacific Kansas City | 76.07 Bn | 75.78 Bn | - | 47.81% |
| 4 | United Parcel Service | 70.39 Bn | 47.31 Bn | - | 8.36% |
| 5 | Norfolk Southern | 70.35 Bn | 64.99 Bn | - | 42.77% |
| 6 | Fedex | 68.01 Bn | 33.95 Bn | - | 10.71% |
| 7 | Delta Air Lines | 55.83 Bn | 38.01 Bn | - | 12.75% |
| 8 | Old Dominion Freight Line | 36.82 Bn | 36.08 Bn | - | 35.84% |
| 9 | Ryanair Holdings | 28.96 Bn | 12.97 Bn | 3.13 Bn | 22.64% |
| 10 | Copart | 25.14 Bn | 9.56 Bn | 645.66 Mn | 38.06% |
Historic Data
| Date | Value |
|---|---|
| Jun 30, 2026 | 35.84% |
| Mar 31, 2026 | 30.69% |
| Dec 31, 2025 | 30.36% |
| Sep 30, 2025 | 32.21% |
| Jun 30, 2025 | 31.86% |
| Mar 31, 2025 | 31.07% |
| Dec 31, 2024 | 30.51% |
| Sep 30, 2024 | 33.23% |
| Jun 30, 2024 | 33.78% |
| Mar 31, 2024 | 32.26% |
| Dec 31, 2023 | 33.81% |
| Sep 30, 2023 | 34.92% |
| Jun 30, 2023 | 33.36% |
| Mar 31, 2023 | 31.83% |
| Dec 31, 2022 | 33.67% |
| Sep 30, 2022 | 35.20% |
| Jun 30, 2022 | 34.60% |
| Mar 31, 2022 | 31.59% |
| Dec 31, 2021 | 31.15% |
| Sep 30, 2021 | 32.04% |
Old Dominion Freight Line EBITDA Margin 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=ebitda-margin&ticker=ODFL&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "ebitda-margin", "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=ebitda-margin&ticker=ODFL&period=max&api_key=YOUR_API_KEY");
const data = await res.json();