VOO Dividend: Ex-Dividend Dates & Yield
VOO dividend: the latest declared ex-dividend date, the trailing twelve month payout per share, the yield it works out to, and why the calendar is an estimate.
The VOO dividend arrives four times a year. Vanguard's S&P 500 ETF collects the dividends paid by the roughly 500 companies in the index and passes that cash to shareholders quarterly, net of the fund's expenses. The most recent declared distribution went ex on Sep 28, 2026 at $1.8226 per share, payable Sep 30, 2026. Across the trailing twelve months ending Sep 28, 2026, VOO paid out $7.4282 per share, a distribution yield of 1.06% measured against the fund's closing price on that date.
When is VOO's next ex-dividend date?
The honest answer, and the one most dividend calendars skip: it has not been set yet. Vanguard declares each VOO distribution only a few days before the shares trade ex, and that single declaration fixes the amount, the ex-date, the record date and the pay date at once. Until it posts, every forward-dated row on a full-year VOO dividend calendar is a projection from prior years. It is an estimate, never a schedule.
What is knowable is the pattern. VOO's ex-dates have clustered in four months of the year, and inside each of those months they have fallen within a narrow band of days. That makes a next-quarter guess usually good to within a week, which is useful for planning and worthless as a commitment. For dates that are confirmed rather than modelled, see our upcoming ex-dividend dates list, and for the mechanics of the date itself, what an ex-dividend date means.
VOO dividend history: every recent declared payment
Every figure on this page comes out of the declared dividend record, reduced to one row per ex-date. The panel below is the raw history: the ex-date, the record date, the pay date and the cash amount per share across the last three years of quarterly payments.
| ex_date | ex_date_label | record_label | pay_label | cash_amount |
|---|---|---|---|---|
| 2023-09-28 | Sep 28, 2023 | Sep 29, 2023 | Oct 3, 2023 | 1.4925 |
| 2023-12-20 | Dec 20, 2023 | Dec 21, 2023 | Dec 26, 2023 | 1.8011 |
| 2024-03-22 | Mar 22, 2024 | Mar 25, 2024 | Mar 27, 2024 | 1.5429 |
| 2024-06-28 | Jun 28, 2024 | Jun 28, 2024 | Jul 2, 2024 | 1.7835 |
| 2024-09-27 | Sep 27, 2024 | Sep 27, 2024 | Oct 1, 2024 | 1.6386 |
| 2024-12-23 | Dec 23, 2024 | Dec 23, 2024 | Dec 26, 2024 | 1.7385 |
| 2025-03-27 | Mar 27, 2025 | Mar 27, 2025 | Mar 31, 2025 | 1.8121 |
| 2025-06-30 | Jun 30, 2025 | Jun 30, 2025 | Jul 2, 2025 | 1.7447 |
| 2025-09-29 | Sep 29, 2025 | Sep 29, 2025 | Oct 1, 2025 | 1.74 |
| 2025-12-22 | Dec 22, 2025 | Dec 22, 2025 | Dec 24, 2025 | 1.771 |
| 2026-03-27 | Mar 27, 2026 | Mar 27, 2026 | Mar 31, 2026 | 1.8724 |
| 2026-06-26 | Jun 26, 2026 | Jun 26, 2026 | Jun 30, 2026 | 1.9622 |
| 2026-09-28 | Sep 28, 2026 | Sep 28, 2026 | Sep 30, 2026 | 1.8226 |
The exact SQL behind every number
SELECT
toString(ex_dividend_date) AS ex_date,
concat(formatDateTime(ex_dividend_date, '%b '),
toString(toDayOfMonth(ex_dividend_date)), ', ',
toString(toYear(ex_dividend_date))) AS ex_date_label,
concat(formatDateTime(max(record_date), '%b '),
toString(toDayOfMonth(max(record_date))), ', ',
toString(toYear(max(record_date)))) AS record_label,
concat(formatDateTime(max(pay_date), '%b '),
toString(toDayOfMonth(max(pay_date))), ', ',
toString(toYear(max(pay_date)))) AS pay_label,
round(toFloat64(max(cash_amount)), 4) AS cash_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'VOO'
AND ex_dividend_date >= today() - 1150
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
ORDER BY ex_dividend_dateThat is 13 declared distributions. The oldest in view went ex on Sep 28, 2023 at $1.4925 per share. The newest went ex on Sep 28, 2026 at $1.8226, with the cash reaching accounts on Sep 30, 2026. Read down the amount column and the uneven shape is the first thing to notice. VOO pays no fixed rate per share, and quarter to quarter wobble of this size is ordinary for a pass-through fund.
What is VOO's dividend yield?
A distribution yield divides what a fund has actually paid over the trailing twelve months by its share price. It looks backward at cash already delivered, so it is a measurement rather than a promise. The panel below recomputes that figure at every ex-date: it sums the four most recent declared distributions and divides by VOO's closing price on the day.
| ex_date | as_of_label | ttm_per_share | ttm_yield_pct |
|---|---|---|---|
| 2023-09-28 | Sep 28, 2023 | 6.2278 | 1.58 |
| 2023-12-20 | Dec 20, 2023 | 6.3572 | 1.48 |
| 2024-03-22 | Mar 22, 2024 | 6.4127 | 1.34 |
| 2024-06-28 | Jun 28, 2024 | 6.62 | 1.32 |
| 2024-09-27 | Sep 27, 2024 | 6.7661 | 1.29 |
| 2024-12-23 | Dec 23, 2024 | 6.7035 | 1.23 |
| 2025-03-27 | Mar 27, 2025 | 6.9727 | 1.34 |
| 2025-06-30 | Jun 30, 2025 | 6.9339 | 1.22 |
| 2025-09-29 | Sep 29, 2025 | 7.0353 | 1.15 |
| 2025-12-22 | Dec 22, 2025 | 7.0678 | 1.12 |
| 2026-03-27 | Mar 27, 2026 | 7.1281 | 1.22 |
| 2026-06-26 | Jun 26, 2026 | 7.3456 | 1.1 |
| 2026-09-28 | Sep 28, 2026 | 7.4282 | 1.06 |
The exact SQL behind every number
SELECT
toString(r.ex_date) AS ex_date,
concat(formatDateTime(r.ex_date, '%b '),
toString(toDayOfMonth(r.ex_date)), ', ',
toString(toYear(r.ex_date))) AS as_of_label,
round(r.ttm_per_share, 4) AS ttm_per_share,
round(100 * r.ttm_per_share / p.close, 2) AS ttm_yield_pct
FROM
(
SELECT
ex_date,
sum(amount) OVER (ORDER BY ex_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) AS ttm_per_share,
count() OVER (ORDER BY ex_date ASC ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) AS quarters_counted
FROM
(
SELECT
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker = 'VOO'
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
) AS r
INNER JOIN
(
SELECT
date,
toFloat64(max(close)) AS close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'VOO'
AND date >= today() - 1500
GROUP BY date
) AS p ON p.date = r.ex_date
WHERE r.quarters_counted = 4
AND r.ex_date >= today() - 1150
ORDER BY r.ex_dateAt the start of the window, on Sep 28, 2023, the trailing twelve month total stood at $6.2278 per share and the yield at 1.58%. At the most recent ex-date, Sep 28, 2026, the total measured $7.4282 and the yield 1.06%. The two lines move differently on purpose. The dollar total tracks the cash the index companies hand over, while the yield also carries the share price in its denominator, so a climbing price alongside a flat payout prints as a falling yield. For the index-level number underneath all of this, see the S&P 500 dividend yield, and for how a dividend-screened fund compares, SCHD vs VOO on dividend yield.
The month and week pattern behind VOO's ex-dividend dates
Since the forward calendar is guesswork, the useful thing is the shape of the past. This panel counts how often each calendar month has hosted a VOO ex-date over roughly the last decade, and how early or late in the month it landed.
| ex_month | ex_dates_seen | earliest_day | latest_day | avg_day |
|---|---|---|---|---|
| March | 10 | 10 | 27 | 22.9 |
| June | 10 | 23 | 30 | 27.8 |
| September | 11 | 13 | 29 | 25.7 |
| December | 10 | 17 | 26 | 21.6 |
The exact SQL behind every number
SELECT
any(monthName(ex_date)) AS ex_month,
count() AS ex_dates_seen,
min(toDayOfMonth(ex_date)) AS earliest_day,
max(toDayOfMonth(ex_date)) AS latest_day,
round(avg(toDayOfMonth(ex_date)), 1) AS avg_day
FROM
(
SELECT ex_dividend_date AS ex_date
FROM global_markets.stocks_dividends
WHERE ticker = 'VOO'
AND ex_dividend_date >= today() - 3700
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
)
GROUP BY toMonth(ex_date)
ORDER BY toMonth(ex_date)The ex-dates sort into 4 calendar months. In the March slot, across 10 payments, the earliest ex-date fell on day 10 of the month and the latest on day 27, with an average of day 22.9. The December slot runs from day 17 to day 26. A band that wide is a planning aid and nothing firmer. Anyone publishing a full-year VOO dividend calendar is reading this same distribution and rounding to a day.
Ex-date, record date and pay date under T+1
Three dates decide who receives a distribution. The ex-date is the first session on which the shares trade without the upcoming payment attached. The record date is the day the fund's books are read to see who holds shares. The pay date is when the cash lands in the account. Under T+1 settlement, in force for US equities since May 2024, a purchase settles one business day after the trade executes. Buy VOO on the ex-date and settlement happens after the books are read, so the seller keeps that distribution. Buy during the session before the ex-date and the shares are yours of record in time.
| ex_date | ex_date_label | ex_to_record_days | ex_to_pay_days |
|---|---|---|---|
| 2020-09-29 | Sep 29, 2020 | 1 | 3 |
| 2020-12-22 | Dec 22, 2020 | 1 | 6 |
| 2021-03-26 | Mar 26, 2021 | 3 | 5 |
| 2021-06-29 | Jun 29, 2021 | 1 | 3 |
| 2021-09-29 | Sep 29, 2021 | 1 | 5 |
| 2021-12-21 | Dec 21, 2021 | 1 | 6 |
| 2022-03-24 | Mar 24, 2022 | 1 | 5 |
| 2022-06-29 | Jun 29, 2022 | 1 | 6 |
| 2022-09-28 | Sep 28, 2022 | 1 | 5 |
| 2022-12-20 | Dec 20, 2022 | 1 | 3 |
| 2023-03-24 | Mar 24, 2023 | 3 | 5 |
| 2023-06-29 | Jun 29, 2023 | 1 | 6 |
| 2023-09-28 | Sep 28, 2023 | 1 | 5 |
| 2023-12-20 | Dec 20, 2023 | 1 | 6 |
| 2024-03-22 | Mar 22, 2024 | 3 | 5 |
| 2024-06-28 | Jun 28, 2024 | 0 | 4 |
| 2024-09-27 | Sep 27, 2024 | 0 | 4 |
| 2024-12-23 | Dec 23, 2024 | 0 | 3 |
| 2025-03-27 | Mar 27, 2025 | 0 | 4 |
| 2025-06-30 | Jun 30, 2025 | 0 | 2 |
The exact SQL behind every number
SELECT
toString(ex_dividend_date) AS ex_date,
concat(formatDateTime(ex_dividend_date, '%b '),
toString(toDayOfMonth(ex_dividend_date)), ', ',
toString(toYear(ex_dividend_date))) AS ex_date_label,
dateDiff('day', ex_dividend_date, max(record_date)) AS ex_to_record_days,
dateDiff('day', ex_dividend_date, max(pay_date)) AS ex_to_pay_days
FROM global_markets.stocks_dividends
WHERE ticker = 'VOO'
AND ex_dividend_date >= today() - 2200
AND ex_dividend_date <= today()
GROUP BY ex_dividend_date
ORDER BY ex_dividend_dateOn the oldest row, Sep 29, 2020, the record date sat 1 days after the ex-date. On the most recent, Sep 28, 2026, that gap measures 0 days. In every row the record date falls on or after the ex-date, and the shorter settlement cycle coincided with the two dates converging. The pay date is the longer wait: 2 calendar days past the ex-date on the latest distribution.
Why the VOO dividend amount changes every quarter
VOO's distribution is a pass-through, not a coupon. Each quarter the fund receives whatever dividends its holdings happen to pay inside that window, subtracts its expenses, and distributes the remainder. Four things move the per-share figure around: the payout policies of the index members, the calendar timing of those payments relative to the fund's quarter end, index changes that swap one payer for another, and the fund's own expenses. No target rate exists anywhere in that chain.
| year | payments | total_per_share | smallest_quarter | largest_quarter | intra_year_spread_pct |
|---|---|---|---|---|---|
| 2015 | 4 | 3.931 | 0.902 | 1.092 | 21.1 |
| 2016 | 4 | 4.138 | 0.883 | 1.296 | 46.8 |
| 2017 | 4 | 4.3679 | 0.998 | 1.1839 | 18.6 |
| 2018 | 4 | 4.7367 | 1.0837 | 1.289 | 18.9 |
| 2019 | 4 | 5.5709 | 1.3014 | 1.4551 | 11.8 |
| 2020 | 4 | 5.3027 | 1.178 | 1.4333 | 21.7 |
| 2021 | 4 | 5.4367 | 1.2625 | 1.5329 | 21.4 |
| 2022 | 4 | 5.9467 | 1.3737 | 1.6717 | 21.7 |
| 2023 | 4 | 6.3572 | 1.4874 | 1.8011 | 21.1 |
| 2024 | 4 | 6.7035 | 1.5429 | 1.7835 | 15.6 |
| 2025 | 4 | 7.0678 | 1.74 | 1.8121 | 4.1 |
The exact SQL behind every number
SELECT
toString(toYear(ex_date)) AS year,
count() AS payments,
round(sum(amount), 4) AS total_per_share,
round(min(amount), 4) AS smallest_quarter,
round(max(amount), 4) AS largest_quarter,
round(100 * (max(amount) - min(amount)) / min(amount), 1) AS intra_year_spread_pct
FROM
(
SELECT
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS amount
FROM global_markets.stocks_dividends
WHERE ticker = 'VOO'
AND ex_dividend_date >= '2015-01-01'
AND ex_dividend_date < toStartOfYear(today())
GROUP BY ex_dividend_date
)
GROUP BY toYear(ex_date)
ORDER BY toYear(ex_date)The panel covers 11 complete calendar years. VOO made 4 distributions in 2025 totalling $7.0678 per share, against $3.931 back in 2015. Within 2025 alone, the smallest quarterly payment came to $1.74 and the largest to $1.8121, a spread of 4.1% between the two. Per-share amounts also do not travel between funds. VOO, SPY and SPLG hold the same index at very different share prices, so comparing their dollar distributions measures share price rather than income: SPY vs VOO vs SPLG walks through that difference.
Data notes
The dividend record can carry more than one row per distribution, so every panel groups by ex-date first and takes a single amount per date. Amounts are as declared in US dollars, not split adjusted. The yield panel divides the sum of the four most recent declared distributions by VOO's own closing price on that same ex-date, and it starts only once four quarters are available in the window. The annual panel stops at the last complete calendar year, so the current year never appears as an artificially small total. Declared dates arrive with the declaration itself, which is why no row on this page is dated into the future.
FAQ
Does VOO pay dividends monthly?
No. VOO distributes four times a year, on a quarterly cycle, and the ex-dates have clustered in the same four calendar months for the last decade. Funds built to pay every month are a different structure, covered in monthly dividend ETFs.
How much is VOO's dividend per share?
The most recent declared distribution was $1.8226 per share, with an ex-date of Sep 28, 2026. Over the trailing twelve months the payments add to $7.4282 per share.
What is VOO's dividend yield right now?
As of Sep 28, 2026, the trailing twelve month distribution yield measured 1.06%. That figure divides the last four declared distributions by the fund's closing price on that date, so it moves with both the payout and the share price.
If I buy VOO on the ex-dividend date, do I get the dividend?
No. A purchase made on the ex-date settles after the record books close, and that quarter's distribution stays with the seller. Owning the shares from the session before the ex-date is what puts a holder on the record. Selling on the ex-dividend date works the same way in reverse.
Why is VOO's quarterly dividend different every quarter?
The fund passes through the dividends its holdings paid during that quarter, net of expenses, with no fixed rate anywhere in the process. Payment timing inside the quarter and changes to index membership both shift the per-share figure, which is why the spread between the biggest and smallest quarter inside a single year reached 4.1% in 2025.
Every panel here carries the exact SQL beneath it, so open one to see how the number was counted. To pull the declared dates for another fund, or rebuild the trailing twelve month figure yourself, ask the question in plain English on the Strasmore terminal.