Browser-Based Calculation

Historical Stock Split Adjuster

Adjust your historical stock transactions for stock splits. Upload your trade history and split data, then export restated quantities and prices. Supply verified split dates yourself; this tool does not calculate holdings, gains, or tax liability.

Same-day transactions use post-split units. 0 transactions after the as-of date are excluded. Rows are independent transaction restatements, not current holdings. Values use the input currency; no currency conversion is performed.

Transactions
0
Symbols
0
Splits Defined
0
Adjusted
0

Stock Transactions

No transactions yet. Add manually or import CSV/JSON.

CSV format: Date, Symbol, Type, Quantity, Price

Stock Splits

No splits defined. Add splits to adjust transactions.

CSV format: Symbol, Date, Ratio (e.g., 4:1)

Adjustment As-Of Date

Splits strictly after the transaction and on or before this date apply; same-day trades are already post-split. Dates use UTC.

Split-Adjusted Transactions

0 records

No Data to Display

Add valid transactions and choose an as-of date to see results. A split is optional; absent splits leave eligible rows unchanged.

Restate Units Without Inventing a Return

A split changes the units used to describe a holding. Multiply historical quantity by the product of applicable new-share/old-share factors, and divide historical unit price by the same factor. Their product is unchanged by this arithmetic; actual market prices can still move. See the SEC’s stock split explanation.

In a synthetic example, 100 units at 40 followed by a 4:1 split become 400 units at 10, retaining a nominal transaction amount of 4,000. A later 1:2 reverse split gives 200 units at 20. This is a restatement, not a profit, broker cash balance, or tax-basis calculation.

Use Raw Transactions and Verified Events

  1. Enter original, unadjusted BUY and SELL records, or import the documented CSV/JSON structure. Positive finite quantity and price, a symbol, and a real calendar date are required.
  2. Supply each split once using its effective trading date and new:old ratio. The calculator does not fetch a corporate-action database.
  3. Select an as-of date. Trades on a split date are assumed to already use post-split units; trades later than the as-of date are excluded. If a source uses another convention, reconcile it before import.
  4. Review and export. Table values are rounded for readability; exports keep the available floating-point precision. Do not re-import the adjusted export as raw transactions or apply the same split twice.

Import Formats

CSV requires the displayed headers in order (case-insensitive). Quoted fields and escaped quotes are supported. An invalid row rejects the whole file rather than silently changing a trade type or adding zero values. Import appends records; importing a transaction file twice duplicates transactions. Duplicate split symbol/date pairs are rejected.

Synthetic transaction CSV

Date,Symbol,Type,Quantity,Price
2020-01-15,DEMO,BUY,100,40
2021-03-10,DEMO,SELL,25,12

Synthetic split CSV

Symbol,Date,Ratio
DEMO,2020-08-31,4:1
DEMO,2022-08-25,1:2

Synthetic transaction JSON

[{"date":"2020-01-15","symbol":"DEMO","type":"BUY","quantity":100,"price":40}]

What This Does Not Model

BUY and SELL rows are restated independently. No lot matching, net position, realized profit, current valuation, tax liability, dividends, fees, spin-offs, currency conversion, or broker cash-in-lieu calculation is performed. Fractional quantities are mathematical approximations; check issuer terms and broker statements for actual treatment. Files remain in this calculator’s browser memory and are lost on refresh.

Frequently Asked Questions

Which splits apply?

Only matching symbols with split date strictly after the transaction and on or before the as-of date. Same-day trades are assumed to use post-split units. Transactions after the as-of date are excluded, not adjusted backward. Verify effective dates yourself; no split feed is downloaded.

How are multiple and reverse splits handled?

Multiply new-share/old-share factors. A synthetic 4:1 followed by 1:2 gives a factor of 2: 100 units at 40 become 200 at 20. Duplicate symbol/date events are rejected so the same split is not applied twice. Confirm any genuine same-day corporate actions externally.

Does this track current holdings or tax basis?

No. It restates each BUY or SELL record independently. It does not reconcile sales against purchases, match lots, calculate gains, handle commissions, currencies, wash sales, dividends, spin-offs, or cash in lieu. Do not use the export as a tax return or broker statement.

What about fractional shares and rounding?

JavaScript floating-point arithmetic approximates fractional results. The table rounds for display; exports preserve available numeric precision. Actual broker cash-in-lieu and rounding rules are not modeled.

Where does imported data go?

This calculator reads files and computes results in browser memory; its handlers do not upload transaction files. Refreshing loses entries. The wider site may make network requests; this is not an offline or site-wide privacy guarantee.

Draft and Review Trading Logic

Pineify can help draft Pine Script indicators and strategies. Review generated code and test it in TradingView. This calculator does not connect your brokerage account or transfer transactions into Pine scripts.