Date

Import Positions

Drop a CSV file here or click to browse
Auto-detects exports from Robinhood, E*Trade, Fidelity, Schwab, Webull, and Vanguard.
Simple CSV: Symbol, Shares, Cost, Date — use negative shares for short positions.

Visible Columns

Drag rows to reorder. Use checkboxes to show/hide.

Share Portfolio

Anyone with this link can view your positions (symbols, shares, cost basis, dates). No API keys or notes are shared.

✓ Copied

Keyboard Shortcuts

?Show this help Ctrl+ZUndo Ctrl+YRedo Ctrl+Shift+ZRedo (alt) TabMove between toolbar inputs EnterAdd position (when in toolbar) EscClose overlays
Press ? or Esc to close
✓ Saved 60 calls/min — finnhub.io
✓ Saved 200 req/min — alpaca.markets
✓ Saved 250 req/day — financialmodelingprep.com
✓ Done

Welcome to Portfolio Tracker

Getting Started

Add a ticker — Type a symbol (e.g. AAPL, BTC) into the ticker box in the toolbar and click Add.
Import positions — Click the Import button to bulk-import from a CSV file or paste data directly. Auto-detects exports from Robinhood, E*Trade, Fidelity, Schwab, Webull, and Vanguard. You can also use a simple format: Symbol, Shares, Cost, Date

API Keys (highly recommended)

For full data coverage, add one or more free API keys in Settings. Without them, many columns (market cap, P/E, EPS, dividends, etc.) will show dashes:

1. FinnHub — Sign up at finnhub.io for a free key. Provides market cap, P/E, EPS, beta, dividends, earnings dates, and performance data.
2. Alpaca — Sign up at alpaca.markets for free API keys. Provides real-time IEX quotes with bid/ask spreads and average volume.
3. FMP (optional) — Sign up at financialmodelingprep.com for an extra data source fallback.

Without API keys, basic price data is still available via Yahoo Finance. Adding a FinnHub key unlocks real-time WebSocket streaming and full fundamentals.

Tips (click to expand)
Multiple portfolios — Use the portfolio bar above the toolbar to create, switch, rename, and delete named portfolios (e.g. Long-term, Trading, Crypto). Each has its own positions, notes, and price alerts.
Customize columns — Click Columns in the toolbar to show/hide any of the 30+ data columns. On desktop, drag the column headers in the table to rearrange them; the order is saved per browser.
Price alerts — Each symbol shows a small bell 🔔 next to it. Click it to set above/below thresholds (or use the Alert fields in expanded mobile cards). Triggered rows pulse and a browser notification fires when the price crosses the threshold.
Allocation chart — Click Show Chart in the summary bar (next to Positions) to toggle a live pie chart showing percent allocation by symbol.
Drag-to-reorder positions — Grab any row in the desktop table (or the handle on a mobile card) to manually arrange positions. Clearing the sort restores manual order.
Share via URL — Click Share in the toolbar to generate a link containing your current portfolio. Recipients are prompted before any positions replace theirs.
Mobile — On phones the table becomes tap-to-expand cards with full inline editing, sortable by any field, and pull-to-refresh.
Undo / Redo — Press Ctrl+Z to undo and Ctrl+Y or Ctrl+Shift+Z to redo any change (add, remove, edit, reorder, import, clear). Up to 50 levels of history.
Made by Grant
Ready
Market Value: $0.00
Day P&L: $0.00
Total P&L: $0.00
Total P&L %: 0.00%
Positions: 0
No positions. Add a ticker above to get started.
↻ Pull to refresh
    ██████╗ ██████╗  █████╗ ███╗   ██╗████████╗
   ██╔════╝ ██╔══██╗██╔══██╗████╗  ██║╚══██╔══╝
   ██║  ███╗██████╔╝███████║██╔██╗ ██║   ██║
   ██║   ██║██╔══██╗██╔══██║██║╚██╗██║   ██║
   ╚██████╔╝██║  ██║██║  ██║██║ ╚████║   ██║
    ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝   ╚═╝

         ██╗███████╗    ███╗   ██╗██╗ ██████╗███████╗
         ██║██╔════╝    ████╗  ██║██║██╔════╝██╔════╝
         ██║███████╗    ██╔██╗ ██║██║██║     █████╗
         ██║╚════██║    ██║╚██╗██║██║██║     ██╔══╝
         ██║███████║    ██║ ╚████║██║╚██████╗███████╗
         ╚═╝╚══════╝    ╚═╝  ╚═══╝╚═╝ ╚═════╝╚══════╝

      ██╗    ██╗██╗████████╗██╗  ██╗    ██╗████████╗
      ██║    ██║██║╚══██╔══╝██║  ██║    ██║╚══██╔══╝
      ██║ █╗ ██║██║   ██║   ███████║    ██║   ██║
      ██║███╗██║██║   ██║   ██╔══██║    ██║   ██║
      ╚███╔███╔╝██║   ██║   ██║  ██║    ██║   ██║
       ╚══╝╚══╝ ╚═╝   ╚═╝   ╚═╝  ╚═╝    ╚═╝   ╚═╝
  
$ stonks only go up $