Apple Stock Split History and Ratios
Apple stock split history in full: every AAPL split with its ratio, its effective date, the price it followed, and the cumulative factor behind old quotes.
Apple's stock split history contains 3 splits, the most recent a 4-for-1 split effective August 31, 2020. One share held from before the earliest of them counts as 56 shares today. That single figure is what reconciles the headline prices people remember with the prices a chart draws now, and the panel below is where it comes from.
How many times has Apple stock split?
A split multiplies the share count and divides the price by the same number on the same date. The value of a holding does not change at that moment, and neither does the size of the company. What a stock split does walks through the mechanics. Apple's own record is short enough to read in one panel.
| split_date | effective_on | ratio_label | shares_today_per_old_share |
|---|---|---|---|
| 2005-02-28 | February 28, 2005 | 2-for-1 | 56 |
| 2014-06-09 | June 9, 2014 | 7-for-1 | 28 |
| 2020-08-31 | August 31, 2020 | 4-for-1 | 4 |
The exact SQL behind every number
SELECT
toString(s.execution_date) AS split_date,
concat(monthName(s.execution_date), ' ',
toString(toDayOfMonth(s.execution_date)), ', ',
toString(toYear(s.execution_date))) AS effective_on,
concat(toString(toUInt32(any(s.split_to))), '-for-',
toString(toUInt32(any(s.split_from)))) AS ratio_label,
toUInt32(round(exp(sum(log(toFloat64(f.split_to) / toFloat64(f.split_from)))))) AS shares_today_per_old_share
FROM
(
SELECT DISTINCT execution_date, split_from, split_to
FROM global_markets.stocks_splits
WHERE ticker = 'AAPL'
) AS s
CROSS JOIN
(
SELECT DISTINCT execution_date, split_from, split_to
FROM global_markets.stocks_splits
WHERE ticker = 'AAPL'
) AS f
WHERE f.execution_date >= s.execution_date
GROUP BY s.execution_date
ORDER BY s.execution_dateThe last column carries two readings at once. One share held from just before that split counts as that many shares today, and any price printed just before that split divides by the same figure to line up with a quote you see now. Take the 7-for-1 split effective June 9, 2014. Its factor of 28 is the product of that split and every split that came after it, and a price from the week before it lines up far lower on a chart drawn today.
What has preceded an Apple stock split?
A split is a board decision. No exchange rule forces one and no price level obliges one. What the record does show is a measurable pattern in the twelve months ahead of each date. The next panel takes the closing price on the last session before each split and sets it against the close a year earlier.
| split_label | close_year_earlier | close_before_split | gain_12m_pct |
|---|---|---|---|
| Feb 2005 | 0.43 | 1.59 | 272.6 |
| Jun 2014 | 15.78 | 23.06 | 46.1 |
| Aug 2020 | 52.18 | 124.81 | 139.2 |
The exact SQL behind every number
SELECT
formatDateTime(s.split_date, '%b %Y') AS split_label,
round(argMaxIf(b.close, b.date, b.date <= s.split_date - 365), 2) AS close_year_earlier,
round(argMax(b.close, b.date), 2) AS close_before_split,
round(100 * (argMax(b.close, b.date)
/ argMaxIf(b.close, b.date, b.date <= s.split_date - 365) - 1), 1) AS gain_12m_pct
FROM
(
SELECT DISTINCT execution_date AS split_date
FROM global_markets.stocks_splits
WHERE ticker = 'AAPL'
) AS s
CROSS JOIN
(
SELECT date, toFloat64(close) AS close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
) AS b
WHERE b.date >= s.split_date - 400
AND b.date < s.split_date
GROUP BY s.split_date
HAVING countIf(b.date <= s.split_date - 365) > 0
ORDER BY s.split_dateDaily price bars, one row per trading session, reach back far enough to cover 3 of the splits in the record, and each of those followed a rising year: 272.6% into the Feb 2005 split and 139.2% into the Aug 2020 one, close to close. The level is the other half of the picture, and it needs a translation first. These bars arrive split-adjusted: the close before the Aug 2020 split reads $124.81 in the panel rather than the number that printed on the tape that afternoon. The close twelve months earlier reads $52.18 on that same basis.
Neither number is a trigger. A board can leave a high nominal price alone indefinitely, and no panel on this page can show that directly: every price here is restated on today's share count. How often stocks split sets the market-wide base rate that this one ticker sits inside.
What happens to the share price on the split date?
The split lands between two closes. The reference price for the opening on the effective date is the prior close divided by the ratio, and every holder starts that morning with a multiplied share count. This panel pins the sessions on either side of the most recent split, with the split adjustment already applied to the prices.
| session_date | printed_on | close_split_adjusted | volume_millions |
|---|---|---|---|
| 2020-08-24 | Aug 24, 2020 | 125.86 | 345.9 |
| 2020-08-25 | Aug 25, 2020 | 124.82 | 211.2 |
| 2020-08-26 | Aug 26, 2020 | 126.52 | 162.5 |
| 2020-08-27 | Aug 27, 2020 | 125.01 | 155.5 |
| 2020-08-28 | Aug 28, 2020 | 124.81 | 187.5 |
| 2020-08-31 | Aug 31, 2020 | 129.04 | 225.6 |
| 2020-09-01 | Sep 1, 2020 | 134.18 | 152.1 |
| 2020-09-02 | Sep 2, 2020 | 131.4 | 200.1 |
| 2020-09-03 | Sep 3, 2020 | 120.88 | 257.6 |
| 2020-09-04 | Sep 4, 2020 | 120.96 | 332.5 |
The exact SQL behind every number
SELECT
toString(date) AS session_date,
formatDateTime(date, '%b %e, %Y') AS printed_on,
round(toFloat64(any(close)), 2) AS close_split_adjusted,
round(toFloat64(any(volume)) / 1e6, 1) AS volume_millions
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2020-08-24'
AND date <= '2020-09-04'
GROUP BY date
ORDER BY dateRead the boundary rows together. Aug 28, 2020 was the last session on the old share count and closes at $124.81 here; Aug 31, 2020 was the first session on the new one and closes at $129.04. The price does not drop by the split ratio between those two rows. The earlier close has already been divided through, which is the whole of what an adjusted series does, and what printed on the tape that afternoon was a multiple of what the panel shows. The first panel on this page carries that multiple.
The value of a holding did not step down at that boundary either. The price divided by 4 on the tape and the share count multiplied by the same figure. The volume column runs alongside at 187.5 million shares and 225.6 million, and share counts on either side of a split are not directly comparable.
Why Apple's older price history looks wrong on a chart
Almost every chart and quote screen shows a split-adjusted series, and the daily bars behind this page are one of them. Each price before a split has already been divided by that split's ratio, which keeps the line continuous through the event. The panel below is that adjusted history, one row per calendar year.
| year | year_high | year_low | year_close |
|---|---|---|---|
| 2012 | 25.18 | 14.61 | 19.01 |
| 2013 | 20.54 | 13.75 | 20.04 |
| 2014 | 29.94 | 17.63 | 27.6 |
| 2015 | 33.64 | 23 | 26.32 |
| 2016 | 29.67 | 22.37 | 28.96 |
| 2017 | 44.3 | 28.69 | 42.31 |
| 2018 | 58.37 | 36.65 | 39.44 |
| 2019 | 73.49 | 35.5 | 73.41 |
| 2020 | 138.79 | 53.15 | 132.69 |
| 2021 | 182.13 | 116.21 | 177.57 |
| 2022 | 182.94 | 125.87 | 129.93 |
| 2023 | 199.62 | 124.17 | 192.53 |
| 2024 | 260.1 | 164.08 | 250.42 |
| 2025 | 288.62 | 169.21 | 271.86 |
| 2026 | 344.57 | 243.42 | 310.4 |
The exact SQL behind every number
SELECT
toString(toYear(date)) AS year,
round(toFloat64(max(high)), 2) AS year_high,
round(toFloat64(min(low)), 2) AS year_low,
round(toFloat64(argMax(close, date)), 2) AS year_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2012-01-01'
GROUP BY toYear(date)
ORDER BY toYear(date)The panel opens in 2012 at a high of $25.18 and a low of $14.61, both restated on today's share count rather than the one in force at the time. Multiply that high by 28, the factor covering the 7-for-1 and 4-for-1 splits that came after it, and you land back on the headline print people remember from that year. By 2015 the high reads $33.64 on the same basis, and only the 4-for-1 split of August 31, 2020 sits between that year and today, which leaves 4 as the multiplier for that row. Split-adjusted price history works the same reconciliation through in more detail.
The identical divisor runs through the payout record. A dividend declared before a split appears restated per share on an adjusted series, while the cash a holder received at the time was paid on the share count of that day. Whether a split changes your dividend covers the per-share adjustment, and Apple's dividend history carries the payment record itself.
Will Apple split its stock again?
A split exists once a board declares one, and the corporate-actions record above ends at August 31, 2020. What can be stated without guessing is the shape of the history: 3 splits in total, and for the 3 with a full year of daily bars behind them, a rising twelve months into each. The latest close in the yearly panel reads $310.4, and no split sits between that session and today, which leaves the adjusted figure and the printed one identical.
What would have to be true for another one is narrow. A board settles on a ratio and files an effective date, and the first panel on this page gains a row. Berkshire Hathaway's class A shares are the standing counterexample, never split and never adjusted. A high nominal price is a choice, not a countdown.
FAQ
How many times has Apple stock split?
3 times on the corporate-actions record. The most recent was a 4-for-1 split effective August 31, 2020, and the one before it a 7-for-1 split effective June 9, 2014.
What is Apple's cumulative stock split factor?
One share held from before the earliest split in the record counts as 56 shares today. That number is the product of every split ratio, and it doubles as the divisor between an old headline price and a split-adjusted quote for the same date.
Does an Apple stock split change what my shares are worth?
No. The share count multiplies and the price divides by the same figure on the effective date. The panel above quotes both sides of the most recent split on today's share count, $124.81 and then $129.04, and no ratio-sized step appears between them. On the tape that week the price divided by 4 while the share count multiplied by the same figure.
Why is Apple's price history lower than the prices I remember?
Charts show a split-adjusted series by default, and so do the bars on this page. The 2012 high reads $25.18 in the yearly panel, restated on today's share count, while the print at the time was 28 times that figure.
Will Apple stock split again in 2026?
Nothing on the record dates a future split, and one exists only after a board declares it. The observable history is the 3 splits in the first panel, the most recent of them effective August 31, 2020.
Every panel on this page carries the exact SQL beneath it. Open one to see how the figure was counted, or ask the same question about any other ticker on the Strasmore terminal.