A free portfolio tracker for stocks, ETFs, and crypto — no signup, and your data stays in your browser. Enter your holdings below to see cost basis, profit/loss, allocation, and dividends. New here? The Holdings tab has a quick guide to which symbols to type.
Want the full workbook? Get the Pro Tracker
A downloadable Excel & Google Sheets edition with 5-year dividend growth, the Chowder score, value metrics (Gross Profit/Assets, FCF margin, P/E, beta), a 1-year sparkline per holding, a 30-year DRIP projection, and a rebalancing planner — a private file you own and keep. See what is inside the Pro Tracker and how it compares with this free one.
The By WoozKa Portfolio Tracker is a free, no-signup tool to track your investment holdings in one place: enter your shares and average cost for any stock, ETF, or major cryptocurrency and see your market value, unrealized profit and loss, day change, dividend income, and portfolio allocation. Prices sync automatically once you connect the optional free price feed, or you can type them in yourself. Your portfolio is saved only in your own browser — we never receive it.
Which assets and symbols can I track?
You can track three kinds of holdings. US stocks and ETFs use their ticker (for example AAPL, MSFT, VOO, SPY, QQQ) and price automatically. Major cryptocurrencies use the coin symbol followed by -USD (for example BTC-USD, ETH-USD, SOL-USD) — note this can differ from what your exchange or broker shows, which might display BTCUSDT, XBT, or a regional code. Anything else — non-US stocks, mutual funds, gold, or a private holding — can be tracked by adding it with any label and typing its price in yourself. Auto price sync currently covers US-listed stocks and ETFs plus these coins: BTC, ETH, SOL, XRP, ADA, DOGE, BNB, MATIC, DOT, AVAX, LTC, and LINK (each entered as SYMBOL-USD). For any other asset, just enter a manual price and all the cost-basis, profit/loss, and allocation math still works.
How the portfolio tracker calculates your numbers
For each holding, market value is your shares multiplied by the current price, and unrealized profit or loss is that market value minus your cost basis (shares × average cost). Allocation weight is each holding’s value divided by your total portfolio value; holdings without a price are left out of the weighting so the mix isn’t distorted. Cost basis uses the average-cost method — the same math as our Stock Average Calculator — which may differ from your broker’s tax lots. Dividend income is your shares times the annual dividend per share, and yield on cost is that dividend divided by your average cost.
When the tracker’s average cost and your broker’s tax lots part ways
The paragraph above says the tracker’s average cost “may differ from your broker’s tax lots.” It is worth seeing how far, because the gap only appears on the day you sell. Take an invented example: three buys of one stock, in this order, 10 shares at $100, 10 at $150 and 10 at $80. That is 30 shares for $3,300, an average cost of $110.00, and at a price of $120 the tracker shows a gain of $300. Now sell 15 of them at $120.
| Shares treated as sold | Gain on the sale | Basis left per share | Gain still unsold |
|---|---|---|---|
| Average cost | +$150 | $110.00 | +$150 |
| Oldest first | +$50 | $103.33 | +$250 |
| Highest cost first | −$200 | $86.67 | +$500 |
| Lowest cost first | +$500 | $133.33 | −$200 |
The same sale of the same 15 shares reports anything from a $200 loss to a $500 gain, a $700 spread, depending only on which shares are treated as sold. Every row still adds up to the same $300: the choice never changes the total gain, only how much of it is realized now and how much waits in the shares you keep. The oldest-first row matters most, because the IRS says that when you cannot adequately identify the shares you sold, the ones you acquired first are treated as sold, and that apart from certain mutual fund shares you cannot use the average price per share to figure the gain [source: IRS, Publication 550 (2025), “Investment Income and Expenses”]. Average basis is available for mutual fund shares bought at different times and prices, and for shares acquired after 2011 through a dividend reinvestment plan [source: IRS, Publication 550 (2025)].
That is also what to do with the third column. After a sale, the tracker keeps showing whatever average cost you entered, so for anything other than average-basis fund shares the number that matches your records is the broker’s remaining basis per share, not the $110.00 the tracker showed before you sold. Only the average-cost row leaves it unchanged. Typing the broker’s figure into the holding’s average cost brings the tracker’s gain back in line with what your statement shows.
Method and limits, so this can be checked rather than taken on trust. The purchases and prices are invented to show the mechanics and describe no real holding. Every average-cost figure is what the site’s own Stock Average Calculator returns for these lots, before and after each sale, and separate code re-derives every figure in the table and confirms that each row sums to the same $300 before reporting. Holding periods, wash-sale rules and state tax are left out, and which methods your broker offers and how it records them are its own. This is not tax advice, and nothing here recommends a method.
Your data stays private
Everything you enter is stored only in your browser (localStorage) and is never sent to us. The optional price sync asks a lightweight proxy for anonymous ticker prices only — it never sees which tickers are yours or who you are. You can export a JSON or CSV backup at any time from the Settings tab.
Frequently asked questions
Do I need an account to use the portfolio tracker?
No. There is no sign-up and no server storing your holdings — it all stays in your browser. Export a backup if you clear your browser data or switch devices.
Are the prices real-time?
Prices are delayed and refresh about once a day on the free setup, which is what a portfolio tracker actually needs. You can always type a current price to override, and a real-time feed can be added later.
What symbol do I use for crypto or a foreign stock?
Crypto uses SYMBOL-USD (e.g. BTC-USD), which may differ from your exchange’s code. For a foreign stock, mutual fund, or anything the price feed doesn’t recognize, add it with any label and type the price manually — the tracker still calculates everything.
Can I import my portfolio from a spreadsheet?
Yes. In the Settings tab, download the CSV template, fill it in with your holdings in Excel, Numbers, or Google Sheets (columns: symbol, shares, avgCost, price, targetPct, annualDPS), save as CSV, and import it — it replaces your current holdings. You can also export your holdings back to CSV at any time.
Educational tool only — not financial advice, and not a recommendation to buy, sell, or hold any asset. Prices may be delayed or inaccurate and figures are estimates. Investing involves risk, including loss of principal.
Where to invest: brokers with fractional shares
To act on what this tool shows you, you’ll need a brokerage account. These are established brokers we use that support fractional shares — buying a slice of a share by dollar amount, which makes dollar-cost averaging and diversifying with small amounts easy:
- Charles Schwab — fractional shares of most U.S.-listed stocks and ETFs from $1, commission-free online.
- Fidelity — “Stocks by the Slice” fractional investing from $1, with strong research and low-cost index funds.
Referral disclosure: the broker links above are referral links. If you open and fund an account through them we may receive a referral reward at no cost to you; it never affects our tools or conclusions. This is educational information, not investment advice — choose the broker that best fits your needs.
Get the free Investor’s Playbook
Join the By WoozKa newsletter and get The Self-Directed Investor’s Playbook (free PDF) — evidence-based frameworks for stocks, ETFs, crypto and managing risk.