A lightweight macOS menu bar app that displays real-time stock prices. Organize unlimited tickers into categories, view charts, news, earnings dates, and market data — all from your menu bar.
Your primary stock ticker lives in the macOS menu bar — always visible with color-coded price changes.
Click the menu bar item to see all your stocks. Single tickers and collapsible categories in one view.
Organize tickers into categories (Tech, Healthcare, Energy, etc.) — expand to see individual stocks, collapse to save space.
Configure display format, colors, refresh interval, analytics preferences, and manage your tickers and categories.
- Menu Bar Ticker — Shows your primary stock with live price and change directly in the macOS menu bar
- Categories — Group stocks into collapsible categories (Tech, Healthcare, Energy, etc.) with average performance
- Single Tickers — Add individual stocks outside of any category
- Color-Coded Changes — Green (▲) for gains, Red (▼) for losses, or grey monochrome mode
- Display Options — Ticker + Price, Company + Price, Price Only, with/without trend arrows and percentages
- Configurable Refresh — Update intervals from 15 seconds to 30 minutes
- Click to Open — Click any stock to open its Yahoo Finance page
- Category Icons — 15 icons to choose from (laptop, building, bolt, globe, etc.)
- Zero Dependencies — Pure Swift/SwiftUI, no external packages
- Privacy Focused — Transparent, opt-out analytics; no accounts; no personal data
-
Download the latest
Tickr.dmgfrom Releases -
Open the DMG file
-
Drag Tickr to your Applications folder
-
Clear the download quarantine flag, otherwise macOS will block it:
xattr -dr com.apple.quarantine /Applications/Tickr.app
-
Launch Tickr from Applications
Why step 4? Tickr is ad-hoc signed rather than notarized (notarization needs a paid Apple Developer account). macOS quarantines anything downloaded from the internet, and refuses to launch an ad-hoc signed app that carries the flag — usually reporting "Tickr is damaged and can't be opened". The command above removes the flag. You can inspect exactly what you're running first: the whole app is in this repo and builds from source in one command.
Tickr is a menu bar app — it deliberately has no Dock icon and no window
(LSUIElement), so a blocked or crashed launch looks identical to nothing
happening. To tell the difference:
pgrep -x Tickr && echo "running" # is it actually running?
/Applications/Tickr.app/Contents/MacOS/Tickr # run directly to see any errorIf it is running but you can't find it, your menu bar is probably full and the icon is hidden behind the notch — quit a menu bar app or two, or ⌘-drag items to reorder them.
# Clone the repository
git clone https://github.com/h4ux/Tickr.git
cd Tickr
# Set up secrets (optional — for analytics)
cp Tickr/Services/Secrets.example.swift Tickr/Services/Secrets.swift
# Edit Secrets.swift with your PostHog API key, or leave placeholder to disable analytics
# Build and create DMG
./scripts/build_dmg.shRequirements:
- macOS 13.0 (Ventura) or later
- Xcode Command Line Tools or Xcode 15.0+
- Launch — Tickr appears in your menu bar with the default ticker (AAPL)
- Click the menu bar item to see all watched stocks and categories
- Expand a category to see its stocks; click any stock to open Yahoo Finance
- Settings — Click "Settings..." to configure:
- Display format and colors for the menu bar ticker
- Add single tickers or create categories with icons
- Choose which ticker shows in the menu bar
- Adjust refresh interval
- Toggle analytics on/off with full transparency
- Quit — Click "Quit" in the dropdown
Tickr includes opt-out anonymous analytics to help improve the app. Click the (i) info button in Settings to see exactly what is tracked:
- Events: app opened, stock added/removed, category created
- Properties: country (from locale), app version, macOS version
- Not tracked: IP address, email, name, financial data, browsing
Toggle off "Help improve Tickr" in Settings to disable all tracking. See SECURITY.md for details.
Stock quotes are fetched from Yahoo Finance's public API. No API key is required. Data may be delayed up to 15 minutes depending on the exchange.
Tickr/
├── TickrApp.swift # App entry point, AppDelegate
├── Models/
│ ├── StockData.swift # Stock quote model + Yahoo Finance response
│ └── AppSettings.swift # Settings, categories, display enums
├── Services/
│ ├── StockService.swift # Yahoo Finance v8 API client
│ ├── AnalyticsService.swift # PostHog analytics (opt-out)
│ ├── Secrets.swift # API keys (git-ignored)
│ └── Secrets.example.swift # Template for Secrets.swift
└── Views/
├── StatusBarController.swift # Menu bar item + popover
├── TickerDropdownView.swift # Dropdown with categories + stock rows
└── SettingsView.swift # Settings window + analytics info
Contributions are welcome! Please read CONTRIBUTING.md for guidelines.
For security concerns, please see SECURITY.md.
This project is licensed under the MIT License — see LICENSE for details.



